From 7e02fc890d1f9f2344997ea48c3bef5d2d3575d8 Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 16:13:42 +0100 Subject: [PATCH 01/76] added initial work --- .../cdp-cyclotron-plugins-worker.consumer.ts | 110 ++++++++++++++++++ .../cdp-cyclotron-worker.consumer.ts | 27 +++-- .../src/cdp/legacy-plugins/manager.ts | 5 + plugin-server/src/cdp/legacy-plugins/types.ts | 9 ++ .../services/hog-function-manager.service.ts | 1 + plugin-server/src/cdp/types.ts | 3 +- 6 files changed, 140 insertions(+), 15 deletions(-) create mode 100644 plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/manager.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/types.ts diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts new file mode 100644 index 0000000000000..dfb8eca718f0c --- /dev/null +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -0,0 +1,110 @@ +import { Meta, ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { DateTime } from 'luxon' + +import { PLUGINS_BY_ID } from '../legacy-plugins/manager' +import { HogFunctionInvocation, HogFunctionInvocationResult, HogFunctionTypeType } from '../types' +import { CdpCyclotronWorker } from './cdp-cyclotron-worker.consumer' + +type PluginState = { + setupPromise: Promise + meta: Meta +} + +const PLUGIN_STATE: Record = {} + +/** + * NOTE: This is a consumer to take care of legacy plugins. + */ +export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { + protected name = 'CdpCyclotronWorkerPlugins' + protected queue = 'plugins' as const + protected hogTypes: HogFunctionTypeType[] = ['destination'] + + public async processInvocations(invocations: HogFunctionInvocation[]): Promise { + return await this.runManyWithHeartbeat(invocations, (item) => this.executePluginInvocation(item)) + } + + private async executePluginInvocation(invocation: HogFunctionInvocation): Promise { + const result: HogFunctionInvocationResult = { + invocation, + finished: true, + capturedPostHogEvents: [], + logs: [], + } + + const pluginId = invocation.hogFunction.template_id?.startsWith('plugin-') + ? invocation.hogFunction.template_id + : `plugin-${invocation.hogFunction.template_id}` + + result.logs.push({ + level: 'debug', + timestamp: DateTime.now(), + message: `Executing plugin ${pluginId}`, + }) + const plugin = PLUGINS_BY_ID[pluginId] + + if (!plugin) { + result.error = new Error(`Plugin ${pluginId} not found`) + result.logs.push({ + level: 'error', + timestamp: DateTime.now(), + message: `Plugin ${pluginId} not found`, + }) + return result + } + + // Convert the invocation into the right interface for the plugin + + const inputs = invocation.globals.inputs + + const event: ProcessedPluginEvent = { + distinct_id: invocation.globals.event.distinct_id, + ip: invocation.globals.event.properties.$ip, + team_id: invocation.hogFunction.team_id, + event: invocation.globals.event.event, + properties: invocation.globals.event.properties, + timestamp: invocation.globals.event.timestamp, + $set: invocation.globals.event.properties.$set, + $set_once: invocation.globals.event.properties.$set_once, + uuid: invocation.globals.event.uuid, + person: invocation.globals.person + ? { + uuid: invocation.globals.person.id, + team_id: invocation.hogFunction.team_id, + properties: invocation.globals.person.properties, + created_at: '', // NOTE: We don't have this anymore - see if any plugin uses it... + } + : undefined, + } + + let state = PLUGIN_STATE[pluginId] + + if (!state) { + const meta: Meta = { + global: inputs, + attachments: {}, + config: {}, + jobs: {}, + metrics: {}, + cache: {} as any, + storage: {} as any, // NOTE: Figuree out what to do about storage as that is used... + geoip: {} as any, + utils: {} as any, + } + + state = PLUGIN_STATE[pluginId] = { + setupPromise: plugin.setupPlugin?.(meta) ?? Promise.resolve(), + meta, + } + } + + await state.setupPromise + + await plugin.onEvent?.(event, { + ...state.meta, + global: inputs, + }) + + return result + } +} diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts index 89e752d9cb7f3..5fd0d1981dc45 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts @@ -13,9 +13,13 @@ export class CdpCyclotronWorker extends CdpConsumerBase { protected name = 'CdpCyclotronWorker' private cyclotronWorker?: CyclotronWorker private runningWorker: Promise | undefined - protected queue: 'hog' | 'fetch' = 'hog' + protected queue: 'hog' | 'fetch' | 'plugins' = 'hog' protected hogTypes: HogFunctionTypeType[] = ['destination', 'internal_destination'] + public async processInvocations(invocations: HogFunctionInvocation[]): Promise { + return await this.runManyWithHeartbeat(invocations, (item) => this.hogExecutor.execute(item)) + } + public async processBatch(invocations: HogFunctionInvocation[]): Promise { if (!invocations.length) { return @@ -23,19 +27,7 @@ export class CdpCyclotronWorker extends CdpConsumerBase { const invocationResults = await runInstrumentedFunction({ statsKey: `cdpConsumer.handleEachBatch.executeInvocations`, - func: async () => { - // NOTE: this service will never do fetching (unless we decide we want to do it in node at some point, its only used for e2e testing) - // fetchExecutor would use rusty-hook to send a fetch request but thats no longer the case - // we are currentyl going to execute the fetch locally for testing purposes - // as nothing should ever land on the deprecated fetch queue this should be safe. - const fetchQueue = invocations.filter((item) => item.queue === 'fetch') - const fetchResults = await this.runManyWithHeartbeat(fetchQueue, (item) => - this.fetchExecutor.execute(item) - ) - const hogQueue = invocations.filter((item) => item.queue === 'hog') - const hogResults = await this.runManyWithHeartbeat(hogQueue, (item) => this.hogExecutor.execute(item)) - return [...hogResults, ...(fetchResults.filter(Boolean) as HogFunctionInvocationResult[])] - }, + func: async () => await this.processInvocations(invocations), }) await this.processInvocationResults(invocationResults) @@ -140,4 +132,11 @@ export class CdpCyclotronWorker extends CdpConsumerBase { export class CdpCyclotronWorkerFetch extends CdpCyclotronWorker { protected name = 'CdpCyclotronWorkerFetch' protected queue = 'fetch' as const + + public async processInvocations(invocations: HogFunctionInvocation[]): Promise { + // NOTE: this service will never do fetching (unless we decide we want to do it in node at some point, its only used for e2e testing) + return (await this.runManyWithHeartbeat(invocations, (item) => this.fetchExecutor.execute(item))).filter( + Boolean + ) as HogFunctionInvocationResult[] + } } diff --git a/plugin-server/src/cdp/legacy-plugins/manager.ts b/plugin-server/src/cdp/legacy-plugins/manager.ts new file mode 100644 index 0000000000000..f6de65c90608b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/manager.ts @@ -0,0 +1,5 @@ +import { customerioPlugin } from './customerio' + +export const PLUGINS_BY_ID = { + [customerioPlugin.id]: customerioPlugin, +} diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts new file mode 100644 index 0000000000000..cde9ed0529317 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -0,0 +1,9 @@ +import { Plugin } from '@posthog/plugin-scaffold' + +export type LegacyPlugin = { + id: string + name: string + description: string + onEvent: Plugin['onEvent'] + setupPlugin: Plugin['setupPlugin'] +} diff --git a/plugin-server/src/cdp/services/hog-function-manager.service.ts b/plugin-server/src/cdp/services/hog-function-manager.service.ts index 0c4a693b22f46..0c3b6d04052c1 100644 --- a/plugin-server/src/cdp/services/hog-function-manager.service.ts +++ b/plugin-server/src/cdp/services/hog-function-manager.service.ts @@ -25,6 +25,7 @@ const HOG_FUNCTION_FIELDS = [ 'bytecode', 'masking', 'type', + 'template_id', ] export class HogFunctionManagerService { diff --git a/plugin-server/src/cdp/types.ts b/plugin-server/src/cdp/types.ts index bd154a2c2d29c..1a0cd607c7a36 100644 --- a/plugin-server/src/cdp/types.ts +++ b/plugin-server/src/cdp/types.ts @@ -212,7 +212,7 @@ export type HogFunctionInvocation = { teamId: Team['id'] hogFunction: HogFunctionType priority: number - queue: 'hog' | 'fetch' + queue: 'hog' | 'fetch' | 'plugins' queueParameters?: HogFunctionInvocationQueueParameters // The current vmstate (set if the invocation is paused) vmState?: VMState @@ -305,6 +305,7 @@ export type HogFunctionType = { mappings?: HogFunctionMappingType[] | null masking?: HogFunctionMasking | null depends_on_integration_ids?: Set + template_id?: string } export type HogFunctionInputType = { From 99e5b7274cb8d1becf0ded204c578c9195624420 Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 16:50:27 +0100 Subject: [PATCH 02/76] Fix up new plugins --- ...-cyclotron-plugins-worker.consumer.test.ts | 160 ++++++++++++++++++ .../cdp-cyclotron-plugins-worker.consumer.ts | 89 ++++++---- .../src/cdp/legacy-plugins/manager.ts | 3 +- plugin-server/src/cdp/legacy-plugins/types.ts | 13 +- 4 files changed, 229 insertions(+), 36 deletions(-) create mode 100644 plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts new file mode 100644 index 0000000000000..c45d2eedc521f --- /dev/null +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts @@ -0,0 +1,160 @@ +import { DateTime } from 'luxon' + +import { + createHogExecutionGlobals, + createInvocation, + insertHogFunction as _insertHogFunction, +} from '~/tests/cdp/fixtures' +import { forSnapshot } from '~/tests/helpers/snapshots' +import { getFirstTeam, resetTestDatabase } from '~/tests/helpers/sql' + +import { Hub, Team } from '../../types' +import { closeHub, createHub } from '../../utils/db/hub' +import { PLUGINS_BY_ID } from '../legacy-plugins/manager' +import { HogFunctionInvocationGlobalsWithInputs, HogFunctionType } from '../types' +import { CdpCyclotronWorkerPlugins } from './cdp-cyclotron-plugins-worker.consumer' + +jest.mock('../../../src/utils/fetch', () => { + return { + trackedFetch: jest.fn(() => + Promise.resolve({ + status: 200, + text: () => Promise.resolve(JSON.stringify({ success: true })), + json: () => Promise.resolve({ success: true }), + }) + ), + } +}) + +const mockFetch: jest.Mock = require('../../../src/utils/fetch').trackedFetch + +jest.setTimeout(1000) + +/** + * NOTE: The internal and normal events consumers are very similar so we can test them together + */ +describe('CdpCyclotronWorkerPlugins', () => { + let processor: CdpCyclotronWorkerPlugins + let hub: Hub + let team: Team + let fn: HogFunctionType + let globals: HogFunctionInvocationGlobalsWithInputs + + const insertHogFunction = async (hogFunction: Partial) => { + const item = await _insertHogFunction(hub.postgres, team.id, { + ...hogFunction, + type: 'destination', + }) + // Trigger the reload that django would do + await processor.hogFunctionManager.reloadAllHogFunctions() + return item + } + + beforeEach(async () => { + await resetTestDatabase() + hub = await createHub() + + team = await getFirstTeam(hub) + + processor = new CdpCyclotronWorkerPlugins(hub) + await processor.start() + + mockFetch.mockClear() + + const fixedTime = DateTime.fromObject({ year: 2025, month: 1, day: 1 }, { zone: 'UTC' }) + jest.spyOn(Date, 'now').mockReturnValue(fixedTime.toMillis()) + + fn = await insertHogFunction({ + name: 'Plugin test', + template_id: 'plugin-intercom', + }) + globals = { + ...createHogExecutionGlobals({ + project: { + id: team.id, + } as any, + event: { + uuid: 'b3a1fe86-b10c-43cc-acaf-d208977608d0', + event: '$pageview', + properties: { + $current_url: 'https://posthog.com', + $lib_version: '1.0.0', + }, + } as any, + }), + inputs: { + intercomApiKey: '1234567890', + triggeringEvents: '$identify,mycustomevent', + ignoredEmailDomains: 'posthog.com,dev.posthog.com', + useEuropeanDataStorage: 'No', + }, + } + }) + + afterEach(async () => { + jest.setTimeout(10000) + await processor.stop() + await closeHub(hub) + }) + + afterAll(() => { + jest.useRealTimers() + }) + + describe('setupPlugin', () => { + it('should setup a plugin on first call', async () => { + jest.spyOn(PLUGINS_BY_ID['intercom'], 'setupPlugin') + + const results = [] + + results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + + expect(await Promise.all(results)).toMatchObject([ + { finished: true }, + { finished: true }, + { finished: true }, + ]) + + expect(PLUGINS_BY_ID['intercom'].setupPlugin).toHaveBeenCalledTimes(1) + expect(jest.mocked(PLUGINS_BY_ID['intercom'].setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` + { + "attachments": {}, + "cache": {}, + "config": {}, + "fetch": [Function], + "geoip": {}, + "global": { + "ignoredEmailDomains": "posthog.com,dev.posthog.com", + "intercomApiKey": "1234567890", + "triggeringEvents": "$identify,mycustomevent", + "useEuropeanDataStorage": "No", + }, + "jobs": {}, + "metrics": {}, + "storage": {}, + "utils": {}, + } + `) + }) + }) + + describe('onEvent', () => { + it('should call the plugin onEvent method', async () => { + jest.spyOn(PLUGINS_BY_ID['intercom'], 'onEvent') + + const results = [] + + results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + + expect(await Promise.all(results)).toMatchObject([ + { finished: true }, + { finished: true }, + { finished: true }, + ]) + }) + }) +}) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index dfb8eca718f0c..9ec7216dce02c 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -2,16 +2,16 @@ import { Meta, ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' import { PLUGINS_BY_ID } from '../legacy-plugins/manager' +import { FetchType, MetaWithFetch } from '../legacy-plugins/types' import { HogFunctionInvocation, HogFunctionInvocationResult, HogFunctionTypeType } from '../types' import { CdpCyclotronWorker } from './cdp-cyclotron-worker.consumer' type PluginState = { setupPromise: Promise + errored: boolean meta: Meta } -const PLUGIN_STATE: Record = {} - /** * NOTE: This is a consumer to take care of legacy plugins. */ @@ -20,11 +20,18 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { protected queue = 'plugins' as const protected hogTypes: HogFunctionTypeType[] = ['destination'] + private pluginState: Record = {} + public async processInvocations(invocations: HogFunctionInvocation[]): Promise { return await this.runManyWithHeartbeat(invocations, (item) => this.executePluginInvocation(item)) } - private async executePluginInvocation(invocation: HogFunctionInvocation): Promise { + public fetch(...args: Parameters) { + // TOOD: THis better + return this.fetchExecutor.fetch(...args) + } + + public async executePluginInvocation(invocation: HogFunctionInvocation): Promise { const result: HogFunctionInvocationResult = { invocation, finished: true, @@ -33,17 +40,17 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { } const pluginId = invocation.hogFunction.template_id?.startsWith('plugin-') - ? invocation.hogFunction.template_id - : `plugin-${invocation.hogFunction.template_id}` + ? invocation.hogFunction.template_id.replace('plugin-', '') + : null result.logs.push({ level: 'debug', timestamp: DateTime.now(), message: `Executing plugin ${pluginId}`, }) - const plugin = PLUGINS_BY_ID[pluginId] + const plugin = pluginId ? PLUGINS_BY_ID[pluginId] : null - if (!plugin) { + if (!plugin || !pluginId) { result.error = new Error(`Plugin ${pluginId} not found`) result.logs.push({ level: 'error', @@ -53,9 +60,43 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { return result } - // Convert the invocation into the right interface for the plugin + let state = this.pluginState[pluginId] - const inputs = invocation.globals.inputs + if (!state) { + const meta: MetaWithFetch = { + global: invocation.globals.inputs, + attachments: {}, + config: {}, + jobs: {}, + metrics: {}, + cache: {} as any, + storage: {} as any, // NOTE: Figuree out what to do about storage as that is used... + geoip: {} as any, + utils: {} as any, + fetch: this.fetch, + } + + state = this.pluginState[pluginId] = { + setupPromise: plugin.setupPlugin?.(meta) ?? Promise.resolve(), + meta, + errored: false, + } + } + + try { + await state.setupPromise + } catch (e) { + state.errored = true + result.error = e + result.logs.push({ + level: 'error', + timestamp: DateTime.now(), + message: `Plugin ${pluginId} setup failed`, + }) + return result + } + + // Convert the invocation into the right interface for the plugin const event: ProcessedPluginEvent = { distinct_id: invocation.globals.event.distinct_id, @@ -77,32 +118,12 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { : undefined, } - let state = PLUGIN_STATE[pluginId] - - if (!state) { - const meta: Meta = { - global: inputs, - attachments: {}, - config: {}, - jobs: {}, - metrics: {}, - cache: {} as any, - storage: {} as any, // NOTE: Figuree out what to do about storage as that is used... - geoip: {} as any, - utils: {} as any, - } - - state = PLUGIN_STATE[pluginId] = { - setupPromise: plugin.setupPlugin?.(meta) ?? Promise.resolve(), - meta, - } - } - - await state.setupPromise + await plugin.onEvent?.(event, state.meta) - await plugin.onEvent?.(event, { - ...state.meta, - global: inputs, + result.logs.push({ + level: 'debug', + timestamp: DateTime.now(), + message: `Plugin ${pluginId} execution successful`, }) return result diff --git a/plugin-server/src/cdp/legacy-plugins/manager.ts b/plugin-server/src/cdp/legacy-plugins/manager.ts index f6de65c90608b..45861c579c4ff 100644 --- a/plugin-server/src/cdp/legacy-plugins/manager.ts +++ b/plugin-server/src/cdp/legacy-plugins/manager.ts @@ -1,5 +1,6 @@ import { customerioPlugin } from './customerio' - +import { intercomPlugin } from './intercom' export const PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, + [intercomPlugin.id]: intercomPlugin, } diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts index cde9ed0529317..739079116e8b6 100644 --- a/plugin-server/src/cdp/legacy-plugins/types.ts +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -1,4 +1,5 @@ -import { Plugin } from '@posthog/plugin-scaffold' +import { Meta, Plugin } from '@posthog/plugin-scaffold' +import fetch from 'node-fetch' export type LegacyPlugin = { id: string @@ -7,3 +8,13 @@ export type LegacyPlugin = { onEvent: Plugin['onEvent'] setupPlugin: Plugin['setupPlugin'] } + +export type FetchType = typeof fetch + +export type MetaWithFetch = Meta & { + fetch: FetchType +} + +export type PluginWithFetch = Plugin & { + fetch: FetchType +} From 52792bf16ec7c5901c80b54fcb3d9755a2579772 Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 17:51:14 +0100 Subject: [PATCH 03/76] Fixes --- ...-cyclotron-plugins-worker.consumer.test.ts | 50 ++++++++++++++----- .../cdp-cyclotron-plugins-worker.consumer.ts | 10 ++-- .../legacy-plugins/{manager.ts => index.ts} | 1 + 3 files changed, 45 insertions(+), 16 deletions(-) rename plugin-server/src/cdp/legacy-plugins/{manager.ts => index.ts} (99%) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts index c45d2eedc521f..08685c32a3ea0 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts @@ -5,12 +5,11 @@ import { createInvocation, insertHogFunction as _insertHogFunction, } from '~/tests/cdp/fixtures' -import { forSnapshot } from '~/tests/helpers/snapshots' import { getFirstTeam, resetTestDatabase } from '~/tests/helpers/sql' import { Hub, Team } from '../../types' import { closeHub, createHub } from '../../utils/db/hub' -import { PLUGINS_BY_ID } from '../legacy-plugins/manager' +import { PLUGINS_BY_ID } from '../legacy-plugins' import { HogFunctionInvocationGlobalsWithInputs, HogFunctionType } from '../types' import { CdpCyclotronWorkerPlugins } from './cdp-cyclotron-plugins-worker.consumer' @@ -57,6 +56,7 @@ describe('CdpCyclotronWorkerPlugins', () => { team = await getFirstTeam(hub) processor = new CdpCyclotronWorkerPlugins(hub) + await processor.start() mockFetch.mockClear() @@ -79,13 +79,16 @@ describe('CdpCyclotronWorkerPlugins', () => { properties: { $current_url: 'https://posthog.com', $lib_version: '1.0.0', + $set: { + email: 'test@posthog.com', + }, }, } as any, }), inputs: { intercomApiKey: '1234567890', triggeringEvents: '$identify,mycustomevent', - ignoredEmailDomains: 'posthog.com,dev.posthog.com', + ignoredEmailDomains: 'dev.posthog.com', useEuropeanDataStorage: 'No', }, } @@ -144,17 +147,40 @@ describe('CdpCyclotronWorkerPlugins', () => { it('should call the plugin onEvent method', async () => { jest.spyOn(PLUGINS_BY_ID['intercom'], 'onEvent') - const results = [] + const invocation = createInvocation(fn, globals) + invocation.globals.event.event = 'mycustomevent' + invocation.globals.event.properties = { + email: 'test@posthog.com', + } + await processor.executePluginInvocation(invocation) - results.push(processor.executePluginInvocation(createInvocation(fn, globals))) - results.push(processor.executePluginInvocation(createInvocation(fn, globals))) - results.push(processor.executePluginInvocation(createInvocation(fn, globals))) + expect(PLUGINS_BY_ID['intercom'].onEvent).toHaveBeenCalledTimes(1) + expect(jest.mocked(PLUGINS_BY_ID['intercom'].onEvent!).mock.calls[0][0]).toMatchInlineSnapshot(` + { + "$set": undefined, + "$set_once": undefined, + "distinct_id": "distinct_id", + "event": "mycustomevent", + "ip": undefined, + "person": { + "created_at": "", + "properties": { + "email": "test@posthog.com", + "first_name": "Pumpkin", + }, + "team_id": 2, + "uuid": "uuid", + }, + "properties": { + "email": "test@posthog.com", + }, + "team_id": 2, + "timestamp": "2025-01-23T15:59:22.483Z", + "uuid": "b3a1fe86-b10c-43cc-acaf-d208977608d0", + } + `) - expect(await Promise.all(results)).toMatchObject([ - { finished: true }, - { finished: true }, - { finished: true }, - ]) + expect(mockFetch).toHaveBeenCalledTimes(1) }) }) }) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 9ec7216dce02c..c9d3af0a695f1 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -1,7 +1,9 @@ import { Meta, ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' -import { PLUGINS_BY_ID } from '../legacy-plugins/manager' +import { trackedFetch } from '~/src/utils/fetch' + +import { PLUGINS_BY_ID } from '../legacy-plugins' import { FetchType, MetaWithFetch } from '../legacy-plugins/types' import { HogFunctionInvocation, HogFunctionInvocationResult, HogFunctionTypeType } from '../types' import { CdpCyclotronWorker } from './cdp-cyclotron-worker.consumer' @@ -28,7 +30,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { public fetch(...args: Parameters) { // TOOD: THis better - return this.fetchExecutor.fetch(...args) + return trackedFetch(...args) } public async executePluginInvocation(invocation: HogFunctionInvocation): Promise { @@ -64,9 +66,9 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { if (!state) { const meta: MetaWithFetch = { - global: invocation.globals.inputs, + config: invocation.globals.inputs, attachments: {}, - config: {}, + globalwu: {}, jobs: {}, metrics: {}, cache: {} as any, diff --git a/plugin-server/src/cdp/legacy-plugins/manager.ts b/plugin-server/src/cdp/legacy-plugins/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/manager.ts rename to plugin-server/src/cdp/legacy-plugins/index.ts index 45861c579c4ff..f15927da6081b 100644 --- a/plugin-server/src/cdp/legacy-plugins/manager.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -1,5 +1,6 @@ import { customerioPlugin } from './customerio' import { intercomPlugin } from './intercom' + export const PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, [intercomPlugin.id]: intercomPlugin, From dfb9e0ddab900afab23922bf660f7e1a772e672f Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 17:56:03 +0100 Subject: [PATCH 04/76] Fixes --- ...-cyclotron-plugins-worker.consumer.test.ts | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts index 08685c32a3ea0..da5a95800a254 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts @@ -5,6 +5,7 @@ import { createInvocation, insertHogFunction as _insertHogFunction, } from '~/tests/cdp/fixtures' +import { forSnapshot } from '~/tests/helpers/snapshots' import { getFirstTeam, resetTestDatabase } from '~/tests/helpers/sql' import { Hub, Team } from '../../types' @@ -83,6 +84,7 @@ describe('CdpCyclotronWorkerPlugins', () => { email: 'test@posthog.com', }, }, + timestamp: fixedTime.toISO(), } as any, }), inputs: { @@ -152,16 +154,20 @@ describe('CdpCyclotronWorkerPlugins', () => { invocation.globals.event.properties = { email: 'test@posthog.com', } + + mockFetch.mockResolvedValue({ + status: 200, + json: () => Promise.resolve({ total_count: 1 }), + }) + await processor.executePluginInvocation(invocation) expect(PLUGINS_BY_ID['intercom'].onEvent).toHaveBeenCalledTimes(1) - expect(jest.mocked(PLUGINS_BY_ID['intercom'].onEvent!).mock.calls[0][0]).toMatchInlineSnapshot(` + expect(forSnapshot(jest.mocked(PLUGINS_BY_ID['intercom'].onEvent!).mock.calls[0][0])) + .toMatchInlineSnapshot(` { - "$set": undefined, - "$set_once": undefined, "distinct_id": "distinct_id", "event": "mycustomevent", - "ip": undefined, "person": { "created_at": "", "properties": { @@ -175,12 +181,40 @@ describe('CdpCyclotronWorkerPlugins', () => { "email": "test@posthog.com", }, "team_id": 2, - "timestamp": "2025-01-23T15:59:22.483Z", - "uuid": "b3a1fe86-b10c-43cc-acaf-d208977608d0", + "timestamp": "2025-01-01T00:00:00.000Z", + "uuid": "", } `) - expect(mockFetch).toHaveBeenCalledTimes(1) + expect(mockFetch).toHaveBeenCalledTimes(2) + expect(forSnapshot(mockFetch.mock.calls[0])).toMatchInlineSnapshot(` + [ + "https://api.intercom.io/contacts/search", + { + "body": "{"query":{"field":"email","operator":"=","value":"test@posthog.com"}}", + "headers": { + "Accept": "application/json", + "Authorization": "Bearer 1234567890", + "Content-Type": "application/json", + }, + "method": "POST", + }, + ] + `) + expect(forSnapshot(mockFetch.mock.calls[1])).toMatchInlineSnapshot(` + [ + "https://api.intercom.io/events", + { + "body": "{"event_name":"mycustomevent","created_at":null,"email":"test@posthog.com","id":"distinct_id"}", + "headers": { + "Accept": "application/json", + "Authorization": "Bearer 1234567890", + "Content-Type": "application/json", + }, + "method": "POST", + }, + ] + `) }) }) }) From 6c2575adca1b40cb1221c5ae2f885bdfa18d07f6 Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 17:59:40 +0100 Subject: [PATCH 05/76] Fixes --- ...-cyclotron-plugins-worker.consumer.test.ts | 42 ++++++++++++++++--- .../cdp-cyclotron-plugins-worker.consumer.ts | 27 ++++++++---- 2 files changed, 56 insertions(+), 13 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts index da5a95800a254..8cff66d917e7a 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts @@ -127,15 +127,15 @@ describe('CdpCyclotronWorkerPlugins', () => { { "attachments": {}, "cache": {}, - "config": {}, - "fetch": [Function], - "geoip": {}, - "global": { - "ignoredEmailDomains": "posthog.com,dev.posthog.com", + "config": { + "ignoredEmailDomains": "dev.posthog.com", "intercomApiKey": "1234567890", "triggeringEvents": "$identify,mycustomevent", "useEuropeanDataStorage": "No", }, + "fetch": [Function], + "geoip": {}, + "globalwu": {}, "jobs": {}, "metrics": {}, "storage": {}, @@ -216,5 +216,37 @@ describe('CdpCyclotronWorkerPlugins', () => { ] `) }) + + it('should handle and collect errors', async () => { + jest.spyOn(PLUGINS_BY_ID['intercom'], 'onEvent') + + const invocation = createInvocation(fn, globals) + invocation.globals.event.event = 'mycustomevent' + invocation.globals.event.properties = { + email: 'test@posthog.com', + } + + mockFetch.mockRejectedValue(new Error('Test error')) + + const res = await processor.executePluginInvocation(invocation) + + expect(PLUGINS_BY_ID['intercom'].onEvent).toHaveBeenCalledTimes(1) + + expect(res.error).toBeInstanceOf(Error) + expect(forSnapshot(res.logs)).toMatchInlineSnapshot(` + [ + { + "level": "debug", + "message": "Executing plugin intercom", + "timestamp": "2025-01-01T01:00:00.000+01:00", + }, + { + "level": "error", + "message": "Plugin intercom execution failed", + "timestamp": "2025-01-01T01:00:00.000+01:00", + }, + ] + `) + }) }) }) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index c9d3af0a695f1..fa8c18a43c5e0 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -1,4 +1,4 @@ -import { Meta, ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { Meta, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' import { trackedFetch } from '~/src/utils/fetch' @@ -120,13 +120,24 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { : undefined, } - await plugin.onEvent?.(event, state.meta) - - result.logs.push({ - level: 'debug', - timestamp: DateTime.now(), - message: `Plugin ${pluginId} execution successful`, - }) + try { + await plugin.onEvent?.(event, state.meta) + result.logs.push({ + level: 'debug', + timestamp: DateTime.now(), + message: `Plugin ${pluginId} execution successful`, + }) + } catch (e) { + if (e instanceof RetryError) { + // NOTE: Schedule as a retry to cyclotron? + } + result.error = e + result.logs.push({ + level: 'error', + timestamp: DateTime.now(), + message: `Plugin ${pluginId} execution failed`, + }) + } return result } From f7db6e5883c846e87dccbde7209aede8064c4f59 Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 18:00:06 +0100 Subject: [PATCH 06/76] Fix --- .../cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts | 2 +- .../src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts index 8cff66d917e7a..d74f12d73705c 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts @@ -135,7 +135,7 @@ describe('CdpCyclotronWorkerPlugins', () => { }, "fetch": [Function], "geoip": {}, - "globalwu": {}, + "global": {}, "jobs": {}, "metrics": {}, "storage": {}, diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index fa8c18a43c5e0..e202d9e2bea30 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -68,7 +68,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { const meta: MetaWithFetch = { config: invocation.globals.inputs, attachments: {}, - globalwu: {}, + global: {}, jobs: {}, metrics: {}, cache: {} as any, From 835d8fb3b77bad0a1b1b01c6a4ae45ff5af988e3 Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 18:04:54 +0100 Subject: [PATCH 07/76] Fixes --- .../cdp-processed-events.consumer.ts | 2 +- plugin-server/tests/cdp/cdp-e2e.test.ts | 114 ++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) diff --git a/plugin-server/src/cdp/consumers/cdp-processed-events.consumer.ts b/plugin-server/src/cdp/consumers/cdp-processed-events.consumer.ts index 52b6e558c41e6..67b434c9979b2 100644 --- a/plugin-server/src/cdp/consumers/cdp-processed-events.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-processed-events.consumer.ts @@ -41,7 +41,7 @@ export class CdpProcessedEventsConsumer extends CdpConsumerBase { return { teamId: item.globals.project.id, functionId: item.hogFunction.id, - queueName: 'hog', + queueName: item.hogFunction.template_id?.startsWith('plugin-') ? 'plugin' : 'hog', priority: item.priority, vmState: serializeHogFunctionInvocation(item), } diff --git a/plugin-server/tests/cdp/cdp-e2e.test.ts b/plugin-server/tests/cdp/cdp-e2e.test.ts index cce755643caa9..50db3eb85f189 100644 --- a/plugin-server/tests/cdp/cdp-e2e.test.ts +++ b/plugin-server/tests/cdp/cdp-e2e.test.ts @@ -3,6 +3,7 @@ import { getProducedKafkaMessages, getProducedKafkaMessagesForTopic } from '../h import { CdpCyclotronWorker, CdpCyclotronWorkerFetch } from '../../src/cdp/consumers/cdp-cyclotron-worker.consumer' import { CdpProcessedEventsConsumer } from '../../src/cdp/consumers/cdp-processed-events.consumer' +import { CdpCyclotronWorkerPlugins } from '../../src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer' import { HogFunctionInvocationGlobals, HogFunctionType } from '../../src/cdp/types' import { KAFKA_APP_METRICS_2, KAFKA_LOG_ENTRIES } from '../../src/config/kafka-topics' import { Hub, Team } from '../../src/types' @@ -34,6 +35,8 @@ describe('CDP Consumer loop', () => { let processedEventsConsumer: CdpProcessedEventsConsumer let cyclotronWorker: CdpCyclotronWorker | undefined let cyclotronFetchWorker: CdpCyclotronWorkerFetch | undefined + let cdpCyclotronWorkerPlugins: CdpCyclotronWorkerPlugins | undefined + let hub: Hub let team: Team let fnFetchNoFilters: HogFunctionType @@ -62,6 +65,8 @@ describe('CDP Consumer loop', () => { cyclotronWorker = new CdpCyclotronWorker(hub) await cyclotronWorker.start() + cdpCyclotronWorkerPlugins = new CdpCyclotronWorkerPlugins(hub) + await cdpCyclotronWorkerPlugins.start() cyclotronFetchWorker = new CdpCyclotronWorkerFetch(hub) await cyclotronFetchWorker.start() @@ -88,6 +93,7 @@ describe('CDP Consumer loop', () => { processedEventsConsumer?.stop().then(() => console.log('Stopped processedEventsConsumer')), cyclotronWorker?.stop().then(() => console.log('Stopped cyclotronWorker')), cyclotronFetchWorker?.stop().then(() => console.log('Stopped cyclotronFetchWorker')), + cdpCyclotronWorkerPlugins?.stop().then(() => console.log('Stopped cdpCyclotronWorkerPlugins')), ] await Promise.all(stoppers) @@ -210,5 +216,113 @@ describe('CDP Consumer loop', () => { }, ]) }) + + it('should invoke a legacy plugin in the worker loop until completed', async () => { + const invocations = await processedEventsConsumer.processBatch([globals]) + expect(invocations).toHaveLength(1) + + await waitForExpect(() => { + expect(getProducedKafkaMessages()).toHaveLength(7) + }, 5000) + + expect(mockFetch).toHaveBeenCalledTimes(1) + + expect(mockFetch.mock.calls[0]).toMatchInlineSnapshot(` + [ + "https://example.com/posthog-webhook", + { + "body": "{"event":{"uuid":"b3a1fe86-b10c-43cc-acaf-d208977608d0","event":"$pageview","elements_chain":"","distinct_id":"distinct_id","url":"http://localhost:8000/events/1","properties":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"},"timestamp":"2024-09-03T09:00:00Z"},"groups":{},"nested":{"foo":"http://localhost:8000/events/1"},"person":{"id":"uuid","name":"test","url":"http://localhost:8000/persons/1","properties":{"email":"test@posthog.com","first_name":"Pumpkin"}},"event_url":"http://localhost:8000/events/1-test"}", + "headers": { + "version": "v=1.0.0", + }, + "method": "POST", + "timeout": 10000, + }, + ] + `) + + const logMessages = getProducedKafkaMessagesForTopic(KAFKA_LOG_ENTRIES) + const metricsMessages = getProducedKafkaMessagesForTopic(KAFKA_APP_METRICS_2) + + expect(metricsMessages).toMatchObject([ + { + topic: 'clickhouse_app_metrics2_test', + value: { + app_source: 'hog_function', + app_source_id: fnFetchNoFilters.id.toString(), + count: 1, + metric_kind: 'other', + metric_name: 'fetch', + team_id: 2, + }, + }, + { + topic: 'clickhouse_app_metrics2_test', + value: { + app_source: 'hog_function', + app_source_id: fnFetchNoFilters.id.toString(), + count: 1, + metric_kind: 'success', + metric_name: 'succeeded', + team_id: 2, + }, + }, + ]) + + expect(logMessages).toMatchObject([ + { + topic: 'log_entries_test', + value: { + level: 'debug', + log_source: 'hog_function', + log_source_id: fnFetchNoFilters.id.toString(), + message: 'Executing function', + team_id: 2, + }, + }, + { + topic: 'log_entries_test', + value: { + level: 'debug', + log_source: 'hog_function', + log_source_id: fnFetchNoFilters.id.toString(), + message: expect.stringContaining( + "Suspending function due to async function call 'fetch'. Payload:" + ), + team_id: 2, + }, + }, + { + topic: 'log_entries_test', + value: { + level: 'debug', + log_source: 'hog_function', + log_source_id: fnFetchNoFilters.id.toString(), + message: 'Resuming function', + team_id: 2, + }, + }, + { + topic: 'log_entries_test', + value: { + level: 'info', + log_source: 'hog_function', + log_source_id: fnFetchNoFilters.id.toString(), + message: `Fetch response:, {"status":200,"body":{"success":true}}`, + team_id: 2, + }, + }, + { + topic: 'log_entries_test', + value: { + level: 'debug', + log_source: 'hog_function', + log_source_id: fnFetchNoFilters.id.toString(), + message: expect.stringContaining('Function completed in'), + team_id: 2, + }, + }, + ]) + }) }) }) From dcc8b2fc1faa1b9bde7e6d0a1e3f76e2c84fea7f Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 22:21:50 +0100 Subject: [PATCH 08/76] Fixes --- .../consumers/cdp-cyclotron-plugins-worker.consumer.test.ts | 6 +++--- .../cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts | 2 +- plugin-server/src/utils/fetch.ts | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts index d74f12d73705c..ebb5fca6c9a9a 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts @@ -108,7 +108,7 @@ describe('CdpCyclotronWorkerPlugins', () => { describe('setupPlugin', () => { it('should setup a plugin on first call', async () => { - jest.spyOn(PLUGINS_BY_ID['intercom'], 'setupPlugin') + jest.spyOn(PLUGINS_BY_ID['intercom'] as any, 'setupPlugin') const results = [] @@ -147,7 +147,7 @@ describe('CdpCyclotronWorkerPlugins', () => { describe('onEvent', () => { it('should call the plugin onEvent method', async () => { - jest.spyOn(PLUGINS_BY_ID['intercom'], 'onEvent') + jest.spyOn(PLUGINS_BY_ID['intercom'] as any, 'onEvent') const invocation = createInvocation(fn, globals) invocation.globals.event.event = 'mycustomevent' @@ -218,7 +218,7 @@ describe('CdpCyclotronWorkerPlugins', () => { }) it('should handle and collect errors', async () => { - jest.spyOn(PLUGINS_BY_ID['intercom'], 'onEvent') + jest.spyOn(PLUGINS_BY_ID['intercom'] as any, 'onEvent') const invocation = createInvocation(fn, globals) invocation.globals.event.event = 'mycustomevent' diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index e202d9e2bea30..6e5626ed408ef 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -75,7 +75,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { storage: {} as any, // NOTE: Figuree out what to do about storage as that is used... geoip: {} as any, utils: {} as any, - fetch: this.fetch, + fetch: this.fetch as any, } state = this.pluginState[pluginId] = { diff --git a/plugin-server/src/utils/fetch.ts b/plugin-server/src/utils/fetch.ts index 96358d8ec2864..0fcd39cd20dc1 100644 --- a/plugin-server/src/utils/fetch.ts +++ b/plugin-server/src/utils/fetch.ts @@ -9,6 +9,8 @@ import net from 'node:net' import fetch, { type RequestInfo, type RequestInit, type Response, FetchError, Request } from 'node-fetch' import { URL } from 'url' +export type { Response } + import { runInSpan } from '../sentry' import { isProdEnv } from './env-utils' From 18ef79b43b6134b4ea3e717d3f55ad957995fc8a Mon Sep 17 00:00:00 2001 From: Ben White Date: Thu, 23 Jan 2025 22:25:43 +0100 Subject: [PATCH 09/76] Fix --- ...rker.consumer.test.ts => cdp-cyclotron-plugins-worker.test.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename plugin-server/src/cdp/consumers/{cdp-cyclotron-plugins-worker.consumer.test.ts => cdp-cyclotron-plugins-worker.test.ts} (100%) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts similarity index 100% rename from plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.test.ts rename to plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts From 9317b33fd4a1efe59df4850ab29b0328f63e3ee6 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 09:22:07 +0100 Subject: [PATCH 10/76] Fixes --- .../cdp-cyclotron-plugins-worker.consumer.ts | 16 ++++++---------- .../consumers/cdp-cyclotron-worker.consumer.ts | 2 +- plugin-server/src/cdp/legacy-plugins/types.ts | 13 +------------ 3 files changed, 8 insertions(+), 23 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 6e5626ed408ef..82c22c9da616c 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -1,10 +1,7 @@ import { Meta, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' -import { trackedFetch } from '~/src/utils/fetch' - import { PLUGINS_BY_ID } from '../legacy-plugins' -import { FetchType, MetaWithFetch } from '../legacy-plugins/types' import { HogFunctionInvocation, HogFunctionInvocationResult, HogFunctionTypeType } from '../types' import { CdpCyclotronWorker } from './cdp-cyclotron-worker.consumer' @@ -25,12 +22,12 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { private pluginState: Record = {} public async processInvocations(invocations: HogFunctionInvocation[]): Promise { - return await this.runManyWithHeartbeat(invocations, (item) => this.executePluginInvocation(item)) - } + const results = await this.runManyWithHeartbeat(invocations, (item) => this.executePluginInvocation(item)) + + await this.processInvocationResults(results) + await this.updateJobs(results) - public fetch(...args: Parameters) { - // TOOD: THis better - return trackedFetch(...args) + return results } public async executePluginInvocation(invocation: HogFunctionInvocation): Promise { @@ -65,7 +62,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { let state = this.pluginState[pluginId] if (!state) { - const meta: MetaWithFetch = { + const meta: Meta = { config: invocation.globals.inputs, attachments: {}, global: {}, @@ -75,7 +72,6 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { storage: {} as any, // NOTE: Figuree out what to do about storage as that is used... geoip: {} as any, utils: {} as any, - fetch: this.fetch as any, } state = this.pluginState[pluginId] = { diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts index 5fd0d1981dc45..1d96123162969 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts @@ -35,7 +35,7 @@ export class CdpCyclotronWorker extends CdpConsumerBase { await this.produceQueuedMessages() } - private async updateJobs(invocations: HogFunctionInvocationResult[]) { + protected async updateJobs(invocations: HogFunctionInvocationResult[]) { await Promise.all( invocations.map((item) => { if (item.invocation.queue === 'fetch') { diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts index 739079116e8b6..cde9ed0529317 100644 --- a/plugin-server/src/cdp/legacy-plugins/types.ts +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -1,5 +1,4 @@ -import { Meta, Plugin } from '@posthog/plugin-scaffold' -import fetch from 'node-fetch' +import { Plugin } from '@posthog/plugin-scaffold' export type LegacyPlugin = { id: string @@ -8,13 +7,3 @@ export type LegacyPlugin = { onEvent: Plugin['onEvent'] setupPlugin: Plugin['setupPlugin'] } - -export type FetchType = typeof fetch - -export type MetaWithFetch = Meta & { - fetch: FetchType -} - -export type PluginWithFetch = Plugin & { - fetch: FetchType -} From e47eb3c8c837152f88cd367d4be53fc9d6163708 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 09:23:42 +0100 Subject: [PATCH 11/76] Fix --- .../src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index ebb5fca6c9a9a..05bf5cadb4b4b 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -133,7 +133,6 @@ describe('CdpCyclotronWorkerPlugins', () => { "triggeringEvents": "$identify,mycustomevent", "useEuropeanDataStorage": "No", }, - "fetch": [Function], "geoip": {}, "global": {}, "jobs": {}, From 365c1b898f1120eeb55967e5720a00ace0b92625 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 09:55:33 +0100 Subject: [PATCH 12/76] Added check for metrics production --- .../cdp-cyclotron-plugins-worker.test.ts.snap | 45 +++++++++++++++ .../cdp-cyclotron-plugins-worker.consumer.ts | 1 + .../cdp-cyclotron-plugins-worker.test.ts | 56 ++++++++++--------- 3 files changed, 77 insertions(+), 25 deletions(-) create mode 100644 plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap diff --git a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap new file mode 100644 index 0000000000000..d509f563624b2 --- /dev/null +++ b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap @@ -0,0 +1,45 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CdpCyclotronWorkerPlugins onEvent should handle and collect errors 3`] = ` +[ + { + "key": "", + "topic": "clickhouse_app_metrics2_test", + "value": { + "app_source": "hog_function", + "app_source_id": "", + "count": 1, + "metric_kind": "failure", + "metric_name": "failed", + "team_id": 2, + "timestamp": "2025-01-01 00:00:00.000", + }, + }, + { + "key": "", + "topic": "log_entries_test", + "value": { + "instance_id": "", + "level": "debug", + "log_source": "hog_function", + "log_source_id": "", + "message": "Executing plugin intercom", + "team_id": 2, + "timestamp": "2025-01-01 00:00:00.000", + }, + }, + { + "key": "", + "topic": "log_entries_test", + "value": { + "instance_id": "", + "level": "error", + "log_source": "hog_function", + "log_source_id": "", + "message": "Plugin intercom execution failed", + "team_id": 2, + "timestamp": "2025-01-01 00:00:00.001", + }, + }, +] +`; diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 82c22c9da616c..14f39d509181b 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -26,6 +26,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { await this.processInvocationResults(results) await this.updateJobs(results) + await this.produceQueuedMessages() return results } diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index 05bf5cadb4b4b..1a2e040c7a6cd 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -5,6 +5,7 @@ import { createInvocation, insertHogFunction as _insertHogFunction, } from '~/tests/cdp/fixtures' +import { getProducedKafkaMessages } from '~/tests/helpers/mocks/producer.mock' import { forSnapshot } from '~/tests/helpers/snapshots' import { getFirstTeam, resetTestDatabase } from '~/tests/helpers/sql' @@ -55,11 +56,13 @@ describe('CdpCyclotronWorkerPlugins', () => { hub = await createHub() team = await getFirstTeam(hub) - processor = new CdpCyclotronWorkerPlugins(hub) await processor.start() + jest.spyOn(processor['cyclotronWorker']!, 'updateJob').mockImplementation(() => {}) + jest.spyOn(processor['cyclotronWorker']!, 'releaseJob').mockImplementation(() => Promise.resolve()) + mockFetch.mockClear() const fixedTime = DateTime.fromObject({ year: 2025, month: 1, day: 1 }, { zone: 'UTC' }) @@ -110,18 +113,14 @@ describe('CdpCyclotronWorkerPlugins', () => { it('should setup a plugin on first call', async () => { jest.spyOn(PLUGINS_BY_ID['intercom'] as any, 'setupPlugin') - const results = [] - - results.push(processor.executePluginInvocation(createInvocation(fn, globals))) - results.push(processor.executePluginInvocation(createInvocation(fn, globals))) - results.push(processor.executePluginInvocation(createInvocation(fn, globals))) - - expect(await Promise.all(results)).toMatchObject([ - { finished: true }, - { finished: true }, - { finished: true }, + const results = processor.processInvocations([ + createInvocation(fn, globals), + createInvocation(fn, globals), + createInvocation(fn, globals), ]) + expect(await results).toMatchObject([{ finished: true }, { finished: true }, { finished: true }]) + expect(PLUGINS_BY_ID['intercom'].setupPlugin).toHaveBeenCalledTimes(1) expect(jest.mocked(PLUGINS_BY_ID['intercom'].setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` { @@ -159,7 +158,7 @@ describe('CdpCyclotronWorkerPlugins', () => { json: () => Promise.resolve({ total_count: 1 }), }) - await processor.executePluginInvocation(invocation) + await processor.processInvocations([invocation]) expect(PLUGINS_BY_ID['intercom'].onEvent).toHaveBeenCalledTimes(1) expect(forSnapshot(jest.mocked(PLUGINS_BY_ID['intercom'].onEvent!).mock.calls[0][0])) @@ -214,6 +213,15 @@ describe('CdpCyclotronWorkerPlugins', () => { }, ] `) + + expect(forSnapshot(jest.mocked(processor['cyclotronWorker']!.updateJob).mock.calls)).toMatchInlineSnapshot(` + [ + [ + "", + "completed", + ], + ] + `) }) it('should handle and collect errors', async () => { @@ -227,25 +235,23 @@ describe('CdpCyclotronWorkerPlugins', () => { mockFetch.mockRejectedValue(new Error('Test error')) - const res = await processor.executePluginInvocation(invocation) + const res = await processor.processInvocations([invocation]) expect(PLUGINS_BY_ID['intercom'].onEvent).toHaveBeenCalledTimes(1) - expect(res.error).toBeInstanceOf(Error) - expect(forSnapshot(res.logs)).toMatchInlineSnapshot(` + expect(res[0].error).toBeInstanceOf(Error) + expect(forSnapshot(res[0].logs)).toMatchInlineSnapshot(`[]`) + + expect(forSnapshot(jest.mocked(processor['cyclotronWorker']!.updateJob).mock.calls)).toMatchInlineSnapshot(` [ - { - "level": "debug", - "message": "Executing plugin intercom", - "timestamp": "2025-01-01T01:00:00.000+01:00", - }, - { - "level": "error", - "message": "Plugin intercom execution failed", - "timestamp": "2025-01-01T01:00:00.000+01:00", - }, + [ + "", + "failed", + ], ] `) + + expect(forSnapshot(getProducedKafkaMessages())).toMatchSnapshot() }) }) }) From 20a304c15ed1071b2f4e909298a8f489b8aed293 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 10:28:21 +0100 Subject: [PATCH 13/76] fixed frontend --- .../hogfunctions/HogFunctionConfiguration.tsx | 22 +++++++++---- .../filters/HogFunctionFilters.tsx | 4 ++- .../_internal/template_legacy_plugin.py | 31 +++++++++++++++++++ posthog/models/hog_functions/hog_function.py | 4 +++ 4 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 posthog/cdp/templates/_internal/template_legacy_plugin.py diff --git a/frontend/src/scenes/pipeline/hogfunctions/HogFunctionConfiguration.tsx b/frontend/src/scenes/pipeline/hogfunctions/HogFunctionConfiguration.tsx index 6f6a9962a1ed4..86dce22800f2b 100644 --- a/frontend/src/scenes/pipeline/hogfunctions/HogFunctionConfiguration.tsx +++ b/frontend/src/scenes/pipeline/hogfunctions/HogFunctionConfiguration.tsx @@ -100,6 +100,8 @@ export function HogFunctionConfiguration({ return } + const isLegacyPlugin = hogFunction?.template?.id?.startsWith('plugin-') + const headerButtons = ( <> {!templateId && ( @@ -107,9 +109,11 @@ export function HogFunctionConfiguration({ - duplicate()}> - Duplicate - + {!isLegacyPlugin && ( + duplicate()}> + Duplicate + + )} deleteHogFunction()}> Delete @@ -174,11 +178,12 @@ export function HogFunctionConfiguration({ ) const canEditSource = displayOptions.canEditSource ?? - ['destination', 'email', 'site_destination', 'site_app', 'transformation'].includes(type) + (['destination', 'email', 'site_destination', 'site_app', 'transformation'].includes(type) && !isLegacyPlugin) const showPersonsCount = displayOptions.showPersonsCount ?? ['broadcast'].includes(type) const showTesting = displayOptions.showTesting ?? - ['destination', 'internal_destination', 'transformation', 'broadcast', 'email'].includes(type) + (['destination', 'internal_destination', 'transformation', 'broadcast', 'email'].includes(type) && + !isLegacyPlugin) return (
@@ -259,7 +264,12 @@ export function HogFunctionConfiguration({ - {hogFunction?.template && !hogFunction.template.id.startsWith('template-blank-') ? ( + {isLegacyPlugin ? ( + + This destination is one of our legacy plugins. It will be deprecated and you + should instead upgrade + + ) : hogFunction?.template && !hogFunction.template.id.startsWith('template-blank-') ? ( } - const showMasking = type === 'destination' + const isLegacyPlugin = configuration?.template?.id?.startsWith('plugin-') + + const showMasking = type === 'destination' && !isLegacyPlugin const showDropEvents = type === 'transformation' return ( diff --git a/posthog/cdp/templates/_internal/template_legacy_plugin.py b/posthog/cdp/templates/_internal/template_legacy_plugin.py new file mode 100644 index 0000000000000..cef66400e47a7 --- /dev/null +++ b/posthog/cdp/templates/_internal/template_legacy_plugin.py @@ -0,0 +1,31 @@ +from posthog.cdp.templates.hog_function_template import HogFunctionTemplate + +legacy_plugin_template: HogFunctionTemplate = HogFunctionTemplate( + status="alpha", + type="destination", + id="template-legacy-plugin", + name="Legacy plugin", + description="Legacy plugins", + icon_url="/static/hedgehog/builder-hog-01.png", + category=["Custom", "Analytics"], + hog=""" +print('not used') +""".strip(), + inputs_schema=[], +) + + +def create_legacy_plugin_template(template_id: str) -> HogFunctionTemplate: + return HogFunctionTemplate( + status="alpha", + type="destination", + id=f"{template_id}", + name=f"Legacy plugin {template_id}", + description="Legacy plugins", + icon_url="/static/hedgehog/builder-hog-01.png", + category=["Custom"], + hog=""" + print('not used') + """.strip(), + inputs_schema=[], + ) diff --git a/posthog/models/hog_functions/hog_function.py b/posthog/models/hog_functions/hog_function.py index a715f10b86b7b..244f887d3724c 100644 --- a/posthog/models/hog_functions/hog_function.py +++ b/posthog/models/hog_functions/hog_function.py @@ -6,6 +6,7 @@ from django.dispatch.dispatcher import receiver import structlog +from posthog.cdp.templates._internal.template_legacy_plugin import create_legacy_plugin_template from posthog.cdp.templates.hog_function_template import HogFunctionTemplate from posthog.helpers.encrypted_fields import EncryptedJSONStringField from posthog.models.action.action import Action @@ -96,6 +97,9 @@ class Meta: def template(self) -> Optional[HogFunctionTemplate]: from posthog.cdp.templates import ALL_HOG_FUNCTION_TEMPLATES_BY_ID + if self.template_id and self.template_id.startswith("plugin-"): + return create_legacy_plugin_template(self.template_id) + return ALL_HOG_FUNCTION_TEMPLATES_BY_ID.get(self.template_id, None) @property From 693bf59d1eb76adb823fc1485160b00af8432673 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 10:31:05 +0100 Subject: [PATCH 14/76] Fixes --- plugin-server/src/capabilities.ts | 6 ++++++ plugin-server/src/main/pluginsServer.ts | 8 ++++++++ plugin-server/src/types.ts | 2 ++ 3 files changed, 16 insertions(+) diff --git a/plugin-server/src/capabilities.ts b/plugin-server/src/capabilities.ts index bb7f34eb39163..55aa5ed25cc4c 100644 --- a/plugin-server/src/capabilities.ts +++ b/plugin-server/src/capabilities.ts @@ -26,6 +26,7 @@ export function getPluginServerCapabilities(config: PluginsServerConfig): Plugin cdpProcessedEvents: true, cdpInternalEvents: true, cdpCyclotronWorker: true, + cdpCyclotronWorkerPlugins: true, syncInlinePlugins: true, ...sharedCapabilities, } @@ -139,6 +140,11 @@ export function getPluginServerCapabilities(config: PluginsServerConfig): Plugin cdpCyclotronWorker: true, ...sharedCapabilities, } + case PluginServerMode.cdp_cyclotron_worker_plugins: + return { + cdpCyclotronWorkerPlugins: true, + ...sharedCapabilities, + } // This is only for functional tests, which time out if all capabilities are used // ideally we'd run just the specific capability needed per test, but that's not easy to do atm case PluginServerMode.functional_tests: diff --git a/plugin-server/src/main/pluginsServer.ts b/plugin-server/src/main/pluginsServer.ts index d6c8251b294c5..274e3231e35f3 100644 --- a/plugin-server/src/main/pluginsServer.ts +++ b/plugin-server/src/main/pluginsServer.ts @@ -11,6 +11,7 @@ import v8Profiler from 'v8-profiler-next' import { getPluginServerCapabilities } from '../capabilities' import { CdpApi } from '../cdp/cdp-api' +import { CdpCyclotronWorkerPlugins } from '../cdp/consumers/cdp-cyclotron-plugins-worker.consumer' import { CdpCyclotronWorker, CdpCyclotronWorkerFetch } from '../cdp/consumers/cdp-cyclotron-worker.consumer' import { CdpInternalEventsConsumer } from '../cdp/consumers/cdp-internal-event.consumer' import { CdpProcessedEventsConsumer } from '../cdp/consumers/cdp-processed-events.consumer' @@ -547,6 +548,13 @@ export async function startPluginsServer( } } + if (capabilities.cdpCyclotronWorkerPlugins) { + const hub = await setupHub() + const worker = new CdpCyclotronWorkerPlugins(hub) + await worker.start() + services.push(worker.service) + } + if (capabilities.http) { const app = setupCommonRoutes(services) diff --git a/plugin-server/src/types.ts b/plugin-server/src/types.ts index 9cf3d1bdf7f92..5682796f0817c 100644 --- a/plugin-server/src/types.ts +++ b/plugin-server/src/types.ts @@ -90,6 +90,7 @@ export enum PluginServerMode { cdp_processed_events = 'cdp-processed-events', cdp_internal_events = 'cdp-internal-events', cdp_cyclotron_worker = 'cdp-cyclotron-worker', + cdp_cyclotron_worker_plugins = 'cdp-cyclotron-worker-plugins', functional_tests = 'functional-tests', } @@ -386,6 +387,7 @@ export interface PluginServerCapabilities { cdpProcessedEvents?: boolean cdpInternalEvents?: boolean cdpCyclotronWorker?: boolean + cdpCyclotronWorkerPlugins?: boolean appManagementSingleton?: boolean preflightSchedules?: boolean // Used for instance health checks on hobby deploy, not useful on cloud http?: boolean From 4e8267dc38e8cd44485cf6af0a187d93a90eb430 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 10:38:43 +0100 Subject: [PATCH 15/76] Fix up --- .../src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts | 2 +- .../src/cdp/consumers/cdp-cyclotron-worker.consumer.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 14f39d509181b..a416bad2380b9 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -16,7 +16,7 @@ type PluginState = { */ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { protected name = 'CdpCyclotronWorkerPlugins' - protected queue = 'plugins' as const + protected queue = 'plugin' as const protected hogTypes: HogFunctionTypeType[] = ['destination'] private pluginState: Record = {} diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts index 1d96123162969..185d186a9f2b8 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-worker.consumer.ts @@ -13,7 +13,7 @@ export class CdpCyclotronWorker extends CdpConsumerBase { protected name = 'CdpCyclotronWorker' private cyclotronWorker?: CyclotronWorker private runningWorker: Promise | undefined - protected queue: 'hog' | 'fetch' | 'plugins' = 'hog' + protected queue: 'hog' | 'fetch' | 'plugin' = 'hog' protected hogTypes: HogFunctionTypeType[] = ['destination', 'internal_destination'] public async processInvocations(invocations: HogFunctionInvocation[]): Promise { From 8d2f00b918a76554c0bcbe3d5f29f8dd29a547bf Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 10:39:58 +0100 Subject: [PATCH 16/76] Fix --- .../src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index a416bad2380b9..7c13606539c7d 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -90,7 +90,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { result.logs.push({ level: 'error', timestamp: DateTime.now(), - message: `Plugin ${pluginId} setup failed`, + message: `Plugin ${pluginId} setup failed: ${e.message}`, }) return result } From e3a1ca9a9f1f7c3e640b325ccc1aba0d06b6f34b Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 09:44:31 +0000 Subject: [PATCH 17/76] Update query snapshots --- .../models/test/__snapshots__/test_cohort.ambr | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ee/clickhouse/models/test/__snapshots__/test_cohort.ambr b/ee/clickhouse/models/test/__snapshots__/test_cohort.ambr index 250798eb5711c..bc44a6b098e26 100644 --- a/ee/clickhouse/models/test/__snapshots__/test_cohort.ambr +++ b/ee/clickhouse/models/test/__snapshots__/test_cohort.ambr @@ -233,7 +233,7 @@ WHERE equals(person_distinct_id_overrides.team_id, 99999) GROUP BY person_distinct_id_overrides.distinct_id HAVING ifNull(equals(argMax(person_distinct_id_overrides.is_deleted, person_distinct_id_overrides.version), 0), 0) SETTINGS optimize_aggregation_in_order=1) AS e__override ON equals(e.distinct_id, e__override.distinct_id) - WHERE and(equals(e.team_id, 99999), greaterOrEquals(timestamp, toDateTime64('2023-01-23 00:00:00.000000', 6, 'UTC')), lessOrEquals(timestamp, toDateTime64('2025-01-23 23:59:59.999999', 6, 'UTC')), equals(e.event, '$pageview'))) + WHERE and(equals(e.team_id, 99999), greaterOrEquals(timestamp, toDateTime64('2023-01-27 00:00:00.000000', 6, 'UTC')), lessOrEquals(timestamp, toDateTime64('2025-01-27 23:59:59.999999', 6, 'UTC')), equals(e.event, '$pageview'))) GROUP BY actor_id) AS source ORDER BY source.id ASC LIMIT 100 SETTINGS optimize_aggregation_in_order=1, @@ -374,7 +374,7 @@ actor_id AS id FROM (SELECT min(toTimeZone(e.timestamp, 'UTC')) AS min_timestamp, - minIf(toTimeZone(e.timestamp, 'UTC'), greaterOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-08 00:00:00.000000', 6, 'UTC'))) AS min_timestamp_with_condition, + minIf(toTimeZone(e.timestamp, 'UTC'), greaterOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-12 00:00:00.000000', 6, 'UTC'))) AS min_timestamp_with_condition, if(not(empty(e__override.distinct_id)), e__override.person_id, e.person_id) AS actor_id, argMin(e.uuid, toTimeZone(e.timestamp, 'UTC')) AS uuid, argMin(e.distinct_id, toTimeZone(e.timestamp, 'UTC')) AS distinct_id @@ -386,7 +386,7 @@ WHERE equals(person_distinct_id_overrides.team_id, 99999) GROUP BY person_distinct_id_overrides.distinct_id HAVING ifNull(equals(argMax(person_distinct_id_overrides.is_deleted, person_distinct_id_overrides.version), 0), 0) SETTINGS optimize_aggregation_in_order=1) AS e__override ON equals(e.distinct_id, e__override.distinct_id) - WHERE and(equals(e.team_id, 99999), lessOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-23 23:59:59.999999', 6, 'UTC')), equals(e.event, 'signup')) + WHERE and(equals(e.team_id, 99999), lessOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-27 23:59:59.999999', 6, 'UTC')), equals(e.event, 'signup')) GROUP BY if(not(empty(e__override.distinct_id)), e__override.person_id, e.person_id) HAVING ifNull(equals(min_timestamp, min_timestamp_with_condition), isNull(min_timestamp) and isNull(min_timestamp_with_condition))) @@ -474,7 +474,7 @@ WHERE equals(person_distinct_id_overrides.team_id, 99999) GROUP BY person_distinct_id_overrides.distinct_id HAVING ifNull(equals(argMax(person_distinct_id_overrides.is_deleted, person_distinct_id_overrides.version), 0), 0) SETTINGS optimize_aggregation_in_order=1) AS e__override ON equals(e.distinct_id, e__override.distinct_id) - WHERE and(equals(e.team_id, 99999), greaterOrEquals(timestamp, toDateTime64('2023-01-23 00:00:00.000000', 6, 'UTC')), lessOrEquals(timestamp, toDateTime64('2025-01-23 23:59:59.999999', 6, 'UTC')), equals(e.event, '$pageview'))) + WHERE and(equals(e.team_id, 99999), greaterOrEquals(timestamp, toDateTime64('2023-01-27 00:00:00.000000', 6, 'UTC')), lessOrEquals(timestamp, toDateTime64('2025-01-27 23:59:59.999999', 6, 'UTC')), equals(e.event, '$pageview'))) GROUP BY actor_id) AS source ORDER BY source.id ASC LIMIT 100 SETTINGS optimize_aggregation_in_order=1, @@ -488,7 +488,7 @@ actor_id AS id FROM (SELECT min(toTimeZone(e.timestamp, 'UTC')) AS min_timestamp, - minIf(toTimeZone(e.timestamp, 'UTC'), greaterOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-08 00:00:00.000000', 6, 'UTC'))) AS min_timestamp_with_condition, + minIf(toTimeZone(e.timestamp, 'UTC'), greaterOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-12 00:00:00.000000', 6, 'UTC'))) AS min_timestamp_with_condition, if(not(empty(e__override.distinct_id)), e__override.person_id, e.person_id) AS actor_id, argMin(e.uuid, toTimeZone(e.timestamp, 'UTC')) AS uuid, argMin(e.distinct_id, toTimeZone(e.timestamp, 'UTC')) AS distinct_id @@ -500,7 +500,7 @@ WHERE equals(person_distinct_id_overrides.team_id, 99999) GROUP BY person_distinct_id_overrides.distinct_id HAVING ifNull(equals(argMax(person_distinct_id_overrides.is_deleted, person_distinct_id_overrides.version), 0), 0) SETTINGS optimize_aggregation_in_order=1) AS e__override ON equals(e.distinct_id, e__override.distinct_id) - WHERE and(equals(e.team_id, 99999), lessOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-23 23:59:59.999999', 6, 'UTC')), equals(e.event, 'signup')) + WHERE and(equals(e.team_id, 99999), lessOrEquals(toTimeZone(e.timestamp, 'UTC'), toDateTime64('2025-01-27 23:59:59.999999', 6, 'UTC')), equals(e.event, 'signup')) GROUP BY if(not(empty(e__override.distinct_id)), e__override.person_id, e.person_id) HAVING ifNull(equals(min_timestamp, min_timestamp_with_condition), isNull(min_timestamp) and isNull(min_timestamp_with_condition))) From 9694f077aac475124e20763a51966e8cae248c57 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 09:44:54 +0000 Subject: [PATCH 18/76] Update UI snapshots for `chromium` (1) --- ...uccess--second-recording-in-list--dark.png | Bin 118489 -> 119098 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/__snapshots__/replay-player-success--second-recording-in-list--dark.png b/frontend/__snapshots__/replay-player-success--second-recording-in-list--dark.png index e659453aae2dc6dc59adce6f94b5b795efb3effb..369a08aada28d06319c8499cc4dfd0e36d48115d 100644 GIT binary patch literal 119098 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 literal 118489 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 From e33dd64f977fa30cc7a4e0720e1d06b28e5206d5 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 10:47:20 +0100 Subject: [PATCH 19/76] Fix storage --- .../cdp-cyclotron-plugins-worker.test.ts.snap | 2 +- .../cdp-cyclotron-plugins-worker.consumer.ts | 23 +++++++++++++++---- .../cdp-cyclotron-plugins-worker.test.ts | 6 ++++- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap index d509f563624b2..e8924a331c548 100644 --- a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap +++ b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap @@ -36,7 +36,7 @@ exports[`CdpCyclotronWorkerPlugins onEvent should handle and collect errors 3`] "level": "error", "log_source": "hog_function", "log_source_id": "", - "message": "Plugin intercom execution failed", + "message": "Plugin errored: Service is down, retry later", "team_id": 2, "timestamp": "2025-01-01 00:00:00.001", }, diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 7c13606539c7d..b57d9ba535864 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -1,4 +1,4 @@ -import { Meta, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { Meta, ProcessedPluginEvent, RetryError, StorageExtension } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' import { PLUGINS_BY_ID } from '../legacy-plugins' @@ -11,6 +11,21 @@ type PluginState = { meta: Meta } +const createStorage = (): StorageExtension => { + const storage: Record = {} + return { + get: (key: string) => Promise.resolve(storage[key]), + set: (key: string, value: any) => { + storage[key] = value + return Promise.resolve() + }, + del: (key: string) => { + delete storage[key] + return Promise.resolve() + }, + } +} + /** * NOTE: This is a consumer to take care of legacy plugins. */ @@ -70,7 +85,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { jobs: {}, metrics: {}, cache: {} as any, - storage: {} as any, // NOTE: Figuree out what to do about storage as that is used... + storage: createStorage(), geoip: {} as any, utils: {} as any, } @@ -122,7 +137,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { result.logs.push({ level: 'debug', timestamp: DateTime.now(), - message: `Plugin ${pluginId} execution successful`, + message: `Execution successful`, }) } catch (e) { if (e instanceof RetryError) { @@ -132,7 +147,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { result.logs.push({ level: 'error', timestamp: DateTime.now(), - message: `Plugin ${pluginId} execution failed`, + message: `Plugin errored: ${e.message}`, }) } diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index 1a2e040c7a6cd..43ff26e5882f7 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -136,7 +136,11 @@ describe('CdpCyclotronWorkerPlugins', () => { "global": {}, "jobs": {}, "metrics": {}, - "storage": {}, + "storage": { + "del": [Function], + "get": [Function], + "set": [Function], + }, "utils": {}, } `) From b7781cfdaac3b13016d9f8cff8ee56d30e1e39d0 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 09:52:33 +0000 Subject: [PATCH 20/76] Update query snapshots --- posthog/api/test/__snapshots__/test_cohort.ambr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posthog/api/test/__snapshots__/test_cohort.ambr b/posthog/api/test/__snapshots__/test_cohort.ambr index 26c2244e971da..8a6006ca4cbaa 100644 --- a/posthog/api/test/__snapshots__/test_cohort.ambr +++ b/posthog/api/test/__snapshots__/test_cohort.ambr @@ -174,7 +174,7 @@ WHERE equals(person_distinct_id_overrides.team_id, 99999) GROUP BY person_distinct_id_overrides.distinct_id HAVING ifNull(equals(argMax(person_distinct_id_overrides.is_deleted, person_distinct_id_overrides.version), 0), 0) SETTINGS optimize_aggregation_in_order=1) AS e__override ON equals(e.distinct_id, e__override.distinct_id) - WHERE and(equals(e.team_id, 99999), greaterOrEquals(timestamp, toDateTime64('2025-01-22 00:00:00.000000', 6, 'UTC')), lessOrEquals(timestamp, toDateTime64('2025-01-23 23:59:59.999999', 6, 'UTC')), equals(e.event, '$pageview'))) + WHERE and(equals(e.team_id, 99999), greaterOrEquals(timestamp, toDateTime64('2025-01-26 00:00:00.000000', 6, 'UTC')), lessOrEquals(timestamp, toDateTime64('2025-01-27 23:59:59.999999', 6, 'UTC')), equals(e.event, '$pageview'))) GROUP BY actor_id) AS source ORDER BY source.id ASC LIMIT 100 SETTINGS optimize_aggregation_in_order=1, From 9001d928b755d9b4ef4d49bc2008fe1dc3f2ff40 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 11:53:31 +0100 Subject: [PATCH 21/76] Fixes --- .../cdp-cyclotron-plugins-worker.consumer.ts | 44 ++- .../cdp-cyclotron-plugins-worker.test.ts | 39 ++- .../cdp/legacy-plugins/customerio/index.ts | 278 ++++++++++++++++++ .../cdp/legacy-plugins/customerio/plugin.json | 60 ++++ .../src/cdp/legacy-plugins/intercom/index.ts | 197 +++++++++++++ .../cdp/legacy-plugins/intercom/plugin.json | 42 +++ plugin-server/src/cdp/legacy-plugins/types.ts | 22 +- 7 files changed, 659 insertions(+), 23 deletions(-) create mode 100644 plugin-server/src/cdp/legacy-plugins/customerio/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/customerio/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/intercom/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/intercom/plugin.json diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index b57d9ba535864..580212585f761 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -1,7 +1,11 @@ import { Meta, ProcessedPluginEvent, RetryError, StorageExtension } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' +import { Response, trackedFetch } from '~/src/utils/fetch' +import { status } from '~/src/utils/status' + import { PLUGINS_BY_ID } from '../legacy-plugins' +import { LegacyPluginLogger, LegacyPluginMeta } from '../legacy-plugins/types' import { HogFunctionInvocation, HogFunctionInvocationResult, HogFunctionTypeType } from '../types' import { CdpCyclotronWorker } from './cdp-cyclotron-worker.consumer' @@ -46,6 +50,10 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { return results } + public async fetch(...args: Parameters): Promise { + return trackedFetch(...args) + } + public async executePluginInvocation(invocation: HogFunctionInvocation): Promise { const result: HogFunctionInvocationResult = { invocation, @@ -75,10 +83,25 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { return result } + const addLog = (level: 'debug' | 'warn' | 'error' | 'info', ...args: any[]) => { + result.logs.push({ + level, + timestamp: DateTime.now(), + message: args.join(' '), + }) + } + + const logger: LegacyPluginLogger = { + debug: (...args: any[]) => addLog('debug', ...args), + warn: (...args: any[]) => addLog('warn', ...args), + log: (...args: any[]) => addLog('info', ...args), + error: (...args: any[]) => addLog('error', ...args), + } + let state = this.pluginState[pluginId] if (!state) { - const meta: Meta = { + const meta: LegacyPluginMeta = { config: invocation.globals.inputs, attachments: {}, global: {}, @@ -88,6 +111,8 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { storage: createStorage(), geoip: {} as any, utils: {} as any, + fetch: (...args) => this.fetch(...args), + logger: logger, } state = this.pluginState[pluginId] = { @@ -133,7 +158,15 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { } try { - await plugin.onEvent?.(event, state.meta) + status.info('⚡️', 'Executing plugin', { + pluginId, + invocationId: invocation.id, + }) + await plugin.onEvent?.(event, { + ...state.meta, + logger, + fetch: this.fetch, + }) result.logs.push({ level: 'debug', timestamp: DateTime.now(), @@ -143,6 +176,13 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { if (e instanceof RetryError) { // NOTE: Schedule as a retry to cyclotron? } + + status.error('💩', 'Plugin errored', { + error: e, + pluginId, + invocationId: invocation.id, + }) + result.error = e result.logs.push({ level: 'error', diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index 43ff26e5882f7..e1acefe03dfce 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -15,19 +15,19 @@ import { PLUGINS_BY_ID } from '../legacy-plugins' import { HogFunctionInvocationGlobalsWithInputs, HogFunctionType } from '../types' import { CdpCyclotronWorkerPlugins } from './cdp-cyclotron-plugins-worker.consumer' -jest.mock('../../../src/utils/fetch', () => { - return { - trackedFetch: jest.fn(() => - Promise.resolve({ - status: 200, - text: () => Promise.resolve(JSON.stringify({ success: true })), - json: () => Promise.resolve({ success: true }), - }) - ), - } -}) - -const mockFetch: jest.Mock = require('../../../src/utils/fetch').trackedFetch +// jest.mock('../../../src/utils/fetch', () => { +// return { +// trackedFetch: jest.fn(() => +// Promise.resolve({ +// status: 200, +// text: () => Promise.resolve(JSON.stringify({ success: true })), +// json: () => Promise.resolve({ success: true }), +// }) +// ), +// } +// }) + +// const mockFetch: jest.Mock = require('../../../src/utils/fetch').trackedFetch jest.setTimeout(1000) @@ -40,7 +40,7 @@ describe('CdpCyclotronWorkerPlugins', () => { let team: Team let fn: HogFunctionType let globals: HogFunctionInvocationGlobalsWithInputs - + let mockFetch: jest.Mock const insertHogFunction = async (hogFunction: Partial) => { const item = await _insertHogFunction(hub.postgres, team.id, { ...hogFunction, @@ -60,11 +60,11 @@ describe('CdpCyclotronWorkerPlugins', () => { await processor.start() + processor.fetch = mockFetch = jest.fn(() => Promise.resolve({} as any)) + jest.spyOn(processor['cyclotronWorker']!, 'updateJob').mockImplementation(() => {}) jest.spyOn(processor['cyclotronWorker']!, 'releaseJob').mockImplementation(() => Promise.resolve()) - mockFetch.mockClear() - const fixedTime = DateTime.fromObject({ year: 2025, month: 1, day: 1 }, { zone: 'UTC' }) jest.spyOn(Date, 'now').mockReturnValue(fixedTime.toMillis()) @@ -132,9 +132,16 @@ describe('CdpCyclotronWorkerPlugins', () => { "triggeringEvents": "$identify,mycustomevent", "useEuropeanDataStorage": "No", }, + "fetch": [Function], "geoip": {}, "global": {}, "jobs": {}, + "logger": { + "debug": [Function], + "error": [Function], + "log": [Function], + "warn": [Function], + }, "metrics": {}, "storage": { "del": [Function], diff --git a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts new file mode 100644 index 0000000000000..ed32ef0ea730c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts @@ -0,0 +1,278 @@ +import { PluginInput, ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { RetryError } from '@posthog/plugin-scaffold' + +import { Response } from '~/src/utils/fetch' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' + +const DEFAULT_HOST = 'track.customer.io' +const DEFAULT_SEND_EVENTS_FROM_ANONYMOUS_USERS = 'Send all events' + +interface CustomerIoPluginInput extends PluginInput { + config: { + customerioSiteId: string + customerioToken: string + host?: 'track.customer.io' | 'track-eu.customer.io' + identifyByEmail?: 'Yes' | 'No' + sendEventsFromAnonymousUsers?: + | 'Send all events' + | 'Only send events from users with emails' + | 'Only send events from users that have been identified' + eventsToSend?: string + } + global: { + authorizationHeader: string + eventNames: string[] + eventsConfig: EventsConfig + identifyByEmail: boolean + } +} + +type CustomerIoMeta = LegacyPluginMeta +enum EventsConfig { + SEND_ALL = '1', + SEND_EMAILS = '2', + SEND_IDENTIFIED = '3', +} + +const EVENTS_CONFIG_MAP = { + 'Send all events': EventsConfig.SEND_ALL, + 'Only send events from users with emails': EventsConfig.SEND_EMAILS, + 'Only send events from users that have been identified': EventsConfig.SEND_IDENTIFIED, +} + +interface Customer { + status: Set<'seen' | 'identified' | 'with_email'> + existsAlready: boolean + email: string | null +} + +async function callCustomerIoApi( + meta: CustomerIoMeta, + method: NonNullable, + host: string, + path: string, + authorization: string, + body?: any +) { + const headers: Record = { 'User-Agent': 'PostHog Customer.io App', Authorization: authorization } + let bodySerialized: string | undefined + if (body != null) { + headers['Content-Type'] = 'application/json' + bodySerialized = JSON.stringify(body) + } + let response: Response + try { + response = await meta.fetch(`https://${host}${path}`, { method, headers, body: bodySerialized }) + } catch (e) { + throw new RetryError(`Cannot reach the Customer.io API. ${e}`) + } + const responseStatusClass = Math.floor(response.status / 100) + if (response.status === 401 || response.status === 403) { + const responseData = await response.json() + throw new Error( + `Customer.io Site ID or API Key invalid! Response ${response.status}: ${JSON.stringify(responseData)}` + ) + } + if (response.status === 408 || response.status === 429 || responseStatusClass === 5) { + const responseData = await response.json() + throw new RetryError( + `Received a potentially intermittent error from the Customer.io API. Response ${ + response.status + }: ${JSON.stringify(responseData)}` + ) + } + if (responseStatusClass !== 2) { + const responseData = await response.json() + throw new Error( + `Received an unexpected error from the Customer.io API. Response ${response.status}: ${JSON.stringify( + responseData + )}` + ) + } + return response +} + +export const setupPlugin = async (meta: CustomerIoMeta) => { + const { config, global, storage, logger } = meta + const customerioBase64AuthToken = Buffer.from(`${config.customerioSiteId}:${config.customerioToken}`).toString( + 'base64' + ) + global.authorizationHeader = `Basic ${customerioBase64AuthToken}` + global.eventNames = config.eventsToSend + ? (config.eventsToSend as string) + .split(',') + .map((name) => name.trim()) + .filter(Boolean) + : [] + global.eventsConfig = + EVENTS_CONFIG_MAP[config.sendEventsFromAnonymousUsers || DEFAULT_SEND_EVENTS_FROM_ANONYMOUS_USERS] + global.identifyByEmail = config.identifyByEmail === 'Yes' + + const credentialsVerifiedPreviously = await storage.get(global.authorizationHeader, false) + + if (credentialsVerifiedPreviously) { + logger.log('Customer.io credentials verified previously. Completing setupPlugin.') + return + } + + // See https://www.customer.io/docs/api/#operation/getCioAllowlist + await callCustomerIoApi(meta, 'GET', 'api.customer.io', '/v1/api/info/ip_addresses', global.authorizationHeader) + await storage.set(global.authorizationHeader, true) + logger.log('Successfully authenticated with Customer.io. Completing setupPlugin.') +} + +export const onEvent = async (event: ProcessedPluginEvent, meta: CustomerIoMeta) => { + const { global, config, logger } = meta + // KLUDGE: This shouldn't even run if setupPlugin failed. Needs to be fixed at the plugin server level + if (!global.eventNames) { + throw new RetryError('Cannot run exportEvents because setupPlugin failed!') + } + + if (global.eventNames.length !== 0 && !global.eventNames.includes(event.event)) { + return + } + if (event.event === '$create_alias') { + return + } + + const customer: Customer = await syncCustomerMetadata(meta, event) + logger.debug(customer) + logger.debug(shouldCustomerBeTracked(customer, global.eventsConfig)) + if (!shouldCustomerBeTracked(customer, global.eventsConfig)) { + return + } + + await exportSingleEvent( + meta, + event, + customer, + global.authorizationHeader, + config.host || DEFAULT_HOST, + global.identifyByEmail + ) +} + +async function syncCustomerMetadata(meta: CustomerIoMeta, event: ProcessedPluginEvent): Promise { + const { storage, logger } = meta + const customerStatusKey = `customer-status/${event.distinct_id}` + const customerStatusArray = (await storage.get(customerStatusKey, [])) as string[] + const customerStatus = new Set(customerStatusArray) as Customer['status'] + const customerExistsAlready = customerStatus.has('seen') + const email = getEmailFromEvent(event) + + logger.debug(email) + + // Update customer status + customerStatus.add('seen') + if (event.event === '$identify') { + customerStatus.add('identified') + } + if (email) { + customerStatus.add('with_email') + } + + if (customerStatus.size > customerStatusArray.length) { + await storage.set(customerStatusKey, Array.from(customerStatus)) + } + + return { + status: customerStatus, + existsAlready: customerExistsAlready, + email, + } +} + +function shouldCustomerBeTracked(customer: Customer, eventsConfig: EventsConfig): boolean { + switch (eventsConfig) { + case EventsConfig.SEND_ALL: + return true + case EventsConfig.SEND_EMAILS: + return customer.status.has('with_email') + case EventsConfig.SEND_IDENTIFIED: + return customer.status.has('identified') + default: + throw new Error(`Unknown eventsConfig: ${eventsConfig}`) + } +} + +async function exportSingleEvent( + meta: CustomerIoMeta, + event: ProcessedPluginEvent, + customer: Customer, + authorizationHeader: string, + host: string, + identifyByEmail: boolean +) { + // Clean up properties + if (event.properties) { + delete event.properties['$set'] + delete event.properties['$set_once'] + } + + const customerPayload: Record = { + ...(event.$set || {}), + _update: customer.existsAlready, + identifier: event.distinct_id, + } + + if ('created_at' in customerPayload) { + // Timestamp must be in seconds since UNIX epoch. + // See: https://customer.io/docs/journeys/faq-timestamps/. + customerPayload.created_at = Date.parse(customerPayload.created_at) / 1000 + } + + let id = event.distinct_id + + if (customer.email) { + customerPayload.email = customer.email + if (identifyByEmail) { + id = customer.email + } + } + // Create or update customer + // See https://www.customer.io/docs/api/#operation/identify + await callCustomerIoApi(meta, 'PUT', host, `/api/v1/customers/${id}`, authorizationHeader, customerPayload) + + const eventType = event.event === '$pageview' ? 'page' : event.event === '$screen' ? 'screen' : 'event' + const eventTimestamp = (event.timestamp ? new Date(event.timestamp).valueOf() : Date.now()) / 1000 + // Track event + // See https://www.customer.io/docs/api/#operation/track + await callCustomerIoApi(meta, 'POST', host, `/api/v1/customers/${id}/events`, authorizationHeader, { + name: event.event, + type: eventType, + timestamp: eventTimestamp, + data: event.properties || {}, + }) +} + +function isEmail(email: string): boolean { + if (typeof email !== 'string') { + return false + } + const re = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(email.toLowerCase()) +} + +function getEmailFromEvent(event: ProcessedPluginEvent): string | null { + const setAttribute = event.$set + if (typeof setAttribute !== 'object' || !setAttribute['email']) { + return null + } + const emailCandidate = setAttribute['email'] + if (isEmail(emailCandidate)) { + return emailCandidate + } + // Use distinct ID as a last resort + if (isEmail(event.distinct_id)) { + return event.distinct_id + } + return null +} + +export const customerioPlugin: LegacyPlugin = { + id: 'customer-io', + setupPlugin, + onEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/customerio/plugin.json b/plugin-server/src/cdp/legacy-plugins/customerio/plugin.json new file mode 100644 index 0000000000000..d59671c3d3ab1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/customerio/plugin.json @@ -0,0 +1,60 @@ +{ + "name": "Customer.io", + "description": "Send event data and emails into Customer.io.", + "posthogVersion": ">= 1.25.0", + "main": "index.ts", + "config": [ + { + "key": "customerioSiteId", + "hint": "Provided during Customer.io setup.", + "name": "Customer.io Site ID", + "type": "string", + "default": "", + "required": true, + "secret": true + }, + { + "key": "customerioToken", + "hint": "Provided during Customer.io setup.", + "name": "Customer.io API Key", + "type": "string", + "default": "", + "required": true, + "secret": true + }, + { + "key": "host", + "name": "Tracking Endpoint", + "hint": "Use the EU variant if your Customer.io account is based in the EU region.", + "type": "choice", + "default": "track.customer.io", + "choices": ["track.customer.io", "track-eu.customer.io"] + }, + { + "key": "identifyByEmail", + "name": "Identify by email", + "hint": "If enabled, the plugin will identify users by email instead of ID, whenever an email is available.", + "type": "choice", + "default": "No", + "choices": ["Yes", "No"] + }, + { + "key": "sendEventsFromAnonymousUsers", + "name": "Filtering of Anonymous Users", + "type": "choice", + "hint": "Customer.io pricing is based on the number of customers. This is an option to only send events from users that have been identified. Take into consideration that merging after identification won't work (as those previously anonymous events won't be there).", + "default": "Send all events", + "choices": [ + "Send all events", + "Only send events from users that have been identified", + "Only send events from users with emails" + ] + }, + { + "key": "eventsToSend", + "name": "PostHog Event Allowlist", + "type": "string", + "hint": "If this is set, only the specified events (comma-separated) will be sent to Customer.io." + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/intercom/index.ts b/plugin-server/src/cdp/legacy-plugins/intercom/index.ts new file mode 100644 index 0000000000000..bd3568ce65e00 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/intercom/index.ts @@ -0,0 +1,197 @@ +import { Plugin, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' + +import { Response } from '~/src/utils/fetch' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' + +type IntercomPlugin = Plugin<{ + global: { + intercomUrl: string + } + config: { + intercomApiKey: string + triggeringEvents: string + ignoredEmailDomains: string + useEuropeanDataStorage: string + } +}> + +type IntercomMeta = LegacyPluginMeta + +async function onEvent(event: ProcessedPluginEvent, meta: IntercomMeta): Promise { + if (!isTriggeringEvent(meta.config.triggeringEvents, event.event)) { + return + } + + const intercomUrl = + meta.config.useEuropeanDataStorage === 'Yes' ? 'https://api.eu.intercom.com' : 'https://api.intercom.io' + + const email = getEmailFromEvent(event) + if (!email) { + meta.logger.warn( + `'${event.event}' will not be sent to Intercom because distinct_id is not an email and no 'email' was found in the event properties.` + ) + meta.logger.debug(`Skipped event with UUID ${event.uuid}`) + return + } + + if (isIgnoredEmailDomain(meta.config.ignoredEmailDomains, email)) { + return + } + + const timestamp = getTimestamp(meta, event) + + const isContactInIntercom = await searchForContactInIntercom(meta, intercomUrl, meta.config.intercomApiKey, email) + if (!isContactInIntercom) { + return + } + await sendEventToIntercom( + meta, + intercomUrl, + meta.config.intercomApiKey, + email, + event.event, + event['distinct_id'], + timestamp + ) +} + +async function searchForContactInIntercom(meta: IntercomMeta, url: string, apiKey: string, email: string) { + const searchContactResponse = await fetchWithRetry( + meta, + `${url}/contacts/search`, + { + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${apiKey}`, + }, + body: JSON.stringify({ + query: { + field: 'email', + operator: '=', + value: email, + }, + }), + }, + 'POST' + ) + const searchContactResponseJson = (await searchContactResponse.json()) as Record + + if (!statusOk(searchContactResponse) || searchContactResponseJson.errors) { + const errorMessage = searchContactResponseJson.errors ? searchContactResponseJson.errors[0].message : '' + meta.logger.error( + `Unable to search contact ${email} in Intercom. Status Code: ${searchContactResponseJson.status}. Error message: ${errorMessage}` + ) + return false + } else { + const found = searchContactResponseJson['total_count'] > 0 + meta.logger.log(`Contact ${email} in Intercom ${found ? 'found' : 'not found'}`) + return found + } +} + +async function sendEventToIntercom( + meta: IntercomMeta, + url: string, + apiKey: string, + email: string, + event: string, + distinct_id: string, + eventSendTime: number +) { + const sendEventResponse = await fetchWithRetry( + meta, + `${url}/events`, + { + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${apiKey}`, + }, + body: JSON.stringify({ + event_name: event, + created_at: eventSendTime, + email, + id: distinct_id, + }), + }, + 'POST' + ) + + if (!statusOk(sendEventResponse)) { + let errorMessage = '' + try { + const sendEventResponseJson = await sendEventResponse.json() + errorMessage = sendEventResponseJson.errors ? sendEventResponseJson.errors[0].message : '' + } catch {} + meta.logger.error( + `Unable to send event ${event} for ${email} to Intercom. Status Code: ${sendEventResponse.status}. Error message: ${errorMessage}` + ) + } else { + meta.logger.log(`Sent event ${event} for ${email} to Intercom`) + } +} + +async function fetchWithRetry(meta: IntercomMeta, url: string, options = {}, method = 'GET'): Promise { + try { + const res = await meta.fetch(url, { method: method, ...options }) + return res + } catch { + throw new RetryError('Service is down, retry later') + } +} + +function statusOk(res: Response) { + return String(res.status)[0] === '2' +} + +function isEmail(email: string): boolean { + const re = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(String(email).toLowerCase()) +} + +function getEmailFromEvent(event: ProcessedPluginEvent): string | null { + if (isEmail(event.distinct_id)) { + return event.distinct_id + } else if (event['$set'] && Object.keys(event['$set']).includes('email')) { + if (isEmail(event['$set']['email'])) { + return event['$set']['email'] + } + } else if (event['properties'] && Object.keys(event['properties']).includes('email')) { + if (isEmail(event['properties']['email'])) { + return event['properties']['email'] + } + } + + return null +} + +function isIgnoredEmailDomain(ignoredEmailDomains: string, email: string): boolean { + const emailDomainsToIgnore = (ignoredEmailDomains || '').split(',').map((e) => e.trim()) + return emailDomainsToIgnore.includes(email.split('@')[1]) +} + +function isTriggeringEvent(triggeringEvents: string, event: string): boolean { + const validEvents = (triggeringEvents || '').split(',').map((e) => e.trim()) + return validEvents.indexOf(event) >= 0 +} + +function getTimestamp(meta: IntercomMeta, event: ProcessedPluginEvent): number { + try { + if (event['timestamp']) { + return Number(event['timestamp']) + } + } catch { + meta.logger.error('Event timestamp cannot be parsed as a number') + } + const date = new Date() + return Math.floor(date.getTime() / 1000) +} + +export const intercomPlugin: LegacyPlugin = { + id: 'intercom', + onEvent, + setupPlugin: () => Promise.resolve(), +} diff --git a/plugin-server/src/cdp/legacy-plugins/intercom/plugin.json b/plugin-server/src/cdp/legacy-plugins/intercom/plugin.json new file mode 100644 index 0000000000000..6de2b2723ffcb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/intercom/plugin.json @@ -0,0 +1,42 @@ +{ + "name": "Intercom", + "url": "TODO", + "description": "Send event data to Intercom on PostHog events.", + "main": "index.ts", + "config": [ + { + "key": "intercomApiKey", + "hint": "Create an [Intercom app](https://developers.intercom.com/building-apps/), then go to Configure > Authentication to find your key.", + "name": "Intercom API Key", + "type": "string", + "default": "", + "required": true, + "secret": true + }, + { + "key": "triggeringEvents", + "hint": "A comma-separated list of PostHog events you want to send to Intercom (e.g.: '$identify,mycustomevent' ).", + "name": "Triggering events", + "type": "string", + "default": "$identify", + "required": true + }, + { + "key": "ignoredEmailDomains", + "hint": "A comma-separated list of email domains to ignore and not send events for in Intercom (e.g. 'posthog.com,dev.posthog.com' ).", + "name": "Email domains to skip", + "type": "string", + "default": "", + "required": false + }, + { + "key": "useEuropeanDataStorage", + "hint": "Send events to api.eu.intercom.com, if you are using Intercom's European Data Hosting.", + "name": "Send events to European Data Hosting", + "type": "choice", + "default": "No", + "choices": ["Yes", "No"], + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts index cde9ed0529317..22acb222c50cc 100644 --- a/plugin-server/src/cdp/legacy-plugins/types.ts +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -1,9 +1,21 @@ -import { Plugin } from '@posthog/plugin-scaffold' +import { Meta, PluginInput, ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { Response, trackedFetch } from '~/src/utils/fetch' + +export type LegacyPluginLogger = { + debug: (...args: any[]) => void + warn: (...args: any[]) => void + log: (...args: any[]) => void + error: (...args: any[]) => void +} + +export type LegacyPluginMeta = Meta & { + logger: LegacyPluginLogger + fetch: (...args: Parameters) => Promise +} export type LegacyPlugin = { id: string - name: string - description: string - onEvent: Plugin['onEvent'] - setupPlugin: Plugin['setupPlugin'] + onEvent(event: ProcessedPluginEvent, meta: LegacyPluginMeta): Promise + setupPlugin?: (meta: LegacyPluginMeta) => Promise } From d573b2047f66ac7efd3f55491d01eba08901dd5e Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 11:57:59 +0100 Subject: [PATCH 22/76] Fixes --- .../consumers/cdp-cyclotron-plugins-worker.test.ts | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index e1acefe03dfce..52247ddf7216c 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -15,20 +15,6 @@ import { PLUGINS_BY_ID } from '../legacy-plugins' import { HogFunctionInvocationGlobalsWithInputs, HogFunctionType } from '../types' import { CdpCyclotronWorkerPlugins } from './cdp-cyclotron-plugins-worker.consumer' -// jest.mock('../../../src/utils/fetch', () => { -// return { -// trackedFetch: jest.fn(() => -// Promise.resolve({ -// status: 200, -// text: () => Promise.resolve(JSON.stringify({ success: true })), -// json: () => Promise.resolve({ success: true }), -// }) -// ), -// } -// }) - -// const mockFetch: jest.Mock = require('../../../src/utils/fetch').trackedFetch - jest.setTimeout(1000) /** From d0547391f5fb743475650f630c827b9b6bb2a949 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 11:12:06 +0000 Subject: [PATCH 23/76] Update UI snapshots for `chromium` (1) --- ...uccess--second-recording-in-list--dark.png | Bin 119098 -> 118722 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/__snapshots__/replay-player-success--second-recording-in-list--dark.png b/frontend/__snapshots__/replay-player-success--second-recording-in-list--dark.png index 369a08aada28d06319c8499cc4dfd0e36d48115d..397bb37bd08f74b083c4f147a14e88d2107cef81 100644 GIT binary patch delta 65556 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 delta 65935 zcmbTdWmHws_cnS62@ymDq(kYDJcKj~NH<6xqz)l19h*{GknZk~66p>>O1e7^-JS2o z-#_k$cib`V{c^@WJJ(vXp83qV+S1VLGSSOwhJcHxzfmG|L)d&#OWneSfKri`Dqv8<*<#bv$fjIhrYC5sC+|ciCmOjWB`)oa<#0D++^NUe zdNMKZNku~DJgppiZE1L}x#D25koj;2_1l4(jW#nQM?txv0u5t)4G6-PD6uqHg63 zlXv0s?b~~|n`8&J*TG(@7BB|;k~Q@85C67@Z;N#CEn%ll zni(eNbS1ZFKjR^ioQqPjx*TM7Ki&DBnu-Q#|B5}tZPjr=?Kaf?y*-WYju;o>ez1Sep zF36a4?fy%*sNxttWrgO+N$)ZQsqV|HfFRyUF4~Vb(sLD&JJnAFhNzU1hD0%xp&Aqs z{N7^eIF%nqS}SM;p5{*V10sNsl!>m!*h@wBVhg8AWy)<8-lxA3lGt^n;$qEeTx?Ue zbA!_uy_mEz6dZU$s9Ad|JkyGXw}ncauPpD$MtJMXi+<5ghF0r&M6MJ1OmHoWMBWj9 zwKF)KL-G*RY4TXh4NDSn*{4`)`Ei-fZ5teYxQLya&{ufR0jK98*C~wZA&NDls zA|ebp6PmOxJk8Cgvcdr&_5HjCv$-*MP!E5k^#H;b8<9D^NQ;ZDZ;6RFp9=92K)}bB z(_;16y>?2Q@6aGGLP@X3Ca_2^qoFQlnG6H*m!GWn^dT;LmoFAPR!oHM1gx7+hkoa> z-kB#*$RP$&_LAJ3jYz`nc24&w1==Rr%G~_IuU$DvupLs9fO`8i3&_Pn9xOX2N1<+o z=l1s`o8Luh`nnsh1jQzK^@7{N?Y(xb1vW%b$jHg-4ynGM@Clkx!-EQH|5L%|Hubd3 z%*T|x@_(f$JB9!0U;yzh3v?ZIJh+VGZs$L`Gl9WWCoT#?!DBSO3G}TX?he9Ph+lWlsA&iGNP5lRX(W~)!7g5?y%`s zm&QAkk#zPdZclMRTN#2FHL}FAVYjI|JD32jIQM{nK-kcpG*r6(wErohmGiaM`;^cQ zGu*w~YfZg4mJYp%+^MY zB%Ex2T_|+EaP2HivT4d_b=u0kaCF?8Wn_gq-U--PXpiAq$(Wx`^e@@E^u;Utp#eDE zfBx)Dl$LtE{iV?S2Nx#*Dv$L=975Gw(W7?%#`+3Y+8Gk(b-(*!!K->BKqBN+#HXrb z~X8e*J)gjtJCso3-WQA31Gt zgjC6#Q#^x33&hg>al;N#*5(D{q_TgySF~GmW>59gN$(^q+r~e6nM3HufcsKu`W2Kq zJKwtb2}Ey1F5CJ{k3h5%Aji`55Zs|flPc-GjE<;8cOr*U6ri%TO(I(w^6VjG z{WXn9dtCJ<_>j}==sD`&oqak_(vstl8sY_(@}xS;;oan8%R8^N=7oa8My=52^Piq| zxk$gmmk2p9Yy0ra1Lzbu*56NzG5;0synAK2_6Pb(>IqkpTyI=ysB+O1;5UZ1oBaDw z-0EQSt<^g+tOdi^g;d*t=&~n}8LT<y(>l>NqS7+#p@ykH@D7-f0Q4CK%TsW2KqaEYaTUZU|{%M z-;0h-Qe!rxcooYfg|krMC;+)YL4v$jaH`X_hHN}LHtn$ZzD*={9e%_HFNW=|D-0 z8BbL`-%B>|i?y?eWQQ}}1+}?8Uc-yOTWIR)w|m!=Y&DBFcejdHt5I(2I-yR#NCkf~ z9KLWDoNx6*SN{!k5$Ew9HFW-$xrM&?KxWvHO9}{o3KTYc43P{Ysdb$B*1g4{kA^KQ z7G@W{pZhl8F*6gB%{nKWr z{UND0P?rY_Tp3jHD~+vt#={xvHeoYlHCvOQ;s!z-%@S=aNRdW~>!J^%M#$+DKU)VM z5PWeJtgOa*#&0u>RrOtw(qiIZZ^r4Za+|QtBM1XYB@wOPdkLTQY+5JB>F0gwwH3Vh z^B!e8BMT0|WZi->?!b1EV{6Y`Df#GiTU0&qJ25;|9~JTRvSA>97Pc3sclX!Fo{hGH z1yf&(8Y2CRVc!D0*LrWB659h^&3BIX zLu3+Z^ZZ!NcMBVpgIkF)uB{j4S5%wt<#%6y>n1iTZRWRG52YU@c5pH^jbnb@yc*og z7WCa+g2Q1rB6I^Bpkzsg_4V!8pN?tDHSDfW=({slxb4J=H7fp}5{`~4>U|>%} z$Xumyd7D{MdG#{LbHM1H&Rj(`AEm|ea`!6(30~Cj?2ngG@7Q+JtOOc_qq`>eB4wPZ zxT&}tht6*1Itj?qEhEG5hF{TAS3DZ1Ew%_f7T%PWCd_)zNV~{Rda8&+&{`(;QktiH zUN;rOeNUni3_GU4-_Ziz@fA)`kF@o<=X1O|;t%jH7ISoh?dyu?=T;;7HPs!bfBxni z9&tkKC2+f1oHklV?KkaDO)1`Av`-}QSfvVG-_Lt($Drvr)b~<)ewt2(!;5vR*5?bJ z4!{n)sBq)ooc`FGt0N>N^t>Ev(}cNWL3~>mPkH6yh1{<^Rri7UUsk`FOB?vlzf9Rt zwym@3!21%9`-;sK@{Z3J?i;pKr==yy<~pBUHn?KN=L(&UW)W|0lJZ(7a-O!biQL!J zwSrEfyW*y|?sN#vWz_w_?9JAjE-d)Syv`Cf85tRYyV}DZb1uaFb(myowb^g|{X1+) zqLoL40cPc!0EO#G0X!{XK1ViA$o*{I@%;9CwKVqyXZ|_n)>x6$YD*p(`C9#EjOM~9 zx79!;S7cNauhqPLXUxPSKQRbjBCl*owXvT(tIN5cexqC8{rUC_m|M*6l`v0G_?|!~ zpKO?G)#yJQ_6D#eS9ASP8CA*tjhQdkZ4yw_diULXXjK92o*&7otT=5daqo?rOCrXBr92N&H(Xv zWmMCrShj3`wW@s1GFw^w@F&N!L7rRv>x@3nD~oY@IW9gh#6Qx3N3hsE8C^YaT2Sh?rshyWt56Tm7$JP%dG5)s4bM2F>*t9YpDE?3<+`8nuoDR;%A zLEL4S758J&AWTN{5yQ-^hoO7sJv^#~bFR079k`c1QouUbQ9}&8@YQ-+c>q*L@rEP7cI>r~O~hz)7(1fnz0CqaVxL zYGJ)HV;{|)aCc#5_%GH#NB>k*)`wF%r!oZh#+H~RP^7usEJaMIaf7d%nt!0gVe6 z(WUA=nmZRv?|_Dglj(bGjuo8G-yX>h!n5<@Vq!ec=Q8;Rnifupq?&yWP)oZDtLPdM4pE0QY zamB6PVTDb$R@vx0L(J|Mp?dofG`%HgqF}_NmbhKmuSNgk87Uf;8IfRo?Ib(@Ez=%S zmK5q&Il_vSm*7F3eAsslmVy2S@aVimZGj)wYXh z1S2EbTNGnO5LZK1&_}-j^KAteCmu^hVT_9(rfGY+wYjGN?Pk^ZF0*!Z>4y~$+w+ql zPtFh_pR!yNx+$QJZigp>>H5sP1 z!mfTgq)HEPDKM%`YR;^F(+3(_xS491`;a~MxI?7+=#5C8Y<(Und%i2#!w{70;3ry2 z_IHHgF;A9SO2gTE>60Fd;Qr{SSPV#>Y3`Y{qJ8|6Xgt8?{oP5pr9NaC5s4CK3eptFgP6!Z-%pJPoS?4-;2nZmY5h$4bmCkRgKj2Gc2tV@Q`L zAhkSyZ1YAbHf6b6u0mo@5u?X`x*}PMhlIA30aHCk6xt=*AQrW);$M32Go` z_{(6)WJbydktIiv0130Z9NQ$)m041yb9}VM43g(t0qS>qk-j%7 zQ+w|@6Kp$h9z-(zlLj6+^$F*Z5o?{UW>o3g%FY`rByivumVF&!RNPahb&f8uLYqgn z*KgBqzw2ya5le_=;zNjRD*+lhE&sa&Mmp(9t(`k32mKF5LMr5qBhP6cFz3nk&aB2_ z>apv5$_m%uMwA(D*1(7TBc{8E*cgkSM5uo69zC`~vjlp?IOy+htT*W(jWm4R5#-%VZD_0*K2A? zm%$@$pB3#OEj=kwrKGcntr3SScrK*nN9N<6+OA$Q1Oab)Jw#OtVrJ z!GjxwYx9~LewbZ8;Fc88=JW!!n)1L#WN}85jEN~u2nkxuuD%lLFhG5@z|n!kXFH%C z=89a{n}uH^UJE?(vAVpQ`+`)x|30`>apWyzwd|~QSX@yQnoyESL*BbMT`k<`aJD-| z=uR2Xe%I~{`=$2ocUG4mR!KgXIo~v-jEOv?2F*Wo%B^?pb-j^6c_5R;ExexE2_h`Y zDn5zmrMxhK4QSQojy1%jjW+_z(dvP9GVN@dZS*afkIjj#6L8+DdzGxU591v~VE|IHW4#V+To_`y0HrR}-Yz zmx#M5smkJG@^nMo{B-#^u}9BsxZrXolBm5aYhU32!u0**&--blyd2{%EiI}1af2}{ zZ_a{Mw%)&Y`tmmEX)LBc&5Ydb8-8MhrG1DKKoFNURv(hO9MHyu&QAIcqQq_0OYL01 z#+M1F_hh0NsHG=bhiGDNm_Vg5=}>61`(DhJHKRhD$T0dYS=gYh5e5VT^rT!-VR|Ed zdaCl~L1=~Wjez}O+JMpvOETZ3LXm^90-zQq#Q7%;f|MSugnR{mBIB)+2|v3E2y6#n z$hKjAO@3W`h-WY++rT4oly`f0uFvg0eAGGeNGoBSPu+ixI+T!1jj{VFH~p8i`q(%Q zQWa*80)5U2m~`j};DXw%p6I~}GCq2+JHo0rSwo+yXi*8QcIPvp?vHOP>TDh6ryIYB zNmP-%8*nYBFEg0?rg+~yM&xk)mJ+a;Y&4s>D+$mA0lL>10Jpom-gai4bNx&8xPXTX zQaq`5@Y_eF(Nios^qaBf`&o4cwz&;28}p?R%Kem+>2E=7Ho(=2(4c4PdDl7m{N2)` zzP&U#uAUy@uQfeIT0JX`wRD}Eh~cNJ3zhmI2};@ zXrQQU0RGx2+rp%65!Cnd%Zol0f2o~oYF_Gopm=@EKpV4^8Ek8pqq3>l>nS5`Qqz|e z?bh}>9Q-fK-2P?FzJOkLPnGFLCV@T~Mk2Tx`Lu4eQNoA(vMJ162-rKkX_&el=Dmj9 zzXrPK-Se6nE!$*gay@~caLd$i6-NG?s3HI7X5%Zlq@}PbL%ThgPSfQUAmnB&ML1`F zETU0zV}AZaegQb|j33H62^(9H2Ggdg+S_oDwl6Y~Ol;7%0$TmXrdTfvZ0zvQ77vh^`#jrt9l5 z%`MX3;iT6i%U>W7Y1PN~sX(rVCCJYtxB!wR@FYw zCw)Q$`OysQ?aO*yX^3<^I$rp+u_*!iNxTDXuWKjcK1}p5t|GCWi79?6<|^695)jf> z*_F<)oy$p6iJnDkP_Ue9Jy}lRPZ`-Ug)kJK0L>=A`>`u$X*=yOh;3P0vlr}pC)L@Y z+?0Lyn(EK&0WDB8FVSy(9y@pMW4j8)TWDMR^5oLe4!$OdA@G+TW6 zz30Vgl({E&FzG7g+org-9UjU$vu-Qx;exde6R^CeWbB^PU`VE$z4-e!e1D*y{LN>e zd%Lv1@p4>X{D&T;)|>(Rto<>zYOXLt?-3VQUVr>u2T0!`87x~>&k7&Lf^`GK>u-8~ zgM7D_2vaCiB*R>ST&~^9K>cBE(4#M3sw_G;Hok6`ULsIb?=Jru=~P>bWGL?Q4-T-C zgzY!pFM-tlkH)?AaA93`+rNQI`CUNABc7zwxl0=%0mPS_UX5Ak7CLoBp_gI{t8kB3k`>JEvxp{nPF&0dyxC76a25STTu1;O)Vkp4vDKCUb z#A_#(b>?ih*K(ChUDi1Nl)`bx+Yw}7O~3-kEs=@Vw;^)zhn!)$`ZqZsuYS`cBP8a8 zzA7!N|<}8EDQ# zJ-TPB&BCM1`7@=~dzwUMGsRi%0^t|_TC0u>f? zk_LC$^q5$kuFYZy1`C-Sg!?`~gu|SZV**LP z=T#9G_w6yhG6j~-!875)XVJoEMSFM73Qchlg$Z9?uv{#*-#4gw;(xc391nh`7z(FW zVZhhE85zdv3LmSy!RiXT-P-;V2IOv~9&9OrER*hez7eYKTp&yD&;Si6->d-85j*Eo zP3{EwQprRPscY0!_r1kPp3SjH{+x%pT?Id}i>Cp6hC#U#BVMG=rr@b8V;1+ZZcOwf zM8&$?E(&9s`Y|X$7*4-{I5K%23T^#F<$tofI;*AIRG-axehv+-EN;r%IyP03Vg2?l zwgHwm1eNNPsLe&b&h$NDoOx5ObH z^CUF_wRT+DkC7iiK&VlyYsF2XK*^U5R-U}H z&Ml?Q%|}zWgoZcx-F{|$TS0y4k87dF7iEC{kv*P8qkb%L5eq1S+033F+SDKG>U;ij zvw1K5D^YU&Gac$#tgEh9t!1RudndOKLtc}=fSv)AkMcSd$D*#Hdr_%;RLsz9vo$2w z=H8@FP`zo9>z#Q$8szKhyK>jfYB3v=#)$-PeQ*xUbI1YhCtj$ziBS$~TF8&wIZ^OS5Izk#s^KH-Yv)YFbtM;{A zZ%lR;(n{}9AU#S|YT`flvqB|}(u5l)N*CC{IuM|`e?I{QnhW>t^eQ>QI?+iusZA2E zO>4y(GfQkf+plhIj^&_3meI_@E$4-Mm)1uJm~HDN%(JSjRTc3R^`z(Z>8=pYLg7q& z);CY&XJB&fO#@en3z{=A_w8BDkfb0iW-7k!3TWL}v6Ff{6;GQ28 zfCUAGEQXW!^6VI&hko5AJ*@?+_W1cDh83nVS@w0^B-cCPy7kg^C!-WjQO2~NC}8H1P-PY7>E}BmBcQ7 z_FN=HsJYw-pRK38g1mY{?lT!oBpF7)NEf>|u@C|Y`rr`Y@Pp}NbN$X=m`=#q&a&Kd ziMQhRiBpEZ#U6$ICUU>+cjbZ$5+9&D?Oj$PJXxBUzE<(f;g!b zED_iw*usqx)&HA?KP#0=?dzX&m@dehePH3gWpB=PZUl0i{VB2$21MZNQHuSuKV4;= z&aJspy$pBRwkcgt7$FP}wM0gUQ2y%)>}FTN`7N~TlYz^fk^5OYMD*;e(2G#Yq_}F> z0!1w#ZJw~Oe?Jow=UI7hU0mD;+-~2QEsbr_Y726teyMA^Td%L4cbWRcqpqk=yfR8I z=(6!Q!*_Fp;=cI>puac9b?t+mJ33?9C`EpaI=-FrB5kHwoM!QS|1U8>7aJUDsoE^%S1n^3ao?bG7bt z@~I@(UkBbh05A_I8IH(x-$`_IG}tY3vHCON`2O~*{^xto^JEUQ#j%Om4@EK_pv26; zq6&&n%V>eKR#h>qSuA!9HePb><{8HC_Ji1(p4tLvqfbsS;Y1T{_V1P3B(wN&53W38+zQ?Y zjWOg1u%sGHl4I!ESt#a>ea>%#N51pHlL6kFMutI933f*ooY4t(k5t{`X~aIxnscnj zYIs$d!xHB_%uXs5->3_ zar|A+>n=q;R!9)?Q2ba4mjyjNm{tCcZF(%Piaxps^5NkQ1KjdPOmH%9EMEo;!&6$j z%FY4es5Ma&c3t8pC=lA!-{hAq8E^~VF^1bz*h`f+>;7_(BPp*SW&EzR**Vh)LhE@1 z=9hb(vbYgL`}k}mEk>R!>UQ8Go#<6I{d#Q!g(l+&w-|mxu11~Aj zh=wE-gl6zW$@gQ1wf?xb1MkH#;Gs&7{cUpKF2j0D6ZeBsa@Oxh0XNJtAkbLb&z$ae>Q;wMS(S}mg0 zx|sYv2I0jxxZ7WO1BaTy-PN=z7unYIH3 zq6vj~V(DssxnmfEsfdY2+>&`#e;&UsQRwI2AZ}WBj6rQkg$cX!l0A7JIb_C3Do>cv z8svU*dG=`OAgnq5u$m#DUHEjqeo)Byv!t7wme!Q>0&C*&4G>bn@?8Ax!m2;wW0o<$ zhn#>#Y}ZVpqh(xgg~vTg_|4fhWeGVJh$oF+H(6fF4;-y*qmg5Ua;RfZq*&#q3h}EF zNZ`|UanrI~dk|dZobcsAQ6Ug1i>?+s&BrRc&kmB08-be&n-R3Y3qCs<6NI{Jz3>l7 zN{j5Ld)0h+fP^0h3%Y8h+X*qJOf$(KKl);eSTnDtYD`sHBPq^Bl1^Um4BYhS z$G#t+?N9%4!0rYS*?i+&ZO;UD<8uqbqz{q2@tBB1Ayg_%7@36y$y`Z7-?`S$-F+O2 z`jJG%sezXL@(<*6QBeG&fVGJJ)NcNBwK|#}180D*{o@pZ`GthEa@!D|iTL~TJGgPG zOK>iO|8Qnw{n^d0E=u6K`Vb6)uex@At;V!h)ku&+mHSgY@d7Fm zzVm`a!}Kn<^B`Xo^jz~R?S{<2TH$~6D7x;J zC~~k4>9l5#M^(=D*Dl7X?3BcKa+<1 z&TT)76aQ3mCWJ07EmL5!xt!{$oxo6&0~I8bp}@lByp%bNuxLU(w_A(}!k=hV?3EhOAN5OWR5UKIectvmZRW*TrAGV*oAMHzWJO$&cI8x-xSpT z5uy^8U6jrEG$^`K%1i^I{2k^Tz!H1Uk>pC(MMg}C10L<`aG75l88m2Zhq>W zL?d=D-Xa=Aqa^-Mu zCkV9MP?)`){)9;w(yzK{s(q3Cyy6Y*htsNR9Qft5q5#fntOhVmuAm%g)_1MTm_ry6 zhLT^{HfF1lSyD72iMfQzSM-KSQAxkPn!V3uCwKYzLOwk>PmGLTPo#E!+W6y&;WFkF z7INlRefUv&&K#_w^c^W3Mo$m+NwIffB8hj0&m5mty(di_)VIO)R#9H7=%;a1bi#<< z@Vg~O@5&e@T?DT5`$d>>2GYYH-iw2Q&h#18Ur9NdriUR=MHYvHmq;E`mX$yI2{+1W z9Y2YG?js1$pVoLjBJh%VG#%}3{76iRcwzsDft{J~qIaz%tP=)_<=DQ}R1qJaz!n&GjEa z5(HsUyQ!?1hh=b~T8%6pe2NjLl0iv^1ue)6Bd5h8d?(cJ_K*D=wP zT$;Qf^TazX@ewsKTnTB5Rofd9Bor{<__by;e3W5CH%Kgm*}XvZ!F3zGM^etebk zL~4fUpYI9*yJ(fwz$HPIdE^NQ6MND;MIVUoBA%dc2yeE7h~Xw$S}}?Twi*;)iA5*o zNz0s6xns5#9D>-M`m=5e%l$>>Q>6lm+{{v{-f)9t4hp-f=Gxbn)zO799zntmIMmT9 z)5XWzuO1e?3M+o?RUlF7>vwV#u-ga+5Qh(BY<-(A>@T@STC^2c1Td(haj8TxX~!sy zUyAgBVGeu^-0Pu~}{v=POcGA};Hb%*~T>fc; z5i){Q41*c~|Kw+x+sCG@$_?*BL?3Jk9D%$%MfvlEgNLi&86~piq#Lx~YY$VJHJ@wy z?`8s!taR$+y~O_3EA{WW{H#`%e`NA$a5OXMIP{#MSNX-RyBdtV9v6 z8QWe$u7D0UiIL&B8yZH=S@-wP%}g(WOZP?}z|EhYZt2;QHN5|H&cY<93WUpBr zcjr@jiMGLp4$A;P&{Me#t+Fhbu`eD0)fkTKV52Xj%x2+k94GtLOg(QnZshmxN(Ck+Jc_=FX#Sb@xRK1)E`rxGUO$=fm44&E_P@4H-xd0~S;GfZ< zf5ZQG-11D|-;!cDih{}@o{xES>@?tcI9AKnG(GL}lSB*`ToIW_{Mzph6s|f}A8_^u z=GuuY!ypgK97x|g@%t{WzBgQ65PWU!oW}?@3VO2k=HWZ*zRfYN`xY^+*i*{qWZ$rX z=35S+^|}QA)x!WzSSVjKNnnr-y-CvF?v1adyNmGJ)f&}0TO_r0+m zz@^EH?V00aC*h+5l>6(|+s0ZQKvg9YJTvb(LC)5EGW&xZu>R0|^p*5S!Hk60`~c&* z+|_x*!~?m%@)UNynZmU>F!O+x*2A_b+zy($h1lwBXB9(U?9Eqg=5=C$|8$M9zNd6y zkUl8es|RIMD&jxxdv-kUW#w$WCv<-2&@*fTCYsCRI(Hc_fH{Zr6h*0b=#@e z=Q~pZ=U?FHIDGPKb(>w=54}E!Rrf}HHpnc`Qf_4A@HM523%Ct|cqDCOV!xw~{GmF* zV>5rWu`(jyJa91x%s+4t54})@W6g4@+;$yHy$B=8aJSvD+L>RwHST{<1e|vs{$&jc z7Xfu&x)qH4$+6*~6O}P2A{AOjPtYF>%|g%R9F#lpEI2*^ryaM8?|FO(X3Za)qXi?U z6MDx3H|I!;bLYZ0V5@T&DKCns^KG9Q}1z6mH`eUe{2Zsch&a-*03QPDI*Rb!5%7fk5^sqF}4MLp~ttE9d)&dV!qdK z{3}J^zHa{x;OO$YGM@_aRE+KuJjn z1ENusV=Z-kwmU(2af<}8t?xx@K^&uaPkkB=xjGeE8X0UFEzPw|{IwScV{5*N+#-A_ z5cbT8+h0XxPy^W?BAO=5kLK5EQNGhVLs?J$U}xVS9M=S>(omGH$*|IJfW5c{}9 z?yO)QYYG||IpRNhb-6Ma<{yFGe4BCa0=62Wcs1W$RP?^STWwAgzUvr){4LR$AjB}8 zIZJtqmL|q%5{l`|?$VuZHRH?!-Qja-Y|MAS7UV);*jQPJ?fK;%vDWz=I_2qR)JQS^>POT6E3;zo`8# z3O#5UjAD+08A{#zCG1*cVE=4k@ySAi}-8J+KCX&2k=xy z_AqTJ7eRe86<<)gRg8!7UVz{KM85|pAs7>?msE~KY&GUkCs;? zmvl1<RLA-JCq~QMJw(1bhLDmv0r^N zg171N5TW7pi0p#Yd}ES~I9U%TmKpkJgMK2}OgegfVKZMd<1)59P;Vf7KqT z{c2pB+3?b$w?bE6&w`yVrAnrKZEbBxroCe4#}9y6dcYVSR<~qZdu^-NvnZz!tieQ_ z{c!3d|Bmo%DUEawR0k)ZeQ&ESGCnz3w^GfnzR0>d?j6{&V5&#E#a;f>$e6!%E>D=-%-ayfIuF7=wu*!gzy14}tfkkX=v>H8efjJ{`35RWUcD7ox zRq1@JY_ROqQmm?~Dk`5^M_&~(0TILCE+17orQBe{FrsfH38nMUu03 zWP4#dmrY~T?`0WFM`Ag~%J#HZJts&yC^s=@ZO{JFcCMoXHL6D~>t};_>{?;$^XFl? zM6C4jq3VvrEBfJ26Zgyzldbi({|PV_3S`{!s`#`tKyQWtLle(?jcVb3@)!SXS3DmI zz1;h+BuR-hK2|4<#E!{Gj3hw+a)2@(~4BxC0Uq4+L@mWC#P#k6S1EcC1-ZOF_x z*;1}3W;rh}kB=8_C;)M;?`;%@eZZ-HpDjfcidNshS2j~w66@)DtyAL+rVz@g5ChRc z5+lc1;f-YE_A9&r*VUX@pT@=ZwU)z>i4`LdL45t7{M?4Q8 zh3nsK;|01MjHTchh@sau3ev*oC7yzL1Ma9J|jI07qjbvEzZZmJlFs+?kJ!f{olx=Go z%IxG=G&Wob4^I_xPqr1`&*}9#b6HLxri%Q%A}uG=@sRC&w1XfE9QPb}N&Uj^_HjTL z&!gd^CB3VBaz?0OwGjIh;$1zTiPk9s6Bf6U3g6jFcBr1&J-uvSGU96hItEgu)Rcz*l!0lemlr7Quo znU&Xf-Pfz-=TtqC6gQ+I*J==mjW@vn_h) zGo~|sQ{kB+vSH&x^e`SBZ3`yEUrt7^?AuH9ih5^RKwh5F%I2-}a%|K{VQglV zt)SQAy4u3}`i<*-SNE>o2#elG#n&`Jmg4S(AJKC9b$nBqqjRaYg<&6wtJA_+*HI~{X*QIcAK`Ng2B4hQKDY1+lL^xM1 z!d&yXdaNsV2TOsYpe~|e=Y!@S?td*Rx+Z@ERK#qQuA7r$h=I$C%PJipsJ;~KVT`;$Ug^ieu`39yU|zG-rJ8*DfJc#sl=r-%RTc0a;RM zG4b)?cQh_BC31y32Y46f$ z$u1$B>d>{@x>m+H>f)Axw`Go$efL2ZzM_!HLk`s@hTvCHIQL*8TxFaW6O)S7m2!Uw zh^S}jss{St+TXfP%-QZahIx1a#dO=Myh4Zb;rqbP)u=6Vl_X6r_@%qEO-X&Z)POYP zVC+R&vCjGS4nNyQeF?a=ELX?cW`2IiE)dsV&Zatynhb}Mvf127T1IZR&gvTMLPBck zz^pblaWdZx{5DzdUUb(>KOF5&_pn*qk&?HI*iZ5PbYj6m=tp&2))U}jV5ty{#SaqEY4^@7WaBjjM-owDibN@whv*U^2I5!t)wN1aFaBG-7y zJ(TmS4~haQxW7^Mz|E-Qro$iAZ^)oZ8;OdRmYQzV zW}8*$GTSRo-~QvVDR8L?bL`A``=w~2Sm=)vXZ`2(P$96HZHx7($p0biEugCEqP9_N zltx0Nq`SKjLAtxUOS;(xog&gLAaIZ_X_1nW?(Xh}1Lt4(e*d_4-0_WZ_i*5Wz0Z!d z*P3h2=XvH_u8@XBLgV$3&7Kr5(vyS7i@7CRm)E~PJopU8DX;0kCSJv*((9HXbCGLb zf22g;^|mcJr|YP+s}gghjp_3MvQPc21d(3X=PcS+E~mO{KnZ(&F7gP8+kOfT(&SUT z#lO))=|Wq*O@4|YaP{FlkG}(1pNjBgm7NZOP?CW`C~|ZA2Zv;;_ZFQSWPZ9eT9KKl z)L(r)=JAKkdqle^zTz*@WR)%Ty>bx|sJ(mC9}LC7_alMT+$1Nu1VRW$Zh#Xu|FMC<(vEO8A zAwqhoIDZRJ2EW5qo>R@q#ygqjsBXYiRAYV3-prY$ii%0mZiR(lmB;zmmaJ>vkTOTL z#_q|7yxrNxQ4=;z5vwz1n@y-&dLFuNKVxdv_Z{>^y6|6IU+#r`-u> zei58e8O`u@2oC?`EoQh)inKz?D`g!^gA=_AG#F7rj=dnaKdPKq%(@6yg1~g}y9kXp zcYkgAn5H?HY>@8fsJ`tuFn-f~?LVk{yoQg57b&z)gv6TC7Y2iXI!5ru&@C(@Y0~_c zb)Ns>>bPUmO;rE7$a(7E)fvcr@IKwT9PC8g9AqncpY06hc_HnnT4X|tM_yW90+~+8jLYXMfuPl^ls;i-@u(IhAuNpd z(-X9|;d<9S*W6>eG2`?)vE1)y&FD`nPL7>j# z-uvg^GX}JOW9YiS2GS%@uR}0RBpyc-2&woJlHt6>VFgDl{PHkv+2^^b)i^s`TlcZu z_?*$a_*Vg)RQPfHYzJ0oTO?GB_Vfe;?b$@Bf7Q-$ia5Fb+)rl43%_>@^|ck23!!LC ziR=C85vYh0c-M`?->B7UJ^35rshUQgZ5^|VJV?^t<3LMtalkD2b4p5$*(7XY!ZSw7 z^|)Hmc3Q&|t@wEdv9L2I4Gj-SwhdW#8h>iakWgHyyW+MpaNDLFeTfqPC^*3SXhZ>p znnR>{;VM#B2HLw6&fHKsIUSYve{_l}tYL3qF;!iZ_B%Q$i4OKVH8^fh_UXg>O?pR_ z1yHOa(eXj8%k21ihAu+SdcJ9QE3PLpG7>iA43wWZ4rJFY7KAV3le`fusKyt)K62dm z5c3Q=^y)OMth_utii~)Y;%_-Kgk5Q=Bq|1@1$rb=ry4QnsWf<7TXynkEkXlh^ddGU0+hAeCGh>ohADw;&3 zudgpwiju9&DFR9m(P%D7XP#A$OiWBlTJmW6ue-7FaG;<>;~)pz|G-MiJ2KOYs+d4d z7i6qLDS*v~&JhnG#~emo9yKb@fCj?|f% zasnywp^&{+`Z`H@E0JzZiOu(ZiV1rcl%&30@nj}}2_56|-BtjNe|xQMXMCojqiOaVl8d=`eb~n>R%7^!%Y-+N5yqJ%hCY4D z1#a6KHI4?6k?3AW8wTUdY4mE4hVFx2z#n*@!B;ERSq^FB000x$$WcY|3Olql7|mfM z-}u)xhV*=sdj8I|$34wrgZW0&p1-@0ev|X=Zava&b>Hvbzgue82Tk*CryA~&jbv4D zh~?Wqxvm#(I-0()%#n@WYrIC^8uj>`mbUvX(B<&umoH7YPQ1uu6xoj;(NbmmbB(NBW!*Ty!qPfYKPPl3CP>?l(tNS>b-s z+AjD-hME>wk?c&Gs?FzJ*(3&?0srZJ#*uU3 zU{8w3JKx(SuODLNGB-27@%?LLVG&3iO=?a~PvuKYYGMfpUhvg8Xx!s6q#S)8r z$<@ZP9?zox_3N)MHyUuZQUpb_z#*G)iGg792ET#^fT8(*Lih~qya%l*1j7v6J!myf zty8_dKd_)|nwh3umyu(oz-|q{_qAYzTpTiMbBfS?FgGyPN<(Bu4#0=!c?zTgdp8CZ+C=OIlIVXrpj!1>-_>L#+Pdv!TZ(fGaXRuC&z-gc zfU}_oSGb(tI+?y*-0ac(ae59#1J1WHp^qYAKAwQbVq{O~$l zmzt9>v*7o-)vm^_;tLaH+3q`VK2u4n8R@k z4`O3ub>qw}bA~buad-vz=7xo5pveC#CaCpcNyeqX3&#>0&Xf1LJ#xc+^6E#jmiz9I z_M&aE$L)SSpMZAUIjs{HD%z%ye%HAEgD>Vts<|*7&HWLHi#0-ZZe*P&IJ=V_Rs-hpm zYP;bwx$ZjyB&6O-VWN~F?FgPe>Dzw;XjcHC!IaFBDB{xspDfbhgw_!pZ>+Q~CXW+< zeepSWe){aGs^_yDC0fca^xUU~KGO~`3k+&X%6GNxH&_|JwIliWffImAphp z*T0z;jJ@eihWOOw*G^7QeP#Lu5a*VE_1hHBj&e~pT|aGBtnE)VA_k00tU1=cbgfW@ zuXV}9gyc9CJER-Xz)67K!_CD#A|k?It!XV}+-Y2TSTH($<@jq!D-vvDb-TvP>$3Q{ zf6%ggQ8Mp@$L0DO@ui?FUjO{b`c$5xA){d#H{0ek)bgNSz+)>hAt8F+ju;Dz%XG{a zzSW@FPeK#rMd>TAx7I}cYN2&6P1k(BRnD0>!|=d#_bL+12RBvLjc~WXpqcM|26et} z8X9NgZImu99Q1K8uSpmNYhF%HH>smV5*r3VuF&$*(Cl@N=I`+~+`_SD-&2e0F?kM4 z__+tfX}`6SPdoO-yfBP6HMTQqqS~hRvSjxfooH{Y&w6_-64%}aH}VB{8!U7cgPV|S zq)K+ZSf8Gwf|Z`1IvH1WP=$MJ%)B!L2L~6IEa2h&EZAkq5hxvZ5D9$6zS|oU&5p?~ zSSg=Y zNN84>BDfjxA~7xP6QVN&0T1k7M|t=g3=&;V#HHu+P_3gqeNiW;P|;VO*UX~v%$Uf) z_BRz3%Hks9BwW2lzF{jh)SFq)$$|F$yw67(j6Zy6nak^MZ-?UjG7F~?WTPFhVw7b( zBA1UJ9i2a*B`QxA>OR>UJ+?LZa=v*C4u$09wnmQ;cvj`r4lyMTABk^LwkDv9lGJK=TU}0p6#s zUHvS7`ubW$;JkW!>nw(;X}2kLFZ;q`408nO`M;}nqRZm3cpe^|uJ;>85sTzTE+ff= zh<^hvMl4P3-b7VNWu+_pf(=yW=udC{-2W-KJtk%lIjba88kF;LdAEU$NAf`t!*iST zRSHe%yW7-@3l?BgC6I+6pW81zOb!FTFd+t7-iL@UH00#;3$rLsu8YC*$2+Q+URBb$ zSjgjtwqG>Sd!uOIiU>6Kgg`@$3CA^TXF+}nHm zOpJ-D)bc;y9X`9=1GC`S&h_PPK%DyX<|om`S zP1t4eBnhQF!FJs7i+w`;kwu@jR@PLGN`YFKL6f)YnTU&mf75k_ z7|_q+v|H%t>(~z)H6}cEBQV3FE*!PgXyNdo?E{J}&LOf=t@nH~! zFP=2r1kX32yuw5lCl3|N`tyA}K^C&Uxw@(ZLFjs~E}UwSA-Xd`zptD0r9bk%i0{jR zX2*=V#x)kbZVP;c3~q_DB){wG{%%}ZZMHH>Z0p=>?0t@Ph8W5oWOklvH8>9;OwHgfkcokZB~7T> z)!}geq=3jXdOZ0hmjTJB7s-hi^0z_C{IkC%2M0UPn?zr^y1UC=B!}d6wso8WkFaZa z9ohKi`c(SD1MBO=Pfy_5rp^f7zvtrajEtt9%KaRdxNrF|SEWFU(f{BehMMOWr>({C zNcUDttE3=FvuWpSG3nU;&iX`Of?e5m_{$q2->p6g= zA*W|!qvP-YIv9QTK*)V>MEZ79r_uZD;)3mS=Q394L+qpg;}?tbEDA|$YvAjvBqf6E zNh(?JQO(egbr)(s8X9~bx0>DlHh;O+-__-2SQ{@#U1e>`V?2`xT^?H;U%;O+eL~|r z-}P};dbbg9Xgawg#=$Y1QnOEQHc{=Cy?s&Uv3J$vhySko`bU2nAq@7LH6n9qTRpT= z<_(?reGv40lW-BvXnxm{3R6>Opv0DzlA35~OV^BeX??ylAwtE@MC}DHH|`g z%ki|9F2@UMYU+-R+mzzv1L;Y|QB#_R@e=*Zvr*N60T67&=J}7kJGm%`BpkbF_KL#f z_qfFtzGv507a5GPH<-QI<*vq@d+Ji#4nj2{zb&gzkAt94X;5RUgw7}Ng6vg*f>#C? zH@83hSFl*t!$-kCOZ37m&kj#*r$)9mO$||vHE)~td=SP|LvijseJLJsf8(xB=r%G^ zro4vw2FRdS0c|E_zdJ?p6V7%7I7=as+~xW2s2w3#Zw}qK8D2Bu)s)#X;n0zi%1KKz zs5n_?g`PkW5hoED&+ps+D9TlN>if>yeJao_QDng!Se|h!+o0_V`XHg=f6G14{QWU zUES5I!AT>?PoECo#hmF<7#}ycykT>3pk?9Hz$pZG zlY;oAO2Jopo|$dZ1OJr}W6%=;cygidq&iDokbG%sV%Ol>^)Yecr*4fOIr+CQv8vQ{ zQIPGVnA56erUYW9!DZu@!vjAZIXgW&yN2KOz@KP#I{rImUw@z*g)>L>C-O;KM|)3+ ze}(^UHwZav9In+G1H0%7uF*Xi4Xg7jb58cRd5DR33Jokl;#kr_h*W@axkR^joona% zHbbUL!E7q=^0El2h}YFc*RVjfeLAl(q<1QDsXWN0p%E8)WV@}4b@@cLtGWd4chfyT z-s3fTld5h5elV_nv!PF^JV4kXRm<~kP(;plNt}Q}dKj=4~ z&3^3Z>MPp2m!SBerM@4-nFq}sVxZ@a*8z*EQdixQ_bU@7a`NUDLyr-!*=w6c7uGCxt#TDj&LRRL zzm#NlHR5uZkU_ow^ZA8$Q0)a;>N7w9#23{(e@+-InZoPhQZb~G4sRoqhtpmeJJ=ay zk(=Ybt89pO)ek*-{=C_3XTrG82GmzH5Pw@HC>VXdJ$*ejdR((VV~US=wzoP|VEP23 z-}JV7jRzloF_>L{EIxi{KRva&wuW(QiX^si8J^I6_Mmcka5+yGLQEOiPTTZoP%VmC zSZHJzFfURBZEb7-;p}UFZ*>g~_x(9$<-s2bC36cD;g*V|=e(8s!1OlyoW4tAb(s5@ zJ7tq|zUeZT2l?N4T=javMJPyEySTTa*o9p7BF@XQ)1Tas2s%uDyZq9Q;xOB!dj_Sd z(F>J2YU+5`oo_^7ORckL?I@C|`5tW-03 zYciS*A0cXw6D=%O_`%s=)Av|IuD5s7;lY!$&J2ETZ)k@S@je=Kb;E{tP3h@#@kRAf zB&z<3MQZeE{C<1Gmi@t~w+{@1El;N+%_Xbf82F6c$+xC+!`AsRuq|Olspefja@M_ZfY)E1H7%c3&#Y{Z!H!{$g(;PoW|omV=Nm=t}CzoLTjsqQl*Bps-Y zl}-8ijZU(5x}oM@c@07yM{#5(!!?KROD%N{0(q7QrCS0f+fOhIC-tqi2x27IZ_)Wo zjc>mE`m@jH{Xr?!$FQZmpBMdHzV@b~Jil^Eo38djfJPxClwGZR4+&{2XD#P(XYkat zyK=1MI675qs=08fa6ZN%L!LtK#62i;NSquii0pB8Y957k8r`Q4IVyp9sUw8sWylm# z^72)P%3T>&F0OW^#$6jEB&5?{bn~kBm8r&&Fhd?n`oYYz?uQ(;ltgweTu z-k{Z}kYomccdR(6hlwbR+GoTjRqMA2NTLmU=_rlFQNGs-N4_N={hi=Xi493-ysaoT z!e&+LrDI$j?=OCggrtO#vy$UIt5Hs#M2$Xw(rc>O^JSRT^a*@w!mgS*j(PzXTT1P@ zDFrccnhlz?1UXhlKMON6Hj0;;&;#JVUY)6jKby3ppDQ%eHw8z9DXfwVXyKA)g|I9n zyyGKRE{IBhZ7lTP<3O#$3zilg7Q>J0)bmFsgVzm%G{(C>W3GNOBn<8u9p-37HVX~u zq+4;av1u0nf-d$@K}df-JEUiHbhsVtD*dXerDNI%!-)}Z-*VJ^fP|FKQ!Ln+oS6R8 zeaPlzoQA`iiNWDq^EniT_M_?SR|N4vPtV^jGSw4WwFhMnpF^@Rj~0nCar$^89N4`W zxxTKhqA|bG;+@o)m)q*O{_a)GY2ssD#pC*DNJyD;7r(A}&wqV%Ha%A?`;cr_NdBVd z$?0o%g{Tir{+}LGtI=20S?(NoHjwW8o;Qx$+esyQQ1`+3!E=3Lo1)$cy4B;bi9m_w z*ZDJyO2)N#4rE*G{S?q3fc+@2|`kuSFZf(nXsdN9oodZ$b;+I~Rm!kvNNTR17 zw_U)W7tZf-xc|31-|#SO<7=hOIfLYWBNU*MiYYZ0Wrp|GP+~LJx<#-H((o@o$dvvBxO>qHWrI z_dmQ6X@0di?GY+&GCLyUX8|sfFZSO>GWo4Ix_LOb;$)O%Y?ASyZFm}0UJiKxAQWNj zqQT=%tLd-rZsxtsw?5kWfzJkNYWeNYUSkCh{~Ayltshu)%edk|zB@umzLJjxj5Ft- z?ax91@MIpoMp?cTB`!9&&hiw*#NlZ95HC?N-J4aZ(joLGZejn=_Xt)^UwmifN);!E z(s9#%+ip^ZH?7nUm?^HFwXeJHl*aQ#KHXgsX*5SiW9X|j zn9aa7g3*2G{5(#(SDAFVqrNvozZ+T zg+b@=Fo&AC5qlr_pIRa5Lo*{CUBOAyijM#TgU`l6SzIx&*PtUNj5XFD1Bi~ZSMOk1 z(#YuDDcASp48QO!&64>jqFva@`sj8|GLY@L6;AV%bi54~^l~k+O;GS$0u*?<@EKsg zYCX>1ZjTim*zq_*daseo$Uo_KA`IJ-zI>^6Iv#@@Wjg(xPsT^l zI;Nbd#l_ouCprrG8M<$c|E>&nXh8HZ4OQveNFqFvqeXD)xkf!R{hSlM@tA+T_r0O= z^PUcn|EHc+0>@|~@vh?jo}3Mb_yqViHa0lzZOlj8R3s%ky9S%SaoNq3a&vIlwrxDE zal9rv6%4>Eue9@BIcS0$<_Lt`RrK`WGUvGfZZmui_`zt*mz-u_=UXL@xCFi7CueCs z$Yg$gQya>yt-mR79G>!Sd4+UwW^kH!RPXvgGvDRZDz<49)29KIZ*3BaxwSdeSow9G z^uPc#sd2?*y@vxEH#awz`Oak3X=gMk?k*;mMQ`#xzn2bRMI8-R<|KYaKg_V{~k zQWn|G+$X$yO=A4i%@5lcD@FQdx;cShF-4AciG8EzBgOzsb2R z4;82JncBRy7&EI$I@$!BKKhw{N4-L%Mfu~B}qEq0`IR$m#5SC&Esa@%f~F=D$l>-8JC&# zRJZj)y_Fs;38AVM3wiq!PxmEI)=30cLdRW}RyI!}dI70p(Bv5;mc=R;5tqKr@AjY3 zhkXnB1_!?6@8917N~DpcWo5kpUteT}2AHEH4%<2@#=n36zDCAE21sZ}nELj5Us|pI zF3bvVdtfme@c-RK>tD}nE&C0N4WLzjqkV0~|N3mt z>$1DbfLVy!VJ-+0X5};YKhSSLXY$l&lm2wBES{^2yP(V2@7x}Uq2YStP<4_nlW^dC zZ!XF>5f1xqj*(>TKs_&Fyoj|$c(5?I49JAk=6931lINEw3FHBcP~sYLR$jE3NfF~vkC>;f>OJKrG3NQtYj*D0j^ z*T-P_S+w(hmnJ2qGywk!5HqH7pat;dV0<4TwL&@x4$;(bZvCf5p7dLII|BfqPflDD zm<`@-wZ%XR`t^m{@0;ITSKrTKW!`f!@NYU#a>-L9p~4O=mlojT^Fk&gO!DsH0ZXYEE}HhZJ|P8l(sj98OS3)! zbN-ux97_xY2w5>Q7<>XWnoSVD+s@~dgglEF=-U&Fj2{NIz5p=DZ5RUaZ#juO0H|=E z2d^*2-OeX4nF9ld6{@CFO{G1_2kxQo$Dugk_T3GEGind3rEk}{{7<*Y_g-I>ZNt9* z;XUTm$@p1n>ddu2#_Ahi;16KQe#Nsh9j^nl%LRs5h}5fB0Xmgdb6JqzbRf#wf>&x9 z5xJO16cJk`z+U*%m@%InzK_t=`-ti6?mRL)99QCUkof_>->d$oYfVK(8o#-UoE<3s z3h({#BQx_eQwqXvygCxV^r@2~!IyD+FUi`%LV+)Nti3DA6wdi7?&6w5n; zYz)Z?699LeUUYGUihn#m0FoBa;n{2keof@JwD{F~pKMU~l-vz2<*6?q1_g8wVyZF= zJTg!W0p<^Y0mZOeWw+w(zXYI02yoE8Z9&96igH(DwWh(=4zU5|Z`HdfRXWjkqceDm zDi=h?S$eANbt>f*q-Q;TnO>Gl*6h@yKC{} zQC~6HP7J&@PvBuJ%v|UM=9JU%Q!W4L1I%N$tDRG>Tmci)-9UIz!#_B@L;Op=#sFa;;4RnnZRLRL2JCeJ+_25NUi z3k5VI4{q|_i>H_v}FUez&TQNVi{ORc#HmPc6QhoeDIu{oIDFD6Xx?AX< z51S7a&;L}PmKW8DI`R^P{MizU3N8PbCA;wIkwiaH?O^yIMG3s;2M_#0#Z`Klz6wnh zFm4>wNgw~`w|Il4?hfymQ@?GXHRIx#DCxWS1c)85+*FXp|J4#$!&SIre%PAWCOehjo>uvE`r6wkni*bpv%!`=Y=zxFZ+vncR&pbp2?<**;H zQ2Mjze0tK$N-jaZCi%Ocdg=uJ?z|sRi4Az-eEu09C6+R+GA_Kn z!f&gV^A_tXO0?cMun$@vL#YmC2D&k2b4;GT&3cL1rKXNi64wO+&^N*3Y`FZNpu2I1 zH2V7bxgY?MP)|+?Ia#w*3RpknU;|try7Rh)dBukNF}TvW+R4AWM6%MadKgH=jBi0V zLb>to-}hfBf+*nntzd~TOjxPDv;pCNaeIYyO%GJti$yh z*-ufSKwMi$NFNr34xIDP(hu(|AAck-lX`{u?BPch5<^-XSPva`OKkLAeE2H6uk^j> zt6zG)N-Ra%yK~v~9AdOU&+y?*dNMwMVo@Pe3LA6DNojFx>4coTLR%?GA_c7akZk%q zHTpoRqPs_U^#HsjT1zXb{pmbSW91mKw7I^nLBCag)T}p8&LiZcK$XGAj~|y9G&9lD ztEfImlH=xLqmGdRArd$MIEE&}y)Vg5E{_v_PF(2L>^s-CzvO=0ikYS`o}~goa3hov z^sRrv_{e~2*%xfBXCgq}LJ>f6IZMEPfuWtg+JiSLY6_ET>T`R|bvk`y9u5xDDLKP8 zX)z-?=ARkP?c7Nkwvh9v2RJ4mJ8Ar`{dcd5v^nzrCi7JRDTkyGMsi9@0qkBYt6-al zYiYCV;Z8$s1;5*t5hRsIIJ618$vj1mde6m(>`#7yI=OG|9Ih&-e-VBDx{VbhB7Ogp zPm_On!r+e=0Rt-MT$`H&GRGjm0Fsk~6MkimzG2^eo2ehhXwCdZL^`wkq?VS!a5x+o zZ?XVJMj)Eh_Phd)0pQLPV`4%vkNBN`O?EA&??VrAxn2yRf$rAmm*98pPT%*-C~;@H z#$~on{=@5*WS$6da)P1FK%3?_ckcoTI65MHRI6zSpTM@Zww&b2dc2!3`^Ryg)6)lk zDpR1g0ydhlt#gq~ILH`{iE)U7Jq~X?O9>1tu#K1K7Wqrsj{QjFvlR}`cK+?B4Y@wJ zQ4v=B6@2>R?(~@|_H)H~uGP}nZ_y5G$$Ju*Wn_#9Uc6Y?1WcdTf{y?<|4O@Rb5|_& zAI)+=Lu^Ba7ufhM07J~T-}wAmkz_X9G*H;f)e-yxb7%4?u-TVEp{6RuV@X|ivNDuY zJLr6`>7Yuj(Rd@X-R8KI3URqi^{itoYi0Fk%#aE>|Ga8ak26%iLCyl#0J0O#DBLY4 ztBfHo0tRm@poHxABsGa5CWtRGot)8lDA}zn{64B)`Pj*xHPtGox4kCoyaW zWQ**2BTL%3L7myX$nU`{DQ~`iK6P~i4Kki*{DRwR04eqeqMl%VK@GtN4gE+Sy$IUe z9;8?M=NmMqynNY16WitOEwW5jruBRMSbep(rzeBW_O|_a4hu_JvLOmgrmq6@^y+*v zPU`m0H-PsGbchp8Zn05Oe*?oc56FkVD>ONuUV+cyw~%P1V}=3fidPp`UPOG{o&&!C zHV?_l$QU$x<$X_+IWO+m(H?f3J=Csn7*?wZovyY+MTwS@gKM;(B@}T0Uao8Da<2z3 z<471Ei-61GB;?Z*cbdGMpg_rdo5Wu{<~sB__|rL#L3VOz`pWQCzBp*LyGGMg zM?0FTvIkisC2@s3zKHaQJXfpnGeGK`-++2zsHmu^M8pRt0v>*?trX|`)3^t>6#j*w zsG;Jb$di+kHqLr4En+1hYFh-0$J|U3!%TuzqYh}J1_E+Z-_zHJkUW@i@-L z;bKIG&=am|o(%jo{CUS$;xQ#ZdK}o`eX7yN6&j?bp6_*TGen8nildUV(d^`1ATIOD z$k`F3+`pw&6$i!DaGpuTE)TKlPF~&3KT6}Mg#7tC0W0OaM1Ma8E5fR%z*AY8Sp)?H zY1aJ&_}|l~PX#=G-dCjf-O3f{g=7BUC;b;Gs+Z=4QrB@~wIHq^KQ!H+IrY0{Uif;h zogu(8qWO)w8OHrQ1TmZQdf;dF2vKtIdKrM+&Ua^f2D7$*U%LD?Y$&%q_eU#Kmr)N) z_9&s24-2zsJjUSleb*lvYiZEn8;Kbf5k|s(5e+RZnP7(s0$YH9nm=Bc8Z`q!fCzM$ z+#aT$Fa8Q=3p>=XnVNsXgQ-Rxe9*`t^dB=EB){v-`3|%70*V>jtFphxon5MJ2FY1i z5UNIx#wH8%>#o%p@1GeC5RhPnvI3#=0Ej=Sk84ermxzh$u#q1EMI0qIplVH_<)yOw!ZM)C`kTKAZ0qyy?a@Ab z9_8Uj5T3lDj-`npWr&gb_y!Uynf)0$Uj43RhQfemjyB~1H72rK!H7-7(WCz$ayJD4 zlo?_-Im}cR&7{`5JCs#BTnW6r1SK3Bed@&}DuDFq6DI$v-~Y-s?j<|`V!5#L z=QuC*PT>j6hC;sY_FHc1(}keX5=Tes;fAna>NpvUo$0vv^gX|;h7V1*Ku>O-pta?r zHCmvoniVu#*d+ZdtQJ7ZTC_Oi0lY+eK&X$yesJjB{R*ovt=jtc?RKsm12e=Z7lA3ef7Gtk{l;DK6(W*Qnmh}fILF+98-Aoi&+{muzt z()Hlu;{#YH4ffMK#f*}rtiww{g_DwLttAer#+fF&_>8UQnAlwbc|-JSGdWnj<+ z^Wo07Z_bLecYWPv@S-dmopi?3Y$OwJ`n|SJ6-?htI7j`t31%Z%6o zQyP#+pWUpHvnNmGyRXHnA^Q9}te9!i4RNwAYZD4y?qyKVzkiF6|S+NXpTG<29 z-R|CQ9iY~2Zfcwi40Nq)fhr4Pfo=}@;qR|q#rVtyi_YO_n=~AZ!z?QLXed&J4zNKEiU$mM3(_C{L=S>C@t;kVPL5@H8?AD5dL%j92rVq zquY1MYv>=9A*>`=m8JYrE<5r-2?NNF%EOmz6)5rWop>dPqBICkAy!ld4=Sp=TY?K$ z)^r6O|7;DErf#{_;D+r01WTkM-LyKY>$^ngyRJU24+h} zpB){k#HljkO;1k;2L_(*&qEy%1P%@knk5Dx*<%M(N$;MOMcm$qK(}&v!@!XPiKU!A zXLj;aYpbidd3ijRe^Z~4JO_~_830{{1fxMtR6@$|db**MlvWk@I>Y8>Z<{jOYvGy0bgZ*Q+1@xrU@r@8g@XTc(_z};+XZwHHpNM(6iTW_|7 zJ~x*DFk_y4%2+dm5b)T0_~Z$X{S;1rwPimE4^NE?SZDyC;J*W&f}7@iiPl=$lfV*9 z$b(L%rlz*CzJ7kN*b21mR>RHA%zBf#Y)4`02@tdXm-(KKNJ5Xj8ErK+*X52# zu=ed+2?>yG%OET)%*Iw`J^Wpz;NzEnG{XG zn;Qa9z3;c)V*UF2_wNUYk)_>@zrGZnX3xVVkZ%Q`JrKo#bi)YaL=dC>LuM$kadC0G z_OU>h8Ev_vmf_z!qDdj}@?L*>{Pf|+Ld}w^%S*5{MAX}CG$P(or{xYcdN+{gx)n}I zMJ1oc&qYNQD3eRSV#fL+1>&~X`T1^fI8Twqpn=!u7ZT9qV_;wusPTi&1Kzn|t+V<0 z-mGjqV~i9fc*U;H&POLFM7-}Z?WQn*8HD{}EYeZWM~byhPslK|-@S*Vh949vt)Wpp zRFf!oEd9K*YSV$Q0d{xlP7Q9v{qJfQcz@1IbZ?&#VX^IYKcy?|EOaVemcZY~XECrdGpn>3Bu75Hhm@&MAota9TayFnz0CVwpM+351jkUx(8TQQL*3nBqOX7zEl|ztwgCZ_r#;Xe+YIGM zJ2^QyJC_GSfsc~ps!K~jmo;He0vj-V@$vCNK|x(zUEujd{NahL#`nY9K@}p<`StDW z81L{EF5K{TZEbBz?5D(78A`KnnH%s*+bwP>_}`Xl%L% z#2as}m75~nR14H}l$3rg;-NgeUo>v$p+t)V@X$B>X>YUruG96V`@o^jQk2+PN>+}J zEV5oVS8f@?e%)(k>`BNVD*zNJ7AAZ`Hd1CPDfl&Ev;(ZFG&>u&R|pzVkc5Si@dpSQ z&F9m&Y~zO@6(D&>CIi5oAIB}IWxJ19UEX0q-aps09jhGFqL*#;<08PhM5eh!Dpx2SO zaX~jgm&*CTvtbbNz88stg#pu_A>3zHwsX_k`>AhiKS(#Jt*=`Uz0jKMq%(LC; zmxP3)D|5D-`MYy{()4jxLY{gK3aG6hCq6zshR?aJ^i!~4VUw-yv<8Qzoc_-VAzsQ# z2q63ei>A2joOV`azMJ1TELo5Pzrpqa%)0d>F)gsAREd%nHJcgEm zp=V^|1oXpjd=>>+SqkjX{tOYzGOag3sC4x7^k8i=H@Dd)KY=s_8thQe=LQGaSXn>6 z%?8#0bWJ}$0Iiebg#$!P8lnX3{R|j5z_zA>ftQxnXx@VdjBu#9^X?QE3Q9OIo9*HF zJXQml)dIkofJuO7w)p$5qS^uWIXyAa^=u}0;^)Ont2dERtG0h9yIMY4?=_heJsO@F zJZ#QQlb0v3Y={OD3sRAj&510(+D%?b$!j3^#}uQ9CMAFbyv;x&vdOoPt52>$w{$!1 zzzx7;V4rY~ReNElQ@m8N1g&=4)Ul zKi!LNLL62-5DhMnD;}NCj{f zP>bx-es1;kzlK5h`&Bzmo7vBD(ru>f-#od-AepR39O!3UJ2_>5gp|n&TiyLRA=^v> zF1C2b7PGUx-H#Ba&1iX`8vW?_xFm9;*K$U|RpB&Sw&cSn!9hWR&@)sL4jXYJBi3~P zkz>rr?>yGss4pX{JFBS(zXysk#V9GvfA&OF5p5Nr;$i zWz$I%*kre(N(*l8>odFl?!U}t_@J0hjTN^$d}X9^-T|soLJ}2PSX&Fi+!_LFU^DB3 zrFN&Q)#HZ8?l!#nzy19f$jGH-Wv`Jznz(}SH26uakeaXL-WGx-QwS2}aBeFZi~hNJ zObStFV8*1Sy>MDwiUahc`6kG6A`bv;Zz;$U#qGg!sh#=!xzxs9T0UYmmTsjy6r%jn zje-gWOXsh9!c7>MV&}d$k1<~6XJ>y>O!Fw+FL#^Xv(o4Vk+RD=%krgqZV#ADK(beW zl8!gO<|Mr+P&UP9<>ZX?_EzS}p3A4yw0Cq|3wf?=pTC><+~WE70Z6yH{h|c)P*u#p zY8nC^PS>9p3SuIn?k08aHs}e``}rhLmI279sB)=n#~i+59GU~ddRDWzuczOz#zMkP zakwP34F2`&$X8&;20|9!a3&>)Y((FJB-eC(T@Q!(2o^=YOlTfxewU-uu5R}!ESeEM z50YRfG8IP26aheV)SiF}TynB35tiz(urQbw-#bnpWJJNg3E5d=a@JGHW-B#VUP&_ z?dp01N)B-LvCxVlb5&ekzH?LGj0@7-XmVy^phj0*jEm>Cvr=xixr-Z+MExYlW4zBc zZf|@b86zby{Z|$3{(j_gb+&mrK9(jphxk9Vy$4iOX_q!iw+bpE7!U=4MghsFB*|Ke zNJer-L^4Ir>8OAb1Oy3^RWeABROBEi0+Mr-^_g9o&UeHX3b@>TC}M; zr_OoLe)oRD-Y51r)GU=cF{71kY8K)8NzP-$Cteeu@Xc&9gkBEWv0bCbURN`Ed_%Tr zMHV}gXzJ=2dDz)mSe`Xciw_l{C#Pm_nrxq`@XOphJ$@BMk3i8FgPREF$ z10H)5e}71Jc6kWt0ZoZCEo9s9waW<_AP{yMeR;YX1(FGc#7fhi%x?rmP0z_GCJ#B@ zo9)(}_4#{)%1MvCKpPIi%RLcr#Itj7xb5@bja=VG-+g?}q~7o2$&W_ty;IZJkrJo1 zT)Bm_bVApflh}0a*VYp8RoiW$b^EW$X#yy;kYW!QU)9yHXO=I`D3`&`iD zS;r8mT{am(+x0Vav$?uUId27T-8#katm%o0zWYs?EHz5DnrAUH*co=utRi$4h=8@s z`*UXm#61*uz+j!9pC3{6?OBXM%pEV^{V;0li}1#ZeS&wklqe6I7TT*uw$ZT&mtNVt zeVc-q=k%KlOMYzzTX5xfrOJ&S^lhilUX~mDFnwQ#lC!ND0y#i9<&H<^SId2V-^H4h zQ;Ai5#{sU*KyJ|Y`<7#$oll$pyj+xT11=Od&m z7bdl{gF2vqJ@0?>%&p7~{+DHq;k9>_AYsT{diDFtJ=faUZQKYCFT97G$;*3^+0<2H zoAk%AJ+SUndTga?(LiwwMuflh%E)iQ@|IVo5U_k5rn0Gm4{HKSeNVH0{GBR19}Cdn z*j^R6L`|KLsQ-aY0Stzwrn?=Jqdg;+(W9Qt#s!WUyk4xak9t96^c$a=pHRjWN-&-W zTxeqA+LyPIJv>heNG-}GexKY2ekLZ*p)VGRF=zgK@npXhspM-vkA66Ql}lZr?aXy0 z#%pwGZyP$E_BhgnCVNx7sKfR;{mncP-5spn=NG>58r6}cNLGJdmLt?0vtIU)BQ${N zvak7FMrC_DJBxC7vK2XZ{|t}6ZbT*h4G2?$YB9(Rc_{avRl=if{o`vc;{Cpe&gE|; zMBU0MDV;36ZL_286a{F_Bn4Th=@iX+&imSz=)A9jOR-f$UVM?^!PF)HtvLw^CI92+ z{%VELrT@nPh8Q-&^Dmw=_%L3iMG$;(4j0Q5jrT8w!F0D~kP=^M>D7 zpc)u*URzsZ0HNBo$A3|P+kViBu%sP-%Yi?HR(bAIQ&ThFxUu0PLU_%GU~hst`1!*# zWMt=1YHDhKGrm~wa_isgm!J>kK_c63-pY6t3GYMrDoncl`@!ZbJWixo2?gAs)$es+ zeiF3uzklQZv$pytaq@vQkdL4ih>%+u&X|PW2IfhBuLH+(4{*QKpBf=O$?nde+c;Bq ziQ_$Z!k!r#CTW?g`Rt_3F1RlZwpjF8B?vp4)#sglfQuE#Zu{|rTF7#-McY~7s`yI^=|_)rmaB*v zc%S@Q-S>iF2hhJJCOR5ArWCK#jJL%0lFg1`{Ed)FAOT@g8K1|L4_L!`vLe|z)4Kt! zm6Lt5hQ4rN5^^EaB&hUZC93mUb>9>bSsw_D+HGEGWbMltyGC(JHr163DfeU%7VBMA0}TzAXDSy-k#AT#>yfGje(?XK&wX(uI5jxg zg&TT{Qx=ULK8&0;GC^A33pux*`JxdAR(=Y${h5Zsn~(^)96fKN`pf4L<5L?OQ!TB% z+dF)u(``qfCQF~4Jw_rb?scZyCd7JlH_+#kXgTKG&9C2N)Q^oK-4#WdkIn&3qnZm5 z1j5ECSmu4buwlpaG#hb`RgvAXS@mN+!O2O39xAgPK8|2OzNS~HlXJ&`GZrdGDuzPP zdtPEER$%4CGWbA04QRA@UsSXb=+5|UvB4_uBuG~CYX4XfzhryoQNX89_=Zu>*AliO zURM(t6>yPwixM}1g*&Mkkb?)vwpZfy!(?oVZ9W%;PxEx+u@7qE9e zcyr=7lAO_f%nCt1m##|ORSC#h>8qP85D*sT31mr(jU5TfoM4D>pTi1drhwhSX8#Pa zx3913+<6%pQe_|0$*wX4FP6`NKWJVlEv59@)#ucR3Mn629&sljqZ2b-T@|0^Zfg2@ zgza;s?6Dk5bp%Cs1UG}v!z4;np=HN#9|jpIXp`kt1^XQ(%7J_plb>Jaa*K(V_vu%| zkp4c5a~=jiAE@y1WtsEJGQHzLjrV;L0juuz-rm$7ipdWSI!V;TrY9ScGT8xWeJ(6* zspAo{JmOG>H}1Uu(%XjuN<_$_dGITor1ti?sd9SAQc4WnDOP&t*H$A3Zab%u$Hi#N z&x!H3rNS7yMn@}A--GGamfw&=^1yCBo{J^z%RZFBokzuqx-U;ERJj=Jb+1(KyEU|m zrkdZnWlMUbBeFll{pzgi-IHsJ_T0&-DV*=|8|30Yg={CL#t`e1WI^w@mf|p@9!8U| zdeB3=vT?jc!^bRwDm^`gh06z#MZob?o^^am;c9KAuh;js!^A~; z=lSMb6ZUct%ZuB8AEHOrCE$tBB`-M3p?iDGl$TBYyn0R;QUU$9xu9ze;Zspx{)>pn zS)kgAVeZNm)!Z@28JtJmS^#~ywf4q(-)UnSUuwRkWz_eY{y_hNg2IB^mT^l$f#J+@ zCT4DG)}`Q7T&c$}?fDCB6>GitqBS$@;_zQ$%iZc@9%DEdoubIZ$4i@W}vSZJOH?Isa{8)=um-)(9bVPqJ0Kz*I-Wcv7V z9KIa|uEC4!;J&vGmL&uQZS`c~jojkpXC@{*rV|T_ZW5_25}xoL4t_2%VRmQ%pExm9be7eYc-ehukm^+14MUUD84URz1xx1eSvn0?aE+1jq*t+oUt`#jfvfE(7Tt9UE)HmZ9F(G?u#n>(-)h zOpCcW|1BefPpRHmhB672iHXS!G0LwHDU<=Y5B%Ufm(S!g)>ros&Wl>LfVJA>QTqoH z;ws_E!z^`s9}0f{UU)o~BiPk@!q<&7d(Dd;CUtamB_U&@YFnRW%VT)gOgrn7fQ!&B zUcQ4Iy?mI($;xUVO}J!y*~Yn5p7=V2z<>ZT{M3CC5_b}k{Wfu2ULMlE+HoUsY_+Cd z`EipvYIsdlSU@3R^BGyt%{7(o!kM&Tg#My{b1saqPZg=_ zv2d~NZSCOrgtQQ*&9)d(lU|H{riOm$VDIqoLDi9`tgm{G&On}ljN8MqcS&6}FAf(M z7h&|{-d2J*Vqoy`g^@7fdYkci-Dr9F@+D@>lY89Zsm?(L)clof4?P&_2kd9I7e}f+ z8*(tC(O1s7K7l%wPoz_uQA%l{mou9KANy@A&md3@$tul7#tsfDwrKd-eYZY;*20*x zLM)srqv3!CFd7hMWYyfZgFZR|FHQOI?)I0_K6wHcZ& zGHiIm8&O_fekih2o^D7IeDzHH)|Lr>Z?Cj#w2>e-r_*e>QDYPE{Vb{CwJr z-GOv+p%t9Fr?^Ms}PX9l1C-MBeQx%n1;Y(eUl<5Zq-Sh(}6y znqfPFuWob4doM;v&dydp8?a09m=7oTEv&1Bl_Rm0``ZGRvqDxse~is=QlMPi+&=4K z40>XUP=0`^qr5-Pk5FE^v^-F*fAWj_ikMN7Iaw3x5p~95Y)V+z1at&OD5=kgx)VpA zE~0L!mK^SMCg7>*F~R~^1&{SLe+97|%h!?*perb*$q8^eABr2n4`a+PQBtzgR3D1r zOEVM%tVcPnt^W$9EhncJbc;1if9f68*(JK*`d*JZ2#76=o~)GTY;EoK_IB!eVPWCW zRYIsyq%8XKw4td9S?^KTbHQTg)YKwX#my1Z-5(v3;zv`Y4E4oJ+=fT<=d7(g)I#gYgReb!pIr7*z37)V6K!XuTszboGyQpL5zjA zijK$ju&c7`V2Z;fLbUvFsoSLqlb7d$OqY+gRK&OoAnx!ZfU2q@tG_c#?x>Od#8RM?txjlzPvSGS0%%D$1_QrjalS{=9jSbNwpcP?4vy*z! zT@|{+z_7L+!5$(iloOVwoPs1LZ!cbPIC#*#OGrRj+pz#+ozUTKfr2 zbsIuxCYP6)efp~m`?_cJH_Zn(hpfdAhlBn^uOr9leR}q&HUtJGO@WW1O$_&|MLrROHWD5WoBe2giiRVsktjLVRI@i(Nk4NN9VCVch$iw$4a-cwxg!T#xG&S&2Nox z4inKm7QI;Pv~INkw}3SSJCnBfsOSdR{qAPJ9TwFd?fxSthl`L`d>)37(Vn;3iD}IJ zy*nU;?ZMhE&Y4#;l8NDz)ND(Ou;VIvc7C{KpcMA!>(?irN;idGZy+P~hJDD0dHwNg z(6uQmDK(E^=jU&O3Xv*RA$#i{%&SV;8+~_4npl8nKTRhK;!95#g08 zA=*+nxDyEy)_ zIg;a!6QjspeQl9Nr1)*C!iUN&D^k)sLn-zRu$#dH-7`esLlyTk`QRPyES16=7-NuM zi<K+6!K!6m?SsR(9mF68X6dA z-Py>JMA*a6_R<_U8(Pt*}VGVtt-zB|Rp7=Ef^(P_EsZ!-co$grTN73NY z`(Qsoj0GZpzIl3CJD;rUBWAYy+ojP?kPGqhT!uIHJ`9L@8y9hg}u$M30 zWMg*gll>Kr6FcROV)8*_IjVwY6=xXV3`DrAxqL3$;Ju-z7X|9)-rfe_5pSsXXJ_LB;?X>voHJBA0IQ#76@|;D7bwj&w>%On&ZMkVMS;rd5xZ@*S#|c7cE-moR!SSoKYHTI71z~r>uRk^WAxo8)_9m@xHxdb2UfXh zRwSn^PrSY-kMR662UCsu#TDf0?cF~ZeBdAn4EK1%cXuCjH|DMWSegDwD>z}m@IZA> zb@0Hebr|XIFA=BWg48HfFE=;+9u?Khb1N^NQT*<%e>$`+O+@0=r_0ADCazxY_x%1d zME+sJ=dnDqsaeUk1Y!Nh76F=Lt^PrQ`uU68_Vycs;zx0B-)~#l$7codL$E@P`M8wxK{C^>#q-UHwMxivnt(pXwFCwdmHQ|c*5%~*0rJh zSU!bWUmVIbot?kt(_dj5RQp6Rb(EY=C@wtw0Ma$U;>Wkt^@Yw+Zei66>aJfyny=2z zPh9i4$-`ssWOdW}2$f{0 z?uMjfyu5mZ7p3OF0Lt&>%Rd=>yrPci@#TsnQ zcwQ(K=J$VBO)7FJ2SA!J)NfMh2MJwC3coltL&{KWHS`5>8X*QYc_zVguR(CkVX^am zB({@;?Lr(lHc);bI!a4UW_!1ZItffLv=LKIH}9Zl9b*zo81xErmFEf-M79X23=u6Q2?-5+uN zNt25Uea?Bg_-|?S#KcbIv(wI-iv0+LUS4wopwp|UlKfz)lO#1cm9398!A}T>tW=C< zs>&ev90dh0>67Q$TUH*ZglCjv#ypCG6c(2MIBFB)F~iPR`%+|Nn7MB+BRfk1Ac?=w z-eNsp@DA+Z8CPBEyqZOm0;olhqp$wy?|4Q%3(z$5;?-R5Zir@dV+xRh`29Kz$`9B@ zc-k;yZY>RIJy3UYX>Ptwd+jcf{c-wHSaK+@R(7$>jNPU3nW?GisVU;)yRnfACmB8& zK810aXafTVDR6C8Rk{(Yr(|Sq(m1m*u;i8NSsNRtE-0C=dCJP_C@PXyj>_itk&tZp z1^ZVnZNS3VDVs-Raez^gQgI$mXSETNy8(=JP#C4G+%pJlsgy!LMv^R|(pzuC_CH z!+Zf@WoMbF-1qyFi}ce!2TRPFsq|ZwPN!AxnomR{Jb_0Cp4*?f;U*__=So*o#;cT) zon}ZC5k72+$ZC%KnYh+UBYwCUt7K|sHjpo2kDc^0>(Ym~pj-8pZ!!> z09h2^;Fy^2iMzopvbSqEdEr9aLEq#HZ;%m$i1QzLYHOPq8`BB8S$@mpa}>?Ndq5qs zQgOKVQrxS1)C!FU3XqUg8?Xk0SsK~-YC0b(i6MJmu^fa(ZB`4rV zxC15E-~Mhd^RJlEzvRPSnq<1V3vPr`x(3~$YN*ZRhW3xp{1P;p-ZkrUakib2oqgY2 zULLu3@16l58nu5tV`$F*9P!3YE;Ob0c2@eZ)8f*?exVh1c2-g8>CYcOWJT7h6$_`Sm}M@5lW>|A`A{q`lV|Gy+_OQId1n_|su!Adxj~Tx=xw<(vOSD7LGM-Qy$*vI(x#WH*bV^rW~t$I8;P`vEpr}tfQ)%m zRRQzg&Dh&G)I$8C@7-iU-p&`8VwG!~% zm)uJFxoI3hZniOvhBpA{BPU)V?oDt|&;^u_S|h#qg~hCzk8QN@hQ2!#Ov_;H<_rAD|}xsZpOO0s)nyaF*Y(x zZN^JYO4$pC?uSp4QquA}b8+4r#J2AoB{ zfSsqW*QE9<6M&CLn2H3BX3_gEMTSRClafgW(*+7$(X}ECV?1%fajd`u0siP6cPik6 zTeIi#U?|;L+CfkS<~X#tZGCny7BbR(eGRgy-rng~GrlpAaCzc75hRZy!9=o_hQC{%3F zI0}gW_3JLv1Svyr_RwnEfW0)4`9OZDQhLWDqoIqalMumfIjkO|4tf~9E)YRpkvkS< zgn)-gRctxDTg9`tNC*-XV(;-q7_@S%OjElrFgO^p_G+(C#No-4yKprC#l6j1o!3rr z;es;*>)h&iQY#mk8_cmW!aZ}46&&Nxl$VpDM1gW0wEdCc;fyzKkTP_3@vLu7|R*Q9XTaYE(m+=mZz@Q_1LsI7gGx(+Ut$eihwv7TIunTp{G zBP5#*(X}!$p}E>^IPyxa=*}|$G30xkZ^#XVuLSk+=j0k32u#ofebwN{3JdAQ?!E~T zcVs;r6nz%{Cd)4e?AliZEazV-3l1+sd#CfDvxgt&D7qtZ^PqsG)y&0&0EU0 zXaLEBoxe-8rrO~U63c`HI@tazt1{j||C#I|C(wGPm^^zR*|0o9KbT=C7Ga=jh8MxE}mNOE5N?ih>0K4BIIErO=or9Rz@z65SpbXpB?s!5vkw zsCOB!8*I%RDI8^eS^ykQS2k-7r>Ccz7L7sgWc%1wL*oJ9>tQ;9RFgSRc;moT~@T~EhyDW{LajPU;l&j)&DLRIr z*R+Yv-0;GsSS2WraymRKUF^dPA#RH%5M zIf0ecEGMTGyDTRqWdSX1#;;?4mPbubOxOW3i~ZCHvcS#7E1!GJ-M7zlnitAMa&dds zT?K|kUESn{?$<$e<-U2czsNmT z$;#R~mt)zy_h*)W+6=6<)2B}hJD4Vh#bkc&pck5Y(UsPARnYBoP8;m;=@0nyJhjbr zyqd?aU$y>oyuA`&VYIFfHyy4TM*e+3< zU+utjn;4nsm%JU$G_t2spWz%TR>xK-Hajg3b^(ZL!Yr<;p>dhc_SaWm#uSf^38SX( zFcguKljD03ZFZOWyRdfx=utMG*w`OaB5>ht{&y7 zrSU~vym--SxB}bTI{D1u=dR@U&svq+d%D1?Zkk_-S4;c6s16{Dhtby9!k_NPcOB>A z-o?^fqSKsqnrj+7RL$zs($G@5{TzX5$en=&@4~pD?=)x4Shf12RVYp2|HDH!GMMpk zFv4s7OYM{XJX?FF2=F*T^Jd9W7!pzDaZ_5V< zQ;yL0{zu8M;Qc4jFZmfL8HP8tV}FCu=CRFv*r^cFbRur{j!mb?N(H$@qmC9UR zBT8qj5GMhsvNnLw>GCf6-#KH#Z~r6xS4Oi|%ghA(r+or%4?Al{1>szuo7d_P{`|mS z6uKT^wh!S}$nGXDpt1ml8L|CL*!ot+hk$=XO$F&{ZFTDHON_rm?fTc#HYjk@yXJf- zxGQ%L08I`*9n1eYL43u;NElxH#qi;1p7JoM<>&0zXI+0qH!6tk{kZJxjOi@*@Ejt$ z+O9CrYsw2)LFe~Dt&>oa?-1buu6+-vEgZLrTw6j;4x0A0!YOJwVEDUINxM&usZ z{F;(dkO#JHdbA}~KKgUGOxQ)>7(454Fw1#dyO~$cXzLBec$;!_Yp!aGs8&O|XbRd3 z`=f6#GEvn>^MSO&PA*R;cwpQMWzWH0vqEJo9}VE8Gij9~9{u;b(nQ&P`XSM$NrWtK z>+03T%2-#&$&Rz}OA1Ti9V)3(c zb00fQp@^^wD!5&cJ3V!h0a_wVO)QEawVzxOj=cQ*`Ho6$COI=lt)OJwT+~<_^ntJQ zDtB61oSNF*uQ-8lX!KW2 z+GXX3W^43FSt(!d!j|+nWa7+XeB=H%66IyeRUXR$YY*v}vDfMvpeY1Yq9s}w;CGZ? zon$a}h6=FTfwA1?+WV49U0k?g>zS1mX95E_#fDKH7Dm-w+g>7vzBR@|@h~c6PFGM6 zDFvVlKASH^ON{HcL}|q)PYumz65T6=S^!0ms?ZaflR|n?q%)&7uV0 zk=Xkq%X-bduDD8t1vTiEE^s;E3~}AE=)Q-CR^Jo`ir3)_R@eayHVjJ>4uO=E0X7C7 z3Id+!F}W4xO93RQ480PPYJ6XvilKha=Yi1*K#cG(3&rP@l-%JE`4o$&+mi;i=h@5< zla=9|x3;Z{O;)M`Vs2l~TyU^;Ufr|-`(G@h6!c;#F6KAd{+=jp+WT{1v2;UEE|xLlsEgC?e ze*SdG*2ZuY2mnt3+z)kG85BNA9DV0dI;D17xz%dXdTL)XGF4jJnhT1G8h`#gkLn-n zk71jcp6G#iqq0Sc{Q3Q@gW%vov70_UJk+ygb^*Pem~}gScjJwr8*x` zXR84{CKxyZT4DG;_9t>6M}Rm1A@SVb1|J+KT>#b56ZOvOR8idv5{{s_*sq%_0Hw4e zYtgP4Gcy-U`fEMw)V>98Z-QQ3t#e)ZSQD=M^DqiR1b0?(DTptCL3Oj;vrqKcOz`%; zuVlB5DVRA}AEFl!VdLjt28omFev5kD^|LA}Cdgi3Zk52~k_2)D`9{f8?0jxDPM#Gk zyh%lTJ_uY4tZj+2Pp8t(`@KbfQJu2p1io852>AvxxL zT;!5Og99I>^t6BX4iwggCI1Kd%!- zJ}d#@A&wr&X`utpAf!fau|byNY>4Ovt#c>*mOzb;m`ZbF$6C%&!L{;WnGg?VoI>BO zLZ8Tb^aFy$w{LP@`yR7vdZodRSW}r) zoahOY>jBvpg#g}!WI;7po{Q)UV7?br#V3WokBtS07@kPgr@Y_mzb}o^8}m{}tOJ4p z5DUt0ch?6NKNS_#*wLMGr@8K8G>r^tAoMJ4Z}$siWyOpUvH?Y5b5<;1K<2>PWcFAD zJ)8tZrY{B9%dWo?FEm=%URYUOnH%>S^E^b9l<{dEHJ+YDS|e~vIXF3>6DuoC(Ej#o z$ahPS=M+zS=8M7@x8_E8?xZ&m$a?$2kz)r#MHc12uFFJqiVlwulUE@F>y!fnQPu^T z>2LJ=TC1v-d?^}&X+uP8W?x}XL#wSUle`cG_AcRmsMJv}y+uTZ85!b5oe?Wwj{p)X za%Ust7;xUu^me{bs8UZ~QPG9~7(D<<1}FyX=qIpCBbNKYx&xX6axpG!1e+@Sd2|c; zc)kd_1`2}%$aB9Ah9ukB*~I}Cc<Q2UYufky1FQxF)~9x!o13D)zO7;8Oa= z&hXjW8rgTG;Rmm@9#Gu32@?rn)D;Fl{fBucz!ugk#-K2XFmi=%Qc>Lc{(<7EQl*XQ zp>-1z6Eaa}uC|K{;wFlhgncNybj#td_*}{?i$fnsfHJ#B1L7xde3Gt~ZTpcvt62*$ z?k(z|;In5_&wJPA*>os%S(Y(MH9bVEtVR{Y@y3~OmyJp-Eu5U3Y}e9?SNc^O`vI#g z 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 rL&L9Q|M4fl_QU@H8EBUL From 2ab4312e0a228b7a611fa266b5b86cb8e9626d78 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 15:09:13 +0100 Subject: [PATCH 24/76] USe own types --- .../cdp/legacy-plugins/customerio/index.ts | 22 ++++++------------- .../src/cdp/legacy-plugins/intercom/index.ts | 8 +++---- plugin-server/src/cdp/legacy-plugins/types.ts | 12 ++++++---- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts index ed32ef0ea730c..798ee94941c36 100644 --- a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts @@ -1,4 +1,4 @@ -import { PluginInput, ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { RetryError } from '@posthog/plugin-scaffold' import { Response } from '~/src/utils/fetch' @@ -8,7 +8,7 @@ import { LegacyPlugin, LegacyPluginMeta } from '../types' const DEFAULT_HOST = 'track.customer.io' const DEFAULT_SEND_EVENTS_FROM_ANONYMOUS_USERS = 'Send all events' -interface CustomerIoPluginInput extends PluginInput { +type CustomerIoMeta = LegacyPluginMeta & { config: { customerioSiteId: string customerioToken: string @@ -28,7 +28,6 @@ interface CustomerIoPluginInput extends PluginInput { } } -type CustomerIoMeta = LegacyPluginMeta enum EventsConfig { SEND_ALL = '1', SEND_EMAILS = '2', @@ -94,7 +93,7 @@ async function callCustomerIoApi( } export const setupPlugin = async (meta: CustomerIoMeta) => { - const { config, global, storage, logger } = meta + const { config, global, logger } = meta const customerioBase64AuthToken = Buffer.from(`${config.customerioSiteId}:${config.customerioToken}`).toString( 'base64' ) @@ -109,16 +108,8 @@ export const setupPlugin = async (meta: CustomerIoMeta) => { EVENTS_CONFIG_MAP[config.sendEventsFromAnonymousUsers || DEFAULT_SEND_EVENTS_FROM_ANONYMOUS_USERS] global.identifyByEmail = config.identifyByEmail === 'Yes' - const credentialsVerifiedPreviously = await storage.get(global.authorizationHeader, false) - - if (credentialsVerifiedPreviously) { - logger.log('Customer.io credentials verified previously. Completing setupPlugin.') - return - } - // See https://www.customer.io/docs/api/#operation/getCioAllowlist await callCustomerIoApi(meta, 'GET', 'api.customer.io', '/v1/api/info/ip_addresses', global.authorizationHeader) - await storage.set(global.authorizationHeader, true) logger.log('Successfully authenticated with Customer.io. Completing setupPlugin.') } @@ -154,9 +145,9 @@ export const onEvent = async (event: ProcessedPluginEvent, meta: CustomerIoMeta) } async function syncCustomerMetadata(meta: CustomerIoMeta, event: ProcessedPluginEvent): Promise { - const { storage, logger } = meta + const { logger } = meta const customerStatusKey = `customer-status/${event.distinct_id}` - const customerStatusArray = (await storage.get(customerStatusKey, [])) as string[] + const customerStatusArray = [] as string[] const customerStatus = new Set(customerStatusArray) as Customer['status'] const customerExistsAlready = customerStatus.has('seen') const email = getEmailFromEvent(event) @@ -173,7 +164,8 @@ async function syncCustomerMetadata(meta: CustomerIoMeta, event: ProcessedPlugin } if (customerStatus.size > customerStatusArray.length) { - await storage.set(customerStatusKey, Array.from(customerStatus)) + // TODO: Fix this + // await storage.set(customerStatusKey, Array.from(customerStatus)) } return { diff --git a/plugin-server/src/cdp/legacy-plugins/intercom/index.ts b/plugin-server/src/cdp/legacy-plugins/intercom/index.ts index bd3568ce65e00..bc0fd544a5528 100644 --- a/plugin-server/src/cdp/legacy-plugins/intercom/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/intercom/index.ts @@ -1,10 +1,10 @@ -import { Plugin, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { Response } from '~/src/utils/fetch' import { LegacyPlugin, LegacyPluginMeta } from '../types' -type IntercomPlugin = Plugin<{ +type IntercomMeta = LegacyPluginMeta & { global: { intercomUrl: string } @@ -14,9 +14,7 @@ type IntercomPlugin = Plugin<{ ignoredEmailDomains: string useEuropeanDataStorage: string } -}> - -type IntercomMeta = LegacyPluginMeta +} async function onEvent(event: ProcessedPluginEvent, meta: IntercomMeta): Promise { if (!isTriggeringEvent(meta.config.triggeringEvents, event.event)) { diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts index 22acb222c50cc..02f7a54f5ba9e 100644 --- a/plugin-server/src/cdp/legacy-plugins/types.ts +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -1,4 +1,4 @@ -import { Meta, PluginInput, ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { Response, trackedFetch } from '~/src/utils/fetch' @@ -9,13 +9,17 @@ export type LegacyPluginLogger = { error: (...args: any[]) => void } -export type LegacyPluginMeta = Meta & { +export type LegacyPluginMeta = { + // storage: StorageExtension + config: Record + global: Record + logger: LegacyPluginLogger fetch: (...args: Parameters) => Promise } export type LegacyPlugin = { id: string - onEvent(event: ProcessedPluginEvent, meta: LegacyPluginMeta): Promise - setupPlugin?: (meta: LegacyPluginMeta) => Promise + onEvent(event: ProcessedPluginEvent, meta: LegacyPluginMeta): Promise + setupPlugin?: (meta: LegacyPluginMeta) => Promise } From c2c1d551cfcb3bf49e110aa763e252ddfb6c9131 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 15:28:45 +0100 Subject: [PATCH 25/76] Added all production plugins --- .../currency-normalization/.gitignore | 4 + .../currency-normalization/.prettierrc | 7 + .../currency-normalization/LICENSE | 21 + .../currency-normalization/README.md | 15 + .../currency-normalization/__tests__/index.js | 101 + .../__tests__/rates.json | 179 + .../currency-normalization/index.js | 86 + .../currency-normalization/logo.png | Bin 0 -> 9325 bytes .../currency-normalization/package.json | 23 + .../currency-normalization/plugin.json | 50 + .../currency-normalization/yarn.lock | 3577 ++++ .../legacy-plugins/downsampling/.editorconfig | 14 + .../legacy-plugins/downsampling/.eslintrc.js | 11 + .../downsampling/.gitattributes | 2 + .../.github/pull_request_template.md | 7 + .../downsampling/.github/workflows/ci.yaml | 41 + .../legacy-plugins/downsampling/.gitignore | 76 + .../downsampling/.prettierignore | 1 + .../legacy-plugins/downsampling/.prettierrc | 7 + .../cdp/legacy-plugins/downsampling/LICENSE | 21 + .../cdp/legacy-plugins/downsampling/README.md | 15 + .../downsampling/jest.config.js | 4 + .../cdp/legacy-plugins/downsampling/logo.png | Bin 0 -> 15343 bytes .../legacy-plugins/downsampling/package.json | 28 + .../legacy-plugins/downsampling/plugin.json | 29 + .../downsampling/src/__tests__/index.test.js | 77 + .../legacy-plugins/downsampling/src/index.ts | 38 + .../legacy-plugins/downsampling/tsconfig.json | 16 + .../cdp/legacy-plugins/downsampling/yarn.lock | 4298 ++++ .../drop-events-on-property/.gitignore | 19 + .../drop-events-on-property/LICENSE | 21 + .../drop-events-on-property/README.md | 17 + .../drop-events-on-property/index.js | 17 + .../drop-events-on-property/logo.png | Bin 0 -> 1359 bytes .../drop-events-on-property/plugin.json | 26 + .../early-access-features-app/.gitignore | 130 + .../early-access-features-app/LICENSE | 21 + .../early-access-features-app/README.md | 26 + .../early-access-features-app/logo.png | Bin 0 -> 8735 bytes .../early-access-features-app/package.json | 14 + .../early-access-features-app/plugin.json | 29 + .../early-access-features-app/site.ts | 393 + .../.github/workflows/ci.yml | 23 + .../flatten-properties/.gitignore | 8 + .../flatten-properties/.prettierrc | 7 + .../legacy-plugins/flatten-properties/LICENSE | 21 + .../flatten-properties/README.md | 59 + .../flatten-properties/__tests__/index.js | 199 + .../flatten-properties/index.js | 51 + .../flatten-properties/logo.png | Bin 0 -> 4163 bytes .../flatten-properties/package.json | 30 + .../flatten-properties/plugin.json | 23 + .../flatten-properties/yarn.lock | 2681 +++ .../src/cdp/legacy-plugins/hubspot/.gitignore | 8 + .../cdp/legacy-plugins/hubspot/.prettierrc | 7 + .../src/cdp/legacy-plugins/hubspot/LICENSE | 21 + .../src/cdp/legacy-plugins/hubspot/README.md | 65 + .../src/cdp/legacy-plugins/hubspot/index.ts | 165 + .../src/cdp/legacy-plugins/hubspot/logo.png | Bin 0 -> 4585 bytes .../cdp/legacy-plugins/hubspot/package.json | 32 + .../cdp/legacy-plugins/hubspot/plugin.json | 79 + .../hubspot/readme-assets/hubspot-data.png | Bin 0 -> 186727 bytes .../src/cdp/legacy-plugins/hubspot/yarn.lock | 865 + .../language-url-splitter-app/.gitignore | 3 + .../language-url-splitter-app/.prettierrc | 7 + .../language-url-splitter-app/README.md | 8 + .../language-url-splitter-app/index.test.ts | 32 + .../language-url-splitter-app/index.ts | 15 + .../language-url-splitter-app/package.json | 17 + .../language-url-splitter-app/plugin.json | 53 + .../language-url-splitter-app/pnpm-lock.yaml | 3462 ++++ .../notification-bar-app/.gitignore | 3 + .../notification-bar-app/.prettierrc | 7 + .../notification-bar-app/README.md | 27 + .../notification-bar-app/logo.png | Bin 0 -> 337791 bytes .../notification-bar-app/package.json | 14 + .../notification-bar-app/plugin.json | 76 + .../notification-bar-app/pnpm-lock.yaml | 571 + .../notification-bar-app/site.ts | 79 + .../notification-bar-app/tsconfig.json | 18 + .../notification-bar-app/yarn.lock | 22 + .../pace-posthog-integration/.editorconfig | 14 + .../pace-posthog-integration/.eslintrc.js | 14 + .../pace-posthog-integration/.gitattributes | 2 + .../pace-posthog-integration/.gitignore | 76 + .../pace-posthog-integration/.prettierignore | 1 + .../pace-posthog-integration/.prettierrc | 7 + .../pace-posthog-integration/LICENSE | 21 + .../pace-posthog-integration/README.md | 7 + .../pace-posthog-integration/index.ts | 29 + .../pace-posthog-integration/jest.config.js | 13 + .../pace-posthog-integration/logo.png | Bin 0 -> 7236 bytes .../pace-posthog-integration/package.json | 56 + .../pace-posthog-integration/plugin.json | 18 + .../pace-posthog-integration/test/test.ts | 96 + .../pace-posthog-integration/tsconfig.json | 17 + .../pace-posthog-integration/yarn.lock | 5203 +++++ .../pineapple-mode-app/.gitignore | 2 + .../pineapple-mode-app/.prettierrc | 7 + .../pineapple-mode-app/README.md | 42 + .../pineapple-mode-app/logo.png | Bin 0 -> 128826 bytes .../pineapple-mode-app/package.json | 13 + .../pineapple-mode-app/plugin.json | 74 + .../pineapple-mode-app/pnpm-lock.yaml | 571 + .../legacy-plugins/pineapple-mode-app/site.ts | 110 + .../pineapple-mode-app/tsconfig.json | 18 + .../plugin-advanced-geoip/.eslintrc.js | 14 + .../.github/workflows/ci.yml | 50 + .../plugin-advanced-geoip/.gitignore | 2 + .../plugin-advanced-geoip/.prettierrc | 7 + .../.vscode/settings.json | 3 + .../plugin-advanced-geoip/LICENSE | 7 + .../plugin-advanced-geoip/README.md | 34 + .../plugin-advanced-geoip/cspell.json | 9 + .../plugin-advanced-geoip/index.test.ts | 155 + .../plugin-advanced-geoip/index.ts | 103 + .../plugin-advanced-geoip/jest.config.js | 13 + .../plugin-advanced-geoip/logo.png | Bin 0 -> 103564 bytes .../plugin-advanced-geoip/package.json | 45 + .../plugin-advanced-geoip/plugin.json | 24 + .../plugin-advanced-geoip/tsconfig.json | 17 + .../plugin-advanced-geoip/yarn.lock | 4938 +++++ .../posthog-ai-costs-app/.eslintrc.js | 13 + .../.github/workflows/main.yml | 23 + .../posthog-ai-costs-app/.gitignore | 19 + .../posthog-ai-costs-app/.prettierrc | 7 + .../posthog-ai-costs-app/LICENSE | 201 + .../posthog-ai-costs-app/README.md | 40 + .../posthog-ai-costs-app/jest.config.js | 9 + .../posthog-ai-costs-app/logo.png | Bin 0 -> 6761 bytes .../posthog-ai-costs-app/package-lock.json | 8008 ++++++++ .../posthog-ai-costs-app/package.json | 53 + .../posthog-ai-costs-app/plugin.json | 8 + .../posthog-ai-costs-app/pnpm-lock.yaml | 8454 ++++++++ .../src/ai-cost-data/anthropic/index.ts | 512 + .../src/ai-cost-data/awsBedrock/index.ts | 18 + .../src/ai-cost-data/azure/index.ts | 98 + .../src/ai-cost-data/cohere/index.ts | 19 + .../src/ai-cost-data/fireworks/index.ts | 208 + .../src/ai-cost-data/google/index.ts | 80 + .../src/ai-cost-data/groq/index.ts | 89 + .../src/ai-cost-data/mappings.ts | 237 + .../src/ai-cost-data/mistral/index.ts | 69 + .../ai-cost-data/openai/fine-tuned-models.ts | 39 + .../src/ai-cost-data/openai/index.ts | 856 + .../src/ai-cost-data/openrouter/index.ts | 2159 ++ .../src/ai-cost-data/qstash/index.ts | 29 + .../src/ai-cost-data/togetherai/chat/index.ts | 503 + .../src/ai-cost-data/togetherai/chat/llama.ts | 210 + .../togetherai/completion/index.ts | 228 + .../togetherai/completion/llama.ts | 134 + .../src/ai-cost-data/togetherai/generate.py | 136 + .../posthog-ai-costs-app/src/index.test.js | 57 + .../posthog-ai-costs-app/src/index.ts | 58 + .../src/interfaces/Cost.ts | 54 + .../posthog-ai-costs-app/tsconfig.json | 16 + .../posthog-ai-costs-app/tsup.config.json | 5 + .../posthog-app-unduplicator/.eslintrc.js | 14 + .../.github/workflows/ci.yml | 68 + .../posthog-app-unduplicator/.gitignore | 2 + .../posthog-app-unduplicator/.prettierrc | 7 + .../.vscode/settings.json | 3 + .../posthog-app-unduplicator/LICENSE | 21 + .../posthog-app-unduplicator/README.md | 37 + .../posthog-app-unduplicator/global.d.ts | 16 + .../posthog-app-unduplicator/index.test.ts | 127 + .../posthog-app-unduplicator/index.ts | 84 + .../posthog-app-unduplicator/jest.config.js | 14 + .../posthog-app-unduplicator/logo.png | Bin 0 -> 37485 bytes .../posthog-app-unduplicator/package.json | 47 + .../posthog-app-unduplicator/plugin.json | 16 + .../posthog-app-unduplicator/tsconfig.json | 17 + .../posthog-app-unduplicator/yarn.lock | 4837 +++++ .../.editorconfig | 14 + .../.eslintrc.js | 11 + .../.gitattributes | 2 + .../.github/pull_request_template.md | 7 + .../.github/workflows/ci.yml | 51 + .../.gitignore | 76 + .../.prettierignore | 1 + .../.prettierrc | 7 + .../LICENSE | 21 + .../README.md | 44 + .../index.test.ts | 683 + .../index.ts | 83 + .../jest.config.js | 5 + .../logo.png | Bin 0 -> 360574 bytes .../package.json | 47 + .../plugin.json | 61 + .../tsconfig.json | 14 + .../yarn.lock | 3099 +++ .../cdp/legacy-plugins/posthog-avo/.gitignore | 5 + .../legacy-plugins/posthog-avo/.prettierrc | 7 + .../cdp/legacy-plugins/posthog-avo/LICENSE | 21 + .../cdp/legacy-plugins/posthog-avo/README.md | 24 + .../cdp/legacy-plugins/posthog-avo/index.ts | 125 + .../cdp/legacy-plugins/posthog-avo/logo.png | Bin 0 -> 15862 bytes .../legacy-plugins/posthog-avo/package.json | 17 + .../legacy-plugins/posthog-avo/plugin.json | 65 + .../legacy-plugins/posthog-avo/tsconfig.json | 15 + .../cdp/legacy-plugins/posthog-avo/yarn.lock | 220 + .../posthog-braze-app/.eslintrc.js | 14 + .../.github/workflows/main.yml | 23 + .../posthog-braze-app/.gitignore | 19 + .../posthog-braze-app/.prettierrc | 7 + .../legacy-plugins/posthog-braze-app/LICENSE | 21 + .../posthog-braze-app/README.md | 90 + .../posthog-braze-app/babel.config.js | 12 + .../legacy-plugins/posthog-braze-app/index.ts | 211 + .../posthog-braze-app/jest.config.js | 15 + .../legacy-plugins/posthog-braze-app/logo.png | Bin 0 -> 79392 bytes .../posthog-braze-app/package.json | 53 + .../posthog-braze-app/plugin.json | 53 + .../tests/export-events.test.ts | 506 + .../posthog-braze-app/tests/index.test.ts | 9 + .../posthog-braze-app/tsconfig.json | 16 + .../posthog-braze-app/yarn.lock | 6345 ++++++ .../posthog-engage-so/.gitignore | 4 + .../posthog-engage-so/README.md | 27 + .../legacy-plugins/posthog-engage-so/index.js | 32 + .../legacy-plugins/posthog-engage-so/logo.png | Bin 0 -> 24544 bytes .../posthog-engage-so/package.json | 25 + .../posthog-engage-so/plugin.json | 37 + .../posthog-engage-so/test/index.test.js | 168 + .../posthog-filter-out/.eslintrc.js | 19 + .../.github/workflows/tests.yml | 23 + .../posthog-filter-out/.gitignore | 122 + .../legacy-plugins/posthog-filter-out/LICENSE | 18 + .../posthog-filter-out/README.md | 93 + .../posthog-filter-out/logo.png | Bin 0 -> 7626 bytes .../posthog-filter-out/package.json | 28 + .../posthog-filter-out/plugin.json | 32 + .../posthog-filter-out/pnpm-lock.yaml | 3100 +++ .../posthog-filter-out/src/main.test.ts | 252 + .../posthog-filter-out/src/main.ts | 123 + .../posthog-filter-out/tsconfig.json | 19 + .../cdp/legacy-plugins/posthog-gcs/.gitignore | 4 + .../legacy-plugins/posthog-gcs/.prettierrc | 7 + .../cdp/legacy-plugins/posthog-gcs/LICENSE | 21 + .../cdp/legacy-plugins/posthog-gcs/README.md | 19 + .../cdp/legacy-plugins/posthog-gcs/index.ts | 161 + .../cdp/legacy-plugins/posthog-gcs/logo.png | Bin 0 -> 15848 bytes .../legacy-plugins/posthog-gcs/package.json | 16 + .../legacy-plugins/posthog-gcs/plugin.json | 30 + .../legacy-plugins/posthog-gcs/tsconfig.json | 15 + .../cdp/legacy-plugins/posthog-gcs/yarn.lock | 569 + .../posthog-patterns-app/.gitignore | 19 + .../posthog-patterns-app/LICENSE | 21 + .../posthog-patterns-app/README.md | 22 + .../posthog-patterns-app/babel.config.js | 12 + .../posthog-patterns-app/index.test.ts | 65 + .../posthog-patterns-app/index.ts | 50 + .../posthog-patterns-app/jest.config.js | 9 + .../posthog-patterns-app/logo.png | Bin 0 -> 3525 bytes .../posthog-patterns-app/package-lock.json | 13464 +++++++++++++ .../posthog-patterns-app/package.json | 21 + .../patterns_graph_webhook.png | Bin 0 -> 63342 bytes .../posthog-patterns-app/plugin.json | 22 + .../posthog-patterns-app/tsconfig.json | 16 + .../posthog-patterns-app/types.d.ts | 1 + .../posthog-patterns-app/yarn.lock | 3702 ++++ .../posthog-plugin-geoip/.editorconfig | 14 + .../posthog-plugin-geoip/.eslintrc.js | 14 + .../posthog-plugin-geoip/.gitattributes | 2 + .../.github/pull_request_template.md | 7 + .../.github/workflows/ci.yml | 41 + .../posthog-plugin-geoip/.gitignore | 76 + .../posthog-plugin-geoip/.prettierignore | 1 + .../posthog-plugin-geoip/.prettierrc | 7 + .../GeoLite2-City-Test.mmdb | Bin 0 -> 20809 bytes .../posthog-plugin-geoip/LICENSE | 21 + .../posthog-plugin-geoip/README.md | 59 + .../posthog-plugin-geoip/index.test.ts | 141 + .../posthog-plugin-geoip/index.ts | 119 + .../posthog-plugin-geoip/jest.config.js | 13 + .../posthog-plugin-geoip/logo.png | Bin 0 -> 15719 bytes .../posthog-plugin-geoip/package.json | 57 + .../posthog-plugin-geoip/plugin.json | 8 + .../posthog-plugin-geoip/tsconfig.json | 16 + .../posthog-plugin-geoip/yarn.lock | 4994 +++++ .../posthog-plugin-replicator/.editorconfig | 14 + .../posthog-plugin-replicator/.eslintrc.js | 14 + .../posthog-plugin-replicator/.gitattributes | 2 + .../.github/pull_request_template.md | 7 + .../.github/workflows/ci.yml | 21 + .../posthog-plugin-replicator/.gitignore | 76 + .../posthog-plugin-replicator/.prettierignore | 1 + .../posthog-plugin-replicator/.prettierrc | 7 + .../posthog-plugin-replicator/LICENSE | 21 + .../posthog-plugin-replicator/README.md | 18 + .../posthog-plugin-replicator/index.ts | 119 + .../posthog-plugin-replicator/jest.config.js | 13 + .../posthog-plugin-replicator/logo.png | Bin 0 -> 3526 bytes .../posthog-plugin-replicator/package.json | 59 + .../posthog-plugin-replicator/plugin.json | 47 + .../test/data/autocapture-event.json | 177 + .../test/data/event.json | 9 + .../test/data/events-to-ignore.json | 29 + .../posthog-plugin-replicator/test/test.ts | 353 + .../posthog-plugin-replicator/tsconfig.json | 16 + .../posthog-plugin-replicator/yarn.lock | 5634 ++++++ .../posthog-route-censor/.eslintrc.js | 28 + .../posthog-route-censor/.gitignore | 7 + .../posthog-route-censor/.husky/pre-commit | 5 + .../posthog-route-censor/.prettierignore | 2 + .../posthog-route-censor/.prettierrc | 7 + .../posthog-route-censor/LICENSE | 29 + .../posthog-route-censor/README.md | 108 + .../posthog-route-censor/logo.png | Bin 0 -> 85255 bytes .../posthog-route-censor/package.json | 50 + .../posthog-route-censor/plugin.json | 43 + .../posthog-route-censor/rollup.config.mjs | 20 + .../src/assets/exampleRoutes.json | 14 + .../posthog-route-censor/src/index.d.ts | 10 + .../posthog-route-censor/src/index.ts | 41 + .../posthog-route-censor/src/types/index.ts | 6 + .../src/utils/censorProperties.ts | 40 + .../src/utils/censorUrlPath.ts | 41 + .../src/utils/checkIsValidHttpUrl.ts | 8 + .../posthog-route-censor/src/utils/index.ts | 2 + .../posthog-route-censor/tsconfig.json | 24 + .../posthog-route-censor/yarn.lock | 1292 ++ .../.github/ISSUE_TEMPLATE/bug_report.md | 27 + .../.github/ISSUE_TEMPLATE/feature_request.md | 20 + .../.github/workflows/ci.yml | 23 + .../posthog-url-normalizer/.gitignore | 19 + .../posthog-url-normalizer/LICENSE | 21 + .../posthog-url-normalizer/README.md | 38 + .../posthog-url-normalizer/index.test.ts | 143 + .../posthog-url-normalizer/index.ts | 29 + .../posthog-url-normalizer/jest.config.js | 5 + .../posthog-url-normalizer/logo.png | Bin 0 -> 3319 bytes .../posthog-url-normalizer/package.json | 16 + .../posthog-url-normalizer/plugin.json | 12 + .../posthog-url-normalizer/tsconfig.json | 103 + .../posthog-url-normalizer/yarn.lock | 2326 +++ .../property-filter/.github/workflows/ci.yml | 27 + .../legacy-plugins/property-filter/.gitignore | 4 + .../property-filter/.prettierrc | 7 + .../legacy-plugins/property-filter/LICENSE | 21 + .../legacy-plugins/property-filter/README.md | 15 + .../legacy-plugins/property-filter/index.js | 35 + .../property-filter/index.test.js | 72 + .../legacy-plugins/property-filter/logo.png | Bin 0 -> 1359 bytes .../property-filter/make-release | 1 + .../property-filter/package.json | 24 + .../property-filter/plugin.json | 19 + .../legacy-plugins/property-filter/yarn.lock | 2576 +++ .../src/cdp/legacy-plugins/pubsub/.gitignore | 2 + .../src/cdp/legacy-plugins/pubsub/.prettierrc | 7 + .../src/cdp/legacy-plugins/pubsub/README.md | 101 + .../src/cdp/legacy-plugins/pubsub/index.ts | 95 + .../src/cdp/legacy-plugins/pubsub/logo.png | Bin 0 -> 10740 bytes .../legacy-plugins/pubsub/package-lock.json | 725 + .../cdp/legacy-plugins/pubsub/package.json | 13 + .../src/cdp/legacy-plugins/pubsub/plugin.json | 44 + .../cdp/legacy-plugins/pubsub/tsconfig.json | 15 + .../.github/ISSUE_TEMPLATE/bug_report.md | 39 + .../.github/ISSUE_TEMPLATE/feature-request.md | 20 + .../.github/pull_request_template.md | 13 + .../rudderstack-posthog/.gitignore | 1 + .../rudderstack-posthog/.prettierrc | 7 + .../rudderstack-posthog/CODEOWNERS | 1 + .../rudderstack-posthog/CODE_OF_CONDUCT.md | 80 + .../rudderstack-posthog/CONTRIBUTING.md | 47 + .../rudderstack-posthog/LICENSE | 21 + .../rudderstack-posthog/README.md | 90 + .../rudderstack-posthog/images/PH-init.png | Bin 0 -> 70137 bytes .../rudderstack-posthog/images/PH-source.png | Bin 0 -> 47477 bytes .../Screenshot 2021-02-22 at 7.49.50 PM.png | Bin 0 -> 68948 bytes .../Screenshot 2021-02-22 at 7.50.55 PM.png | Bin 0 -> 396690 bytes .../rudderstack-posthog/index.js | 286 + .../rudderstack-posthog/logo.png | Bin 0 -> 1256 bytes .../rudderstack-posthog/package.json | 14 + .../rudderstack-posthog/plugin.json | 25 + .../rudderstack-posthog/yarn.lock | 8 + .../legacy-plugins/salesforce/.editorconfig | 14 + .../legacy-plugins/salesforce/.eslintrc.js | 11 + .../legacy-plugins/salesforce/.gitattributes | 2 + .../.github/pull_request_template.md | 7 + .../salesforce/.github/workflows/ci.yml | 59 + .../cdp/legacy-plugins/salesforce/.gitignore | 78 + .../legacy-plugins/salesforce/.prettierignore | 1 + .../cdp/legacy-plugins/salesforce/.prettierrc | 7 + .../legacy-plugins/salesforce/CHANGELOG.md | 9 + .../src/cdp/legacy-plugins/salesforce/LICENSE | 21 + .../cdp/legacy-plugins/salesforce/README.md | 86 + .../legacy-plugins/salesforce/jest.config.js | 13 + .../cdp/legacy-plugins/salesforce/logo.png | Bin 0 -> 1811 bytes .../salesforce/package-lock.json | 16614 ++++++++++++++++ .../legacy-plugins/salesforce/package.json | 47 + .../cdp/legacy-plugins/salesforce/plugin.json | 88 + .../salesforce/src/configValidation.test.ts | 51 + .../salesforce/src/eventSinkMapping.test.ts | 183 + .../salesforce/src/getProperties.test.ts | 86 + .../legacy-plugins/salesforce/src/index.ts | 328 + .../salesforce/src/onEvent.test.ts | 55 + .../src/sendEventToSalesforce.test.ts | 57 + .../legacy-plugins/salesforce/tsconfig.json | 15 + .../cdp/legacy-plugins/sendgrid/.gitignore | 8 + .../cdp/legacy-plugins/sendgrid/.prettierrc | 7 + .../src/cdp/legacy-plugins/sendgrid/LICENSE | 21 + .../src/cdp/legacy-plugins/sendgrid/README.md | 14 + .../sendgrid/__tests__/index.js | 144 + .../src/cdp/legacy-plugins/sendgrid/index.js | 145 + .../src/cdp/legacy-plugins/sendgrid/logo.png | Bin 0 -> 2284 bytes .../cdp/legacy-plugins/sendgrid/package.json | 34 + .../cdp/legacy-plugins/sendgrid/plugin.json | 26 + .../sendgrid/readme-assets/sendgrid-dash.png | Bin 0 -> 238803 bytes .../src/cdp/legacy-plugins/sendgrid/yarn.lock | 4088 ++++ .../cdp/legacy-plugins/taxonomy/.gitignore | 8 + .../cdp/legacy-plugins/taxonomy/.prettierrc | 7 + .../src/cdp/legacy-plugins/taxonomy/LICENSE | 21 + .../src/cdp/legacy-plugins/taxonomy/README.md | 13 + .../taxonomy/__tests__/index.js | 85 + .../src/cdp/legacy-plugins/taxonomy/index.js | 78 + .../src/cdp/legacy-plugins/taxonomy/logo.png | Bin 0 -> 2826 bytes .../cdp/legacy-plugins/taxonomy/package.json | 34 + .../cdp/legacy-plugins/taxonomy/plugin.json | 24 + .../src/cdp/legacy-plugins/taxonomy/yarn.lock | 3935 ++++ .../timestamp-parser/.gitignore | 8 + .../timestamp-parser/.prettierrc | 7 + .../legacy-plugins/timestamp-parser/LICENSE | 21 + .../legacy-plugins/timestamp-parser/README.md | 17 + .../timestamp-parser/__tests__/index.js | 50 + .../legacy-plugins/timestamp-parser/index.js | 18 + .../legacy-plugins/timestamp-parser/logo.png | Bin 0 -> 8651 bytes .../timestamp-parser/package.json | 34 + .../timestamp-parser/plugin.json | 6 + .../legacy-plugins/timestamp-parser/yarn.lock | 3935 ++++ 430 files changed, 144378 insertions(+) create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/readme-assets/hubspot-data.png create mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/pnpm-lock.yaml create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/babel.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/patterns_graph_webhook.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/GeoLite2-City-Test.mmdb create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/autocapture-event.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/event.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/events-to-ignore.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore create mode 100755 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/make-release create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-init.png create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-source.png create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.49.50 PM.png create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.50.55 PM.png create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.editorconfig create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.eslintrc.js create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.gitattributes create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.github/pull_request_template.md create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.github/workflows/ci.yml create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.prettierignore create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/CHANGELOG.md create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/jest.config.js create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/package-lock.json create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/readme-assets/sendgrid-dash.png create mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/logo.png create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json create mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore b/plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore new file mode 100644 index 0000000000000..14d44227306af --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore @@ -0,0 +1,4 @@ +.idea +.yalc +node_modules + diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc b/plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE b/plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE new file mode 100644 index 0000000000000..b6eb3b7dc527c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Marius Andra + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md b/plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md new file mode 100644 index 0000000000000..9e907dea5e170 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md @@ -0,0 +1,15 @@ +# [Posthog Currency Normalization Plugin](https://posthog.com/plugins/currency-normalization) + +This plugin is deprecated. + +Normalize currencies in events. E.g. amounts in EUR, USD and GBP will all be converted to EUR. + +## Setup in PostHog + +1. Visit the "Plugins" page in PostHog. +2. Either select the plugin from the repository or copy the URL of this repository to install. +3. Update the required settings (get the API key [here](https://openexchangerates.org/)) and enable the plugin. + +## Questions? + +### [Join our Slack community.](https://join.slack.com/t/posthogusers/shared_invite/enQtOTY0MzU5NjAwMDY3LTc2MWQ0OTZlNjhkODk3ZDI3NDVjMDE1YjgxY2I4ZjI4MzJhZmVmNjJkN2NmMGJmMzc2N2U3Yjc3ZjI5NGFlZDQ) diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js new file mode 100644 index 0000000000000..4f9d396bf9206 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js @@ -0,0 +1,101 @@ +const { + createEvent, + createIdentify, + createPageview, + createCache, + getMeta, + resetMeta, + clone, +} = require('posthog-plugins/test/utils.js') +const { setupPlugin, processEvent } = require('../index') +const rates = require('./rates.json') + +global.fetch = jest.fn(async () => ({ + json: async () => rates, +})) + +beforeEach(() => { + fetch.mockClear() + + resetMeta({ + config: { + openExchangeRatesApiKey: 'API_KEY', + normalizedCurrency: 'EUR', + amountProperty: 'amount', + currencyProperty: 'currency', + normalizedAmountProperty: 'normalized_amount', + normalizedCurrencyProperty: 'normalized_currency', + }, + }) +}) + +test('setupPlugin', async () => { + expect(fetch).toHaveBeenCalledTimes(0) + + await setupPlugin(getMeta()) + expect(fetch).toHaveBeenCalledTimes(1) + expect(fetch).toHaveBeenCalledWith('https://openexchangerates.org/api/latest.json?app_id=API_KEY') + + await setupPlugin(getMeta()) + expect(fetch).toHaveBeenCalledTimes(1) + + // clear the cache and try again: + getMeta().cache = createCache() + + await setupPlugin(getMeta()) + expect(fetch).toHaveBeenCalledTimes(2) + + // clear the cache and try again: + getMeta().cache = createCache() + getMeta().config.openExchangeRatesApiKey = '' + + await expect(setupPlugin(getMeta())).rejects.toThrow('No API key found!') +}) + +test('changes nothing for $pageview events', async () => { + const pageviewEvent = createPageview() + const processedPageviewEvent = await processEvent(clone(pageviewEvent), getMeta()) + expect(processedPageviewEvent).toEqual(pageviewEvent) + expect(fetch).toHaveBeenCalledTimes(0) +}) + +test('changes nothing for $identify events', async () => { + const identifyEvent = createIdentify() + const processedIdentifyEvent = await processEvent(clone(identifyEvent), getMeta()) + expect(processedIdentifyEvent).toEqual(identifyEvent) + expect(fetch).toHaveBeenCalledTimes(0) +}) + +test('fetches rates if none found', async () => { + const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'PLN' } }) + + await processEvent(clone(currencyEvent), getMeta()) + expect(fetch).toHaveBeenCalledTimes(1) + expect(fetch).toHaveBeenCalledWith('https://openexchangerates.org/api/latest.json?app_id=API_KEY') + + await processEvent(clone(currencyEvent), getMeta()) + expect(fetch).toHaveBeenCalledTimes(1) + expect(fetch).toHaveBeenCalledWith('https://openexchangerates.org/api/latest.json?app_id=API_KEY') +}) + +test('normalizes currency on events', async () => { + const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'PLN' } }) + const processedCurrencyEvent = await processEvent(clone(currencyEvent), getMeta()) + expect(processedCurrencyEvent).toEqual({ + ...currencyEvent, + properties: { ...currencyEvent.properties, normalized_amount: 4.4691, normalized_currency: 'EUR' }, + }) +}) + +test('bails if does not know the currency', async () => { + const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'ABC' } }) + const processedCurrencyEvent = await processEvent(clone(currencyEvent), getMeta()) + expect(processedCurrencyEvent).toEqual(currencyEvent) +}) + +test('bails if no API key found', async () => { + const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'USD' } }) + getMeta().config.openExchangeRatesApiKey = null + const processedCurrencyEvent = await processEvent(clone(currencyEvent), getMeta()) + expect(processedCurrencyEvent).toEqual(currencyEvent) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json new file mode 100644 index 0000000000000..a1106e0b7b073 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json @@ -0,0 +1,179 @@ +{ + "disclaimer": "Usage subject to terms: https://openexchangerates.org/terms", + "license": "https://openexchangerates.org/license", + "timestamp": 1606395600, + "base": "USD", + "rates": { + "AED": 3.673, + "AFN": 76.932772, + "ALL": 104.063386, + "AMD": 481.616228, + "ANG": 1.795167, + "AOA": 655.8475, + "ARS": 80.799783, + "AUD": 1.358257, + "AWG": 1.8, + "AZN": 1.7025, + "BAM": 1.643361, + "BBD": 2, + "BDT": 84.804658, + "BGN": 1.6442, + "BHD": 0.377092, + "BIF": 1937.803155, + "BMD": 1, + "BND": 1.33852, + "BOB": 6.895827, + "BRL": 5.3516, + "BSD": 1, + "BTC": 0.00005771433, + "BTN": 73.781715, + "BWP": 11.032736, + "BYN": 2.569109, + "BZD": 2.015897, + "CAD": 1.300744, + "CDF": 1965.922948, + "CHF": 0.90882, + "CLF": 0.027728, + "CLP": 765.099489, + "CNH": 6.571982, + "CNY": 6.575, + "COP": 3619.874051, + "CRC": 600.945306, + "CUC": 1.000134, + "CUP": 25.75, + "CVE": 93.15, + "CZK": 21.976033, + "DJF": 178.046302, + "DKK": 6.255944, + "DOP": 58.176342, + "DZD": 128.501426, + "EGP": 15.6966, + "ERN": 14.999905, + "ETB": 38.224749, + "EUR": 0.840622, + "FJD": 2.0726, + "FKP": 0.749208, + "GBP": 0.749208, + "GEL": 3.31, + "GGP": 0.749208, + "GHS": 5.855698, + "GIP": 0.749208, + "GMD": 51.775, + "GNF": 9832.048898, + "GTQ": 7.79841, + "GYD": 209.387141, + "HKD": 7.75079, + "HNL": 24.261852, + "HRK": 6.3513, + "HTG": 65.957793, + "HUF": 303.669311, + "IDR": 14148, + "ILS": 3.321437, + "IMP": 0.749208, + "INR": 73.856592, + "IQD": 1193.946411, + "IRR": 42105, + "ISK": 135.6, + "JEP": 0.749208, + "JMD": 147.241502, + "JOD": 0.709, + "JPY": 104.255, + "KES": 109.91, + "KGS": 84.814716, + "KHR": 4064.007415, + "KMF": 413.62507, + "KPW": 900, + "KRW": 1107.80002, + "KWD": 0.30598, + "KYD": 0.833347, + "KZT": 423.488053, + "LAK": 9276.379975, + "LBP": 1512.176085, + "LKR": 185.12101, + "LRD": 157.250002, + "LSL": 15.200788, + "LYD": 1.353034, + "MAD": 9.096661, + "MDL": 17.221924, + "MGA": 3909.448965, + "MKD": 51.77122, + "MMK": 1315.169225, + "MNT": 2840.535717, + "MOP": 7.984859, + "MRO": 357, + "MRU": 37.08, + "MUR": 39.853062, + "MVR": 15.41, + "MWK": 758.386392, + "MXN": 20.05165, + "MYR": 4.0695, + "MZN": 74.13, + "NAD": 15.28, + "NGN": 381.047523, + "NIO": 34.853884, + "NOK": 8.887729, + "NPR": 118.149105, + "NZD": 1.428869, + "OMR": 0.38501, + "PAB": 1, + "PEN": 3.60445, + "PGK": 3.51928, + "PHP": 48.108, + "PKR": 159.193036, + "PLN": 3.761938, + "PYG": 7049.331237, + "QAR": 3.64125, + "RON": 4.0975, + "RSD": 98.83, + "RUB": 75.695, + "RWF": 988.816167, + "SAR": 3.750463, + "SBD": 8.02131, + "SCR": 20.810848, + "SDG": 55.325, + "SEK": 8.536843, + "SGD": 1.3387, + "SHP": 0.749208, + "SLL": 10167.392806, + "SOS": 578.587253, + "SRD": 14.154, + "SSP": 130.26, + "STD": 20900.544238, + "STN": 20.82, + "SVC": 8.750231, + "SYP": 513.03575, + "SZL": 15.198716, + "THB": 30.282027, + "TJS": 11.328751, + "TMT": 3.51, + "TND": 2.73825, + "TOP": 2.289464, + "TRY": 7.894965, + "TTD": 6.785252, + "TWD": 28.511214, + "TZS": 2319.265, + "UAH": 28.445815, + "UGX": 3700.397298, + "USD": 1, + "UYU": 42.639526, + "UZS": 10362.208722, + "VEF": 248487.642241, + "VES": 916600, + "VND": 23177.147306, + "VUV": 111.952965, + "WST": 2.57281, + "XAF": 551.412185, + "XAG": 0.04281743, + "XAU": 0.00055163, + "XCD": 2.70255, + "XDR": 0.701804, + "XOF": 551.412185, + "XPD": 0.00042446, + "XPF": 100.312942, + "XPT": 0.00104059, + "YER": 250.349961, + "ZAR": 15.220557, + "ZMW": 21.012402, + "ZWL": 322 + } +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js b/plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js new file mode 100644 index 0000000000000..6edb74a616b15 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js @@ -0,0 +1,86 @@ +async function setupPlugin(meta) { + const apiKey = meta.config['openExchangeRatesApiKey'] || null + + if (apiKey) { + await fetchRatesIfNeeded(meta) + } else { + throw new Error('No API key found!') + } +} + +async function processEvent(event, meta) { + const { + openExchangeRatesApiKey, + normalizedCurrency, + amountProperty, + currencyProperty, + normalizedAmountProperty, + normalizedCurrencyProperty, + } = meta.config + + if ( + openExchangeRatesApiKey && + normalizedCurrency && + event?.properties && + typeof event.properties[amountProperty] !== 'undefined' && + typeof event.properties[currencyProperty] !== 'undefined' + ) { + await fetchRatesIfNeeded(meta) + const rates = await meta.cache.get('currency_rates') + + if (rates) { + const amount = event.properties[amountProperty] + const currency = event.properties[currencyProperty] + + if (rates[currency] && rates[normalizedCurrency]) { + const normalizedAmount = roundToDigits((amount * rates[normalizedCurrency]) / rates[currency], 4) + event.properties[normalizedAmountProperty] = normalizedAmount + event.properties[normalizedCurrencyProperty] = normalizedCurrency + } + } + } + + return event +} + +module.exports = { + setupPlugin, + processEvent, + schedule: { + hourly: [fetchRatesIfNeeded], + }, + webHooks: { + fetchRates, + }, +} + +// Internal library functions below + +async function fetchRatesIfNeeded(meta) { + const currencyRatesFetchedAt = await meta.cache.get('currency_rates_fetched_at') + if (!currencyRatesFetchedAt || currencyRatesFetchedAt < new Date().getTime() - 86400 * 1000) { + // 24h + await fetchRates(meta) + } +} + +async function fetchRates({ config, cache }) { + try { + const url = `https://openexchangerates.org/api/latest.json?app_id=${config['openExchangeRatesApiKey']}` + const response = await fetch(url, { timeout: 1000 }) + const json = await response.json() + + if (json && json['rates']) { + cache.set('currency_rates', json['rates']) + cache.set('currency_rates_fetched_at', new Date().getTime()) + } else { + throw new Error('Error fetching currency rates!') + } + } catch (e) { + throw new Error('Error fetching currency rates!') + } +} + +function roundToDigits(number, digits) { + return Math.round(number * Math.pow(10, digits)) / Math.pow(10, digits) +} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/logo.png b/plugin-server/src/cdp/legacy-plugins/currency-normalization/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a86e99a4f16f05aafafd3edad8898699d8d22e3e GIT binary patch literal 9325 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", + "license": "MIT", + "bugs": { + "url": "https://github.com/PostHog/posthog-currency-normalization-plugin/issues" + }, + "homepage": "https://github.com/PostHog/posthog-currency-normalization-plugin#readme", + "scripts": { + "test": "jest" + }, + "devDependencies": { + "jest": "^26.6.3", + "posthog-plugins": "^0.2.2" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json b/plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json new file mode 100644 index 0000000000000..ec9c36d6081b9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json @@ -0,0 +1,50 @@ +{ + "name": "Currency Normalization", + "url": "https://github.com/PostHog/posthog-currency-normalization-plugin", + "description": "Deprecated", + "main": "index.js", + "config": [ + { + "key": "openExchangeRatesApiKey", + "name": "OpenExchangeRates API Key", + "type": "string", + "default": "", + "required": true + }, + { + "key": "normalizedCurrency", + "name": "Currency to normalise to (e.g. \"EUR\")", + "type": "string", + "default": "", + "required": true + }, + { + "key": "amountProperty", + "name": "Property key for the amount", + "type": "string", + "default": "amount", + "required": true + }, + { + "key": "currencyProperty", + "name": "Property key for the currency", + "type": "string", + "default": "currency", + "required": true + }, + { + "key": "normalizedAmountProperty", + "name": "Property key for the normalized amount", + "type": "string", + "default": "normalized_amount", + "required": true + }, + { + "key": "normalizedCurrencyProperty", + "name": "Property key for the normalized currency", + "type": "string", + "default": "normalized_currency", + "required": true + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock b/plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock new file mode 100644 index 0000000000000..ddd11c70562ad --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock @@ -0,0 +1,3577 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/core@^7.1.0", "@babel/core@^7.7.5": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" + integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== + dependencies: + "@babel/types" "^7.12.5" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@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" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== + dependencies: + "@babel/types" "^7.12.7" + +"@babel/helper-module-imports@^7.12.1": + 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.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz#7f94ae5e08721a49467346aa04fd22f750033b9c" + integrity sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw== + dependencies: + "@babel/types" "^7.12.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + 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-replace-supers@^7.12.1": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" + integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" + +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@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/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.5" + "@babel/types" "^7.12.5" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056" + integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg== + +"@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.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": + 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.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f" + integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" + integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + 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" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@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.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" + integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.0.16" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.16.tgz#0bbbf70c7bc4193210dd27e252c51260a37cd6a7" + integrity sha512-S63Dt4CZOkuTmpLGGWtT/mQdVORJOpx6SZWGVaP56dda/0Nx5nEe82K7/LAm8zYr6SfMq+1N2OreIOrHAx656w== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*": + version "14.14.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" + integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/prettier@^2.0.0": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00" + integrity sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ== + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + +"@types/yargs@^15.0.0": + version "15.0.10" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.10.tgz#0fe3c8173a0d5c3e780b389050140c3f5ea6ea74" + integrity sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +ajv@^6.12.3: + 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" + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77" + integrity sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q== + 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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +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" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +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.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0: + 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: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +combined-stream@^1.0.6, 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" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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.2.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" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@^2.2.0, debug@^2.3.3: + 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.1.0, debug@^4.1.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" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +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" + +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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +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== + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + 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-json-stable-stringify@^2.0.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 sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +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" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +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" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.2.1.tgz#1fb02ded2036a8ac288d507a65962bd87b97628d" + integrity sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.1: + 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: + 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-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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-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" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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== + +graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +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== + +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" + +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" + integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== + 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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +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-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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-plain-object@^2.0.3, 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.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^3.13.1: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + 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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + dependencies: + abab "^2.0.3" + acorn "^7.1.1" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.2.0" + data-urls "^2.0.0" + decimal.js "^10.2.0" + domexception "^2.0.1" + escodegen "^1.14.1" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + saxes "^5.0.0" + symbol-tree "^3.2.4" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.2.3" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + 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@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +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" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +make-dir@^3.0.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" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + dependencies: + mime-db "1.44.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz#a7eee2d51da6d0f7ff5094bc7108c911240c1620" + integrity sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +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-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-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== + +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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" + +parse5@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.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" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +posthog-plugins@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/posthog-plugins/-/posthog-plugins-0.2.2.tgz#84bf2c7c50a3fea7a585187c9febda59ab774dd9" + integrity sha512-AFOKFexaCwKQ7+zjpM7g6Cj/75YF3QMx513xFahCHGAZrqrZuIPyY+xPvg1U4TA0J4P5OfzPz5tQYmPYcuppyw== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +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== + +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: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.18.1, resolve@^1.3.2: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^3.0.0: + 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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.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== + +semver@^7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.6" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" + integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-length@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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== + +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.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-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +uri-js@^4.2.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" + integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== + +v8-to-istanbul@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz#b4fe00e35649ef7785a9b7fcebcea05f37c332fc" + integrity sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +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, which@^2.0.2: + 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" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.2.3: + version "7.4.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +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.4.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" diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig b/plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig new file mode 100644 index 0000000000000..b0b709a63cc2d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js new file mode 100644 index 0000000000000..8d554700cc96b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js @@ -0,0 +1,11 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + extends: ['plugin:@typescript-eslint/recommended'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes b/plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes new file mode 100644 index 0000000000000..dfe0770424b2a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md new file mode 100644 index 0000000000000..3fe0f6f335209 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md @@ -0,0 +1,7 @@ +## Changes + +... + +## Checklist + +- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml b/plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml new file mode 100644 index 0000000000000..6e32f0b5e9065 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml @@ -0,0 +1,41 @@ +name: CI + +on: + - pull_request + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up Node 14 + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Run unit tests + run: yarn run test + + code-quality: + name: Code quality + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up Node 14 + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Lint + run: yarn run lint diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore b/plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore new file mode 100644 index 0000000000000..abd8ee954280e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore @@ -0,0 +1,76 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# environment variables file +.env +.environment + +# next.js build output +.next + +# editors +.vscode +.idea + +# yalc +.yalc +yalc* + +# macOS +.DS_Store + +# output +dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore b/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore new file mode 100644 index 0000000000000..1521c8b7652b1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore @@ -0,0 +1 @@ +dist diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc b/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE b/plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/README.md b/plugin-server/src/cdp/legacy-plugins/downsampling/README.md new file mode 100644 index 0000000000000..8ba1e9a914b56 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/README.md @@ -0,0 +1,15 @@ +# Downsampling Plugin + +Reduces the number of events going into PostHog + +## Installation + +1. Open PostHog. +1. Head to the Plugins page from the sidebar. +1. Either install Downsampling Plugin from Available plugins, or install from URL using this repository's URL. + +## Questions? + +### [Join our Slack community.](https://join.slack.com/t/posthogusers/shared_invite/enQtOTY0MzU5NjAwMDY3LTc2MWQ0OTZlNjhkODk3ZDI3NDVjMDE1YjgxY2I4ZjI4MzJhZmVmNjJkN2NmMGJmMzc2N2U3Yjc3ZjI5NGFlZDQ) + +We're here to help you with anything PostHog! diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js b/plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js new file mode 100644 index 0000000000000..341dbdf6ea232 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js @@ -0,0 +1,4 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/logo.png b/plugin-server/src/cdp/legacy-plugins/downsampling/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2e83caeea403a618ce8f0989ef413b4c15753ccf GIT binary patch literal 15343 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 CESk*# literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/package.json b/plugin-server/src/cdp/legacy-plugins/downsampling/package.json new file mode 100644 index 0000000000000..96984564a652b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/package.json @@ -0,0 +1,28 @@ +{ + "name": "@posthog/downsampling-plugin", + "private": true, + "version": "0.1.0", + "description": "Downsample PostHog events", + "dependencies": { + "@posthog/plugin-scaffold": "^0.5.0" + }, + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc" + }, + "devDependencies": { + "@types/jest": "^26.0.23", + "@typescript-eslint/eslint-plugin": "^4.22.1", + "@typescript-eslint/parser": "^4.22.1", + "eslint": "^7.25.0", + "jest": "^26.6.3", + "prettier": "^2.2.1", + "ts-jest": "^26.5.5", + "typescript": "^4.2.4" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json b/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json new file mode 100644 index 0000000000000..5feab1574bafd --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json @@ -0,0 +1,29 @@ +{ + "name": "Downsampling Plugin", + "url": "https://github.com/posthog/downsampling-plugin", + "description": "Reduces event volume coming into PostHog", + "main": "src/index.ts", + "posthogVersion": ">= 1.24.0", + "config": [ + { + "key": "percentage", + "hint": "Reduces events flowing in to the percentage value above", + "name": "% of events to keep", + "type": "string", + "default": "100", + "required": false + }, + { + "key": "samplingMethod", + "hint": "`Distinct ID aware sampling` will sample based on distinct IDs, meaning that a user's events will all be ingested or all be dropped at a given sample percentage.", + "name": "Sampling method", + "type": "choice", + "choices": [ + "Random sampling", + "Distinct ID aware sampling" + ], + "default": "Distinct ID aware sampling", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js b/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js new file mode 100644 index 0000000000000..8ba16ecc8fc27 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js @@ -0,0 +1,77 @@ +const { createEvent, getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils') +const { randomBytes } = require('crypto') + +const { processEvent, setupPlugin } = require('../index.ts') + +beforeEach(() => { + resetMeta({ + config: { + percentage: '100', + }, + }) +}) + +test('processEvent filters event', () => { + // Setup Plugin + setupPlugin(getMeta()) + + for (let i = 0; i < 100; i++) { + const event0 = createEvent({ distinct_id: randomBytes(10).toString('hex') }) + const event1 = processEvent(event0, getMeta()) + expect(event1).toEqual(event0) + } +}) + +test('processEvent filters 0 events at 0 percent', () => { + resetMeta({ + config: { + percentage: '0', + }, + }) + + // Setup Plugin + setupPlugin(getMeta()) + + // create a random event + const event0 = createEvent({ event: 'blah' }) + + for (let i = 0; i < 100; i++) { + const event1 = processEvent(event0, getMeta()) + expect(event1).toBeNull() + } +}) + + + +test('processEvent filters same events at different increasing percent', () => { + + // create an event. Hash generates 0.42 + const event0 = createEvent({ distinct_id: '1' }) + + for (let i = 0; i < 5; i++) { + resetMeta({ + config: { + percentage: (i*10).toString(), + }, + }) + // Setup Plugin + setupPlugin(getMeta()) + + const event1 = processEvent(event0, getMeta()) + expect(event1).toBeNull() + } + + for (let i = 5; i <= 10; i++) { + resetMeta({ + config: { + percentage: (i*10).toString(), + }, + }) + // Setup Plugin + setupPlugin(getMeta()) + + const event1 = processEvent(event0, getMeta()) + expect(event1).toEqual(event0) + } +}) + diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts b/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts new file mode 100644 index 0000000000000..ec89c30bcc745 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts @@ -0,0 +1,38 @@ +import { PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' +import { createHash } from 'crypto' + +export function setupPlugin({ config, global }: PluginMeta) { + const percentage = parseFloat(config.percentage) + if (isNaN(percentage) || percentage > 100 || percentage < 0) { + throw new Error('Percentage must be a number between 0 and 100.') + } + global.percentage = percentage + global.randomSampling = config.samplingMethod === 'Random sampling' +} + +// /* Runs on every event */ +export function processEvent(event: PluginEvent, { global }: PluginMeta) { + + // hash is a sha256 hash of the distinct_id represented in base 16 + // We take the first 15 digits, convert this into an integer, + // dividing by the biggest 15 digit, base 16 number to get a value between 0 and 1. + // This is stable, so a distinct_id that was allowed before will continue to be allowed, + // even if the percentage increases + + + let shouldIngestEvent = true + if (global.randomSampling) { + shouldIngestEvent = parseInt(Math.random()*100) <= global.percentage + } else { + const hash = createHash("sha256") + .update(event.distinct_id) + .digest("hex") + const decisionValue = parseInt(hash.substring(0, 15), 16) / 0xfffffffffffffff + shouldIngestEvent = decisionValue <= global.percentage / 100 + } + + if (shouldIngestEvent) { + return event + } + return null +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json new file mode 100644 index 0000000000000..d944d12ad04ef --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "CommonJS", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "outDir": "dist", + "rootDir": "src" + }, + "exclude": ["**/*.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock b/plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock new file mode 100644 index 0000000000000..91e43132bba4d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock @@ -0,0 +1,4298 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@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.0.0", "@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.12.13" + +"@babel/compat-data@^7.13.15": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919" + integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== + +"@babel/core@^7.1.0", "@babel/core@^7.7.5": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.0.tgz#47299ff3ec8d111b493f1a9d04bf88c04e728d88" + integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.14.0" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-module-transforms" "^7.14.0" + "@babel/helpers" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.14.0": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.1.tgz#1f99331babd65700183628da186f36f63d615c93" + integrity sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ== + dependencies: + "@babel/types" "^7.14.1" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-compilation-targets@^7.13.16": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" + integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== + dependencies: + "@babel/compat-data" "^7.13.15" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-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.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.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz#8fcf78be220156f22633ee204ea81f73f826a8ad" + integrity sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw== + 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.14.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" + +"@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.12.13", "@babel/helper-plugin-utils@^7.8.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-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.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-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + +"@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/helpers@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" + integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" + integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.0": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.1.tgz#1bd644b5db3f5797c4479d89ec1817fe02b84c47" + integrity sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q== + +"@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.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-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-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.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-top-level-await@^7.8.3": + 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.12.13" + +"@babel/template@^7.12.13", "@babel/template@^7.3.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.0.tgz#cea0dc8ae7e2b1dec65f512f39f3483e8cc95aef" + integrity sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.14.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.14.0" + "@babel/types" "^7.14.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.1", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.1.tgz#095bd12f1c08ab63eff6e8f7745fa7c9cc15a9db" + integrity sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + 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== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@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" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@maxmind/geoip2-node@^2.3.1": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-2.3.2.tgz#a0aaf8452693491e815021fe16e692959490ba6d" + integrity sha512-a1TSZt3uWe7yrgE2WMdTItK6XuG2Aj125cAXA+JuT2nomv3oqIK8XXg9iJVpzNXAYRV72XO0+zY+3HluOGgF3w== + dependencies: + camelcase-keys "^6.0.1" + ip6addr "^0.2.3" + lodash.set "^4.3.2" + maxmind "^4.2.0" + +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + +"@posthog/plugin-scaffold@^0.5.0": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.5.1.tgz#7003f2611e38df06ddade5c20cc69c9982a8bfe4" + integrity sha512-N7/L70tluSnV6Y3/8xuEiXldKFM+R/p9sTQU7IOXQFzt+4WxYvP0iboda4xyIK7bMuy0XN4K8JyKen78N6rugw== + dependencies: + "@maxmind/geoip2-node" "^2.3.1" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.14" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" + integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.11.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" + integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@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" + +"@types/json-schema@^7.0.3": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + +"@types/node@*": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.2.tgz#51e9c0920d1b45936ea04341aa3e2e58d339fb67" + integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/prettier@^2.0.0": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" + integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@types/yargs@^15.0.0": + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.1.tgz#6bcdbaa4548553ab861b4e5f34936ead1349a543" + integrity sha512-kVTAghWDDhsvQ602tHBc6WmQkdaYbkcTwZu+7l24jtJiYvm9l+/y/b2BZANEezxPDiX5MK2ZecE+9BFi/YJryw== + dependencies: + "@typescript-eslint/experimental-utils" "4.22.1" + "@typescript-eslint/scope-manager" "4.22.1" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.1.tgz#3938a5c89b27dc9a39b5de63a62ab1623ab27497" + integrity sha512-svYlHecSMCQGDO2qN1v477ax/IDQwWhc7PRBiwAdAMJE7GXk5stF4Z9R/8wbRkuX/5e9dHqbIWxjeOjckK3wLQ== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.22.1" + "@typescript-eslint/types" "4.22.1" + "@typescript-eslint/typescript-estree" "4.22.1" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.1.tgz#a95bda0fd01d994a15fc3e99dc984294f25c19cc" + integrity sha512-l+sUJFInWhuMxA6rtirzjooh8cM/AATAe3amvIkqKFeMzkn85V+eLzb1RyuXkHak4dLfYzOmF6DXPyflJvjQnw== + dependencies: + "@typescript-eslint/scope-manager" "4.22.1" + "@typescript-eslint/types" "4.22.1" + "@typescript-eslint/typescript-estree" "4.22.1" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.1.tgz#5bb357f94f9cd8b94e6be43dd637eb73b8f355b4" + integrity sha512-d5bAiPBiessSmNi8Amq/RuLslvcumxLmyhf1/Xa9IuaoFJ0YtshlJKxhlbY7l2JdEk3wS0EnmnfeJWSvADOe0g== + dependencies: + "@typescript-eslint/types" "4.22.1" + "@typescript-eslint/visitor-keys" "4.22.1" + +"@typescript-eslint/types@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.1.tgz#bf99c6cec0b4a23d53a61894816927f2adad856a" + integrity sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw== + +"@typescript-eslint/typescript-estree@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.1.tgz#dca379eead8cdfd4edc04805e83af6d148c164f9" + integrity sha512-p3We0pAPacT+onSGM+sPR+M9CblVqdA9F1JEdIqRVlxK5Qth4ochXQgIyb9daBomyQKAXbygxp1aXQRV0GC79A== + dependencies: + "@typescript-eslint/types" "4.22.1" + "@typescript-eslint/visitor-keys" "4.22.1" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.1.tgz#6045ae25a11662c671f90b3a403d682dfca0b7a6" + integrity sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ== + dependencies: + "@typescript-eslint/types" "4.22.1" + eslint-visitor-keys "^2.0.0" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +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-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.1.0: + version "8.2.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" + integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== + +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + 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.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602" + integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +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-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + 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== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.14.5: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +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" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.0.1: + 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@^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.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001219: + version "1.0.30001223" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001223.tgz#39b49ff0bfb3ee3587000d2f66c47addc6e14443" + integrity sha512-k/RYs6zc/fjbxTjaWZemeSmOjO0JJV+KguOBA3NwPup8uzxM1cMhR2BD9XmO86GuqaqTCO8CgkgH9Rz//vdDiA== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0: + 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: + 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" + +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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +combined-stream@^1.0.6, 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" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@^2.2.0, debug@^2.3.3: + 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.0.1, debug@^4.1.0, debug@^4.1.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" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.3.723: + version "1.3.727" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz#857e310ca00f0b75da4e1db6ff0e073cc4a91ddf" + integrity sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5: + 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" + +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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-scope@^5.0.0, 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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.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" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.21" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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.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: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +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== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + 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-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +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" + +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@^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== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +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" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +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: + 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-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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-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" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.0: + 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globals@^13.6.0: + version "13.8.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" + integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.1: + version "11.0.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.2.4: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +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== + +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" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip6addr@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" + integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.4.0" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" + integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== + 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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +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-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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-plain-object@^2.0.3, 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.0: + 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-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.5.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136" + integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA== + dependencies: + abab "^2.0.5" + acorn "^8.1.0" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "6.0.1" + request "^2.88.2" + request-promise-native "^1.0.9" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.4" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsprim@^1.2.2, jsprim@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +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" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +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" + +make-dir@^3.0.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-error@1.x: + 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.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +maxmind@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.1.tgz#b20103f19e9fc12e4d1618814380d89a00f65770" + integrity sha512-0CxAgwWIwQy4zF1/qCMOeUPleMTYgfnsuIsZ4Otzx6hzON4PCqivPiH6Kz7iWrC++KOGCbSB3nxkJMvDEdWt6g== + dependencies: + mmdb-lib "1.2.0" + tiny-lru "7.0.6" + +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: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== + dependencies: + mime-db "1.47.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mmdb-lib@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-1.2.0.tgz#0ecd93f4942f65a2d09be0502fa9126939606727" + integrity sha512-3XYebkStxqCgWJjsmT9FCaE19Yi4Tvs2SBPKhUks3rJJh52oF1AKAd9kei+LTutud3a6RCZ0o2Um96Fn7o3zVA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^1.1.71: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +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-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-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: + 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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +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== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" + integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.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" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +prompts@^2.0.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +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== + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "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@^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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.18.1: + 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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +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" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.2.1, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.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== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +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@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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.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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +table@^6.0.4: + version "6.6.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e" + integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.flatten "^4.4.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +tiny-lru@7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" + integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +ts-jest@^26.5.5: + 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" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +tslib@^1.8.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.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +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-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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-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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" + integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== + dependencies: + lodash "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +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, which@^2.0.2: + 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" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.4: + version "7.4.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" + integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +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== + +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== + +yargs-parser@20.x: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +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.4.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" diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore new file mode 100644 index 0000000000000..e82eb841636eb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore @@ -0,0 +1,19 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +node_modules/ +.npm + +# Editors +.vscode +.idea + +# Yalc +.yalc +yalc* + +# macOS +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md new file mode 100644 index 0000000000000..828554bcd5143 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md @@ -0,0 +1,17 @@ +# Drop Events based on Property plugin + +> **Warning** +> This plugin has been deprecated in favor of the [Filter Out Plugin](https://posthog.com/docs/cdp/filter-out). + +[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) + +This plugin will drop all events if it contains the property key, and optionally whether that property has a specific value + +## Installation + +1. Open PostHog. +1. Go to the Plugins page from the sidebar. +1. Head to the Advanced tab. +1. "Install from GitHub, GitLab or npm" using this repository's URL. + +We're here to help you with anything PostHog! diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js new file mode 100644 index 0000000000000..6ee9d72360b91 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js @@ -0,0 +1,17 @@ +// Learn more about plugins at: https://posthog.com/docs/plugins/build/overview + +// Processes each event, optionally transforming it +export function processEvent(event, { config }) { + // Some events (such as $identify) don't have properties + if (event.properties && event.properties[config.property_key]) { + if (!config.property_values || config.property_values == '') { + return null + } + const values = config.property_values.split(',') + if (values.indexOf(event.properties[config.property_key]) > -1) { + return null + } + } + // Return the event to be ingested, or return null to discard + return event +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/logo.png b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c349dde8a16d61416925c3d1a5248d8bb429013 GIT binary patch literal 1359 zcmV-V1+e;wP)h$^qdBKRl;`;pl3VgzMw%w4#!zp`A?zLGm_1_+wRQd@(_T;k{-ci000E4Nkl5Jd$=L>zFQTK)gOyxLwH0w+wVBqXc$t9FuYhAIl^(THIfhG7_nVHk#C z7=~dOhG7_n@s%_Rvu9w9XBI{&g~uVYC-EgasC%pu+ZJzm5FRg+yP8KjfOYjD zQ`;wz?eXVCN+LJg!_NtoL(~!eGd(FT*g7T~&|&gWZx}4DS9DUV z`_*umqW(x$^BA=p#3c7Ds-3~2IZ^n!z{Zbfn%0YeQ}?~DE>!J<)9}TUe0kx1C^zKw z2!AQ!KeHYmBhw=S)^>K>f9bVIEn0$MW!)q zh%QNNVhxX(&S741>P|IYwUv>?#-vlp2A{gbNn#U{46n;3#iy?3dO-Vev<>r;Q#UbK z%KUP`2Tr@8OmH|_5IiZ@9m!zYq)3ueH#1u8&%xJ?LGaUX4yQ}W`E8^ci${b_p0z7P zk{bkClf)(@k8ak5G}+Ouy%1XuE_~FOobey%tX;N4_5(|z{OkvQy=hySK$1i*;LuXM zKMW;_P2i34g9Zo7ueP^G4h{<-GQ!fn?rXs=z>QK}Tq)Whx=JPefU#j${?-M2$;>^; z_Mm8;l*d?|H>&y`C19hJMp?Z@Jf!WBQ;m(KJF%5>+I|$oRFg8cOM>w}uHJ=TRR9sy@#m_{^{V=i;DOce>hwzM*5Nf7_-5+1XpjX@m zLKHDpgX@j>%t!HeFN!F>F=Yhdfw5vWp=fBK>eHEX3z1~-JLF9!5h*M!wfCh=ag&G? zPG-Xo5cec*7BT!tcTdI=kwP39VDb)-iQHJk5;Bp{7m=MWA~B0tLMF2GMP$q(mXL|e zeGystB6497OUOhbUqlYRh}>Dk5;BpsFCq_LL?*t7oP80w`XVy(MP%!XNa~BoDDg#P z!6J5$icEbGIr$=zIV=+5`_t};2oC@qT^1=mTIRM$;mzc|<05~rEIBXoeewO~mn#gDdUL|`iuh=<}(dYu+vp>4FM}9$*61XUWcZ!oDb(7+j zNX?|UCL)~_=R{ZCX;Ql1odMM{(6vWPG#PKy*L#c`2* zQd}4Ln-up&{!fYrBA-d|LgYOueu%s#WiT(WGYrEp48t%C!!QiPFbu= 1.25.0", + "config": [ + { + "markdown": "Configure the key and optional value to filter events on" + }, + { + "key": "property_key", + "hint": "Which property key to filter on. If you do not specify a value, all events with this key will be dropped.", + "name": "Property key to filter on", + "type": "string", + "required": true + }, + { + "key": "property_values", + "hint": "Which value to match to drop events. Split multiple values by comma to filter.", + "name": "Property value to filter on", + "type": "string", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/.gitignore new file mode 100644 index 0000000000000..c6bba59138121 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/.gitignore @@ -0,0 +1,130 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/LICENSE new file mode 100644 index 0000000000000..d1e439cba370e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/README.md b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/README.md new file mode 100644 index 0000000000000..6bcd42db30405 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/README.md @@ -0,0 +1,26 @@ +# Early Access Features App + +Give your users the ability to opt-in to features + +## Installation + +1. Make sure you have enabled `opt_in_site_apps: true` in your posthog-js config init. +2. Install the app from the PostHog App Repository +3. Customise the text, and enable the plugin +4. Add a button with a corresponding data attribute e.g. `data-attr='posthog-beta-button'` which when clicked will open the beta widget + + +## Local development + +For local development, clone the repo and run + +```bash +npx @posthog/app-dev-server +``` + +or + +```bash +pnpm install +pnpm start +``` diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/logo.png b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..015439cc60b99ebde7f412c55926f1cde714159c GIT binary patch literal 8735 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Ð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 HX%_Z>17!^3 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json new file mode 100644 index 0000000000000..930b926d4c6ed --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json @@ -0,0 +1,14 @@ +{ + "name": "early-access-features-app", + "version": "1.0.0", + "description": "", + "author": "", + "license": "MIT", + "scripts": { + "start": "app-dev-server" + }, + "dependencies": {}, + "devDependencies": { + "@posthog/app-dev-server": "^1.1.1" + } +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json new file mode 100644 index 0000000000000..f2d9505ce8e41 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json @@ -0,0 +1,29 @@ +{ + "name": "Early Access Features App", + "config": [ + { + "markdown": "## MANUAL STEP NOTICE: This app is used with Early Access Feature Management and needs to inject code into your website through posthog-js. You need to **opt-in** on your site to enable this behaviour.\n\n```\nposthog.init(\"api_key\", {\n \"api_host\": \"https://app.posthog.com\",\n \"opt_in_site_apps\": true,\n})\n```" + }, + { + "key": "selector", + "name": "Selector", + "hint": "CSS selector to activate on. For example: \"#my-beta-button\" or \"[data-attr='posthog-early-access-features-button']\"", + "type": "string", + "default": "", + "site": true + }, + { + "key": "useButton", + "name": "Show features button on the page", + "hint": "If enabled, a button will be shown on the page that will open the features modal.", + "type": "choice", + "choices": [ + "Yes", + "No" + ], + "default": "No", + "required": false, + "site": true + } + ] +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts new file mode 100644 index 0000000000000..ffecb5d363e9e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts @@ -0,0 +1,393 @@ +// site.ts + +const style = (config) => ` + + .list-container { + flex: 1; + flex-direction: row; + overflow-y: auto; + } + + .info { + flex: 2; + } + + .list-item { + padding: 15px 30px; + height: 35%; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid #00000026; + + .list-item-name { + font-size: 18px; + } + + .list-item-description { + font-size: 14px; + } + + .list-item-documentation-link { + margin-top: 15px; + + .label { + text-decoration: none; + } + } + } + + .list-content { + margin-right: 20px; + } + + .beta-feature-button { + position: fixed; + bottom: 20px; + right: 20px; + font-weight: normal; + font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + text-align: left; + z-index: ${parseInt(config.zIndex) || 99999}; + display: flex; + justify-content: center; + align-items: center; + } + + .top-section { + padding: 15px 30px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid #00000026; + } + + .beta-list-cancel { + cursor: pointer; + } + + .title { + font-size: 16px; + font-weight: bold; + } + + .popup { + position: fixed; + top: 50%; + left: 50%; + color: black; + transform: translate(-50%, -50%); + font-weight: normal; + font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + text-align: left; + z-index: ${parseInt(config.zIndex) || 99999}; + + display: none; + flex-direction: column; + background: white; + border: 1px solid #f0f0f0; + border-radius: 8px; + padding-top: 5px; + width: 40rem; + height: 50%; + box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); + } + + .beta-feature-button { + width: 64px; + height: 64px; + border-radius: 100%; + text-align: center; + line-height: 60px; + font-size: 32px; + border: none; + cursor: pointer; + } + .beta-feature-button:hover { + filter: brightness(1.2); + } + + .empty-prompt { + flex: 1; + text-align: center; + margin-top: 20px; + } + + + + /* The switch - the box around the slider */ + .switch { + margin-left: 10px; + margin-right: 10px; + position: relative; + display: inline-block; + min-width: 50px; + height: 24px; + } + + /* 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: #00000026; + -webkit-transition: .4s; + transition: background-color .4s; + cursor: pointer; + } + + .slider:before { + position: absolute; + content: ""; + height: 20px; + width: 20px; + left: -10px; + bottom: -6px; + background-color: #ffffff; + -webkit-transition: .2s; + transition: .2s; + border: 2px solid #00000026; + } + + input:checked + .slider { + background-color: #00000026; + } + + input:focus + .slider { + box-shadow: 0 0 1px #00000026; + } + + input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); + background-color: #1d4aff; + } + + /* Rounded sliders */ + .slider.round { + border-radius: 20px; + height: 10px; + width: 30px; + background-color: #00000026; + } + + .slider.round:before { + border-radius: 50%; + } + + .loader-container { + display: flex; + justify-content: center; + align-items: center; + height: 50%; + width: 100%; + } + + .loader { + border: 8px solid #00000026; /* Light grey */ + border-top: 8px solid #1d4aff; /* Blue */ + border-radius: 50%; + width: 60px; + height: 60px; + animation: spin 2s linear infinite; + } + + @keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } +` + +interface PreviewItem { + name: string + description: string + flagKey: string + documentationUrl: string +} + +export function inject({ config, posthog }) { + if (config.domains) { + const domains = config.domains.split(',').map((domain) => domain.trim()) + if (domains.length > 0 && domains.indexOf(window.location.hostname) === -1) { + return + } + } + const shadow = createShadow(style(config)) + + function optIn(flagKey: string) { + posthog.updateEarlyAccessFeatureEnrollment(flagKey, true) + } + + function optOut(flagKey: string) { + posthog.updateEarlyAccessFeatureEnrollment(flagKey, false) + } + + function openbugBox() { + posthog.getEarlyAccessFeatures((previewItemData) => { + const betaListContainer = shadow.getElementById('list-container') + if (betaListContainer) { + const previewItems = listItemComponents(previewItemData) + const previewList = previewItems + ? ` +

+ ${previewItems} +
+ ` + : ` +
+ No beta features available +
+ ` + betaListContainer.innerHTML = previewList + + previewItemData.forEach((item, index) => { + const checkbox = shadow.querySelector('.checkbox-' + index) + checkbox?.addEventListener('click', (e) => { + if (e.target?.checked) { + optIn(item.flagKey) + } else { + optOut(item.flagKey) + } + }) + }) + } + }, true) // Force reload always + + Object.assign(listElement.style, { display: 'flex' }) + + const closeButton = shadow.querySelector('.beta-list-cancel') + closeButton?.addEventListener('click', (e) => { + e.preventDefault() + Object.assign(listElement.style, { display: 'none' }) + }) + + // // Hide when clicked outside + // const _betaList = document.getElementById('beta-list') + // document.addEventListener('click', function(event) { + // const isClickInside = _betaList?.contains(event.target) + + // if (!isClickInside) { + // // Object.assign(formElement.style, { display: 'none' }) + // } + // }); + } + + // TODO: Make this button a config option + const buttonElement = Object.assign(document.createElement('button'), { + className: 'beta-feature-button', + onclick: openbugBox, + title: config.buttonTitle || '', + }) + + buttonElement.innerHTML = ` + + + + + + ` + + Object.assign(buttonElement.style, { + color: config.buttonColor || 'white', + background: config.buttonBackground || '#1d4aff', + }) + + if (config.useButton === 'Yes') { + shadow.appendChild(buttonElement) + } + + const CloseButtonComponent = (width: number, height: number) => ` + + + + ` + + const BetaListComponent = ` +
+
Enable beta features
+
+ ${CloseButtonComponent(30, 30)} +
+
+
+
+
+
+
+ ` + + const betaListElement = document.createElement('div') + betaListElement.id = 'beta-list' + const listElement = Object.assign(betaListElement, { + className: 'popup', + innerHTML: BetaListComponent, + }) + + shadow.appendChild(listElement) + + if (config.selector) { + const clickListener = (e) => { + if (e.target.closest(config.selector)) { + openbugBox() + } + } + window.addEventListener('click', clickListener) + } + + const listItemComponents = (items?: PreviewItem[]) => { + if (items) { + return items + .map((item, index) => { + const checked = posthog.isFeatureEnabled(item.flagKey) + + const documentationLink = item.documentationUrl + ? `
+ ` + : '' + return ` +
+
+ ${item.name} +
${item.description}
+ ${documentationLink} +
+ +
+ ` + }) + .join('') + } + return '' + } +} + +function createShadow(style?: string): ShadowRoot { + const div = document.createElement('div') + const shadow = div.attachShadow({ mode: 'open' }) + if (style) { + const styleElement = Object.assign(document.createElement('style'), { + innerText: style, + }) + shadow.appendChild(styleElement) + } + document.body.appendChild(div) + return shadow +} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml new file mode 100644 index 0000000000000..094010ca6f916 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml @@ -0,0 +1,23 @@ +name: CI + +on: + - pull_request + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + + - name: Set up Node 16 + uses: actions/setup-node@v4 + with: + node-version: 16 + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore new file mode 100644 index 0000000000000..a513319e0be18 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore @@ -0,0 +1,8 @@ +node_modules +.idea +yarn-error.log +dist +.yalc +yalc.lock +test.js +.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc new file mode 100644 index 0000000000000..2161d46def30e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "none", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE b/plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE new file mode 100644 index 0000000000000..c6b9b772136f0 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 PostHog Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md b/plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md new file mode 100644 index 0000000000000..e40ec3a0192b6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md @@ -0,0 +1,59 @@ +# Property Flattener Plugin + +> [!WARNING] +> This plugin has been deprecated. You can use [HogQL](https://posthog.com/docs/hogql) to access nested properties in PostHog. + +Flatten nested properties in PostHog events to easily access them in filters. + +## Example + +For example, if you're an online retailer, and have `purchase` events with the following property structure: + +```json +{ + "event": "purchase", + "properties": { + "product": { + "name": "AZ12 shoes", + "type": "footwear", + "size": { + "number": 12, + "gender": "M" + } + } + } +} +``` + +This plugin will keep the nested properties unchanged, but also add any nested properties at the first depth, like so: + +```json +{ + "event": "purchase", + "properties": { + "product": { + "name": "AZ12 shoes", + "type": "footwear", + "size": { + "number": 12, + "gender": "M" + } + }, + "product__name": "AZ12 shoes", + "product__type": "footwear", + "product__size__number": 12, + "product__size__gender": "M" + } +} +``` + +As such, you can now filter your purchase events based on `product__size__number` for example. + +The default separator for nested properties is two subsequent underscores (`__`), but you can also change this to: + +* `.` +* `>` +* `/` + +When picking your separator, make sure it will not clash with your property naming patterns. + diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js new file mode 100644 index 0000000000000..eba53db38e2a3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js @@ -0,0 +1,199 @@ +const { createEvent } = require('@posthog/plugin-scaffold/test/utils.js') +const { processEvent } = require('../index') + +const nestedEventProperties = { + a: { + b: { + c: { + d: { + e: { + f: 'nested under e' + }, + z: 'nested under d' + }, + z: 'nested under c' + }, + z: 'nested under b' + }, + z: 'nested under a' + }, + w: { + array: [{ z: 'nested in w array' }] + }, + x: 'not nested', + y: 'not nested either' +} + +describe('the property flattener', () => { + test('flattens all nested properties', async () => { + const event = createEvent({ event: 'test', properties: nestedEventProperties }) + + const eventsOutput = await processEvent(event, { config: { separator: '__' } }) + + const expectedProperties = { + a: nestedEventProperties.a, + w: nestedEventProperties.w, + x: 'not nested', + y: 'not nested either', + a__b__c__d__e__f: 'nested under e', + a__b__c__d__z: 'nested under d', + a__b__c__z: 'nested under c', + a__b__z: 'nested under b', + a__z: 'nested under a', + w__array__0__z: 'nested in w array' + } + + expect(eventsOutput).toEqual(createEvent({ event: 'test', properties: expectedProperties })) + }) + + test('autocapture is ignored', async () => { + const event = createEvent({ + event: '$autocapture', + properties: { + $elements: [ + { tag_name: 'span', nth_child: 1 }, + { tag_name: 'div', nth_child: 1 } + ], + $elements_chain: 'span:nth_child="1";div:nth_child="1"' + } + }) + + const eventsOutput = await processEvent(event, { config: { separator: '__' } }) + + const expectedProperties = { + $elements: [ + { tag_name: 'span', nth_child: 1 }, + { tag_name: 'div', nth_child: 1 } + ], + $elements_chain: 'span:nth_child="1";div:nth_child="1"' + } + + expect(eventsOutput).toEqual(createEvent({ event: '$autocapture', properties: expectedProperties })) + }) + + test('organization usage report is ignored because it causes very many flattened properties', async () => { + const event = createEvent({ + event: 'organization usage report', + properties: { + any: [ + { nested: 'property' } + ] + } + }) + + const eventsOutput = await processEvent(event, { config: { separator: '__' } }) + + const expectedProperties = { + any: [ + { nested: 'property' } + ] + } + + expect(eventsOutput).toEqual(createEvent({ event: 'organization usage report', properties: expectedProperties })) + }) + + test('set and set once', async () => { + const event = createEvent({ + event: '$identify', + properties: { + $set: { + example: { + company_size: 20, + category: ['a', 'b'] + } + }, + $set_once: { + example: { + company_size: 20, + category: ['a', 'b'] + } + } + } + }) + + const eventsOutput = await processEvent(event, { config: { separator: '__' } }) + + const expectedProperties = { + $set: { + example: { + company_size: 20, + category: ['a', 'b'] + }, + example__company_size: 20, + example__category__0: 'a', + example__category__1: 'b' + }, + $set_once: { + example: { + company_size: 20, + category: ['a', 'b'] + }, + example__company_size: 20, + example__category__0: 'a', + example__category__1: 'b' + } + } + + expect(eventsOutput.properties).toEqual(expectedProperties) + }) + + test('$group_set', async () => { + const event = createEvent({ + event: '$groupidentify', + properties: { + $group_set: { + a: 'shopify.com', + ads: { + 'facebook-ads': true, + 'google-ads': true, + 'tiktok-ads': false, + 'pinterest-ads': false, + 'snapchat-ads': false, + fairing: false, + slack: false + }, + pixel: true, + pixel_settings: { + allow_auto_install: true + }, + currency: 'USD', + timezone: 'XXX' + } + } + }) + + const eventsOutput = await processEvent(event, { config: { separator: '__' } }) + + const expectedProperties = { + $group_set: { + a: 'shopify.com', + ads: { + 'facebook-ads': true, + 'google-ads': true, + 'tiktok-ads': false, + 'pinterest-ads': false, + 'snapchat-ads': false, + fairing: false, + slack: false + }, + pixel: true, + pixel_settings: { + allow_auto_install: true + }, + currency: 'USD', + timezone: 'XXX', + 'ads__facebook-ads': true, + ads__fairing: false, + 'ads__google-ads': true, + 'ads__pinterest-ads': false, + ads__slack: false, + 'ads__snapchat-ads': false, + 'ads__tiktok-ads': false, + pixel_settings__allow_auto_install: true + } + } + + expect(eventsOutput.properties).toEqual(expectedProperties) + }) + +}) \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js b/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js new file mode 100644 index 0000000000000..82dff81c24ff9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js @@ -0,0 +1,51 @@ +/** + * Some events will always create very large numbers of flattened properties + * This is undesirable since a large enough number of properties for a particular team can slow down the property filter in the UI + * If the problem property has a unique enough name it can be added to the propertyDenyList + * If not (or if many properties for a given event are problematic) then the event can be added here + */ +const eventDenyList = ['$autocapture', 'organization usage report'] + +async function processEvent(event, { config }) { + try { + if (!eventDenyList.includes(event.event) && event.properties) { + event.properties = flattenProperties(event.properties, config.separator) + } + } catch (e) { + throw e + } + return event +} + +const propertyDenyList = ['$elements', '$elements_chain', '$groups', '$active_feature_flags', '$heatmap_data', '$web_vitals_data'] + +const flattenProperties = (props, sep, nestedChain = []) => { + let newProps = {} + for (const [key, value] of Object.entries(props)) { + if (propertyDenyList.includes(key)) { + // Hide 'internal' properties used in event processing + } else if (key === '$set') { + newProps = { ...newProps, $set: { ...props[key], ...flattenProperties(props[key], sep) } } + } else if (key === '$set_once') { + newProps = { ...newProps, $set_once: { ...props[key], ...flattenProperties(props[key], sep) } } + } else if (key === '$group_set') { + newProps = { ...newProps, $group_set: { ...props[key], ...flattenProperties(props[key], sep) } } + } else if (Array.isArray(value)) { + newProps = { ...newProps, ...flattenProperties(props[key], sep, [...nestedChain, key]) } + } else if (value !== null && typeof value === 'object' && Object.keys(value).length > 0) { + newProps = { ...newProps, ...flattenProperties(props[key], sep, [...nestedChain, key]) } + } else { + if (nestedChain.length > 0) { + newProps[nestedChain.join(sep) + `${sep}${key}`] = value + } + } + } + if (nestedChain.length > 0) { + return { ...newProps } + } + return { ...props, ...newProps } +} + +module.exports = { + processEvent +} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/logo.png b/plugin-server/src/cdp/legacy-plugins/flatten-properties/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..147bbacc7bb775c07975f55a8bcdb6f4c9067684 GIT binary patch literal 4163 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 W9#ED^VmlvCmX_u=X62?AsQ(76MKiMi literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json b/plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json new file mode 100644 index 0000000000000..22e56f37b9ee9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json @@ -0,0 +1,30 @@ +{ + "name": "property-flattener-plugin", + "version": "0.0.2", + "description": "Flatten event properties to easily access them in filters.", + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/PostHog/property-flattener-plugin.git" + }, + "author": "Yakko Majuri", + "license": "MIT", + "bugs": { + "url": "https://github.com/PostHog/property-flattener-plugin/issues" + }, + "homepage": "https://github.com/PostHog/property-flattener-plugin#readme", + "scripts": { + "prepare": "husky install", + "test": "./node_modules/.bin/jest" + }, + "devDependencies": { + "husky": "^7.0.4", + "lint-staged": "^10.5.2", + "prettier": "^2.8.8", + "@posthog/plugin-scaffold": "^1.5.0", + "jest": "^28.1.1" + }, + "lint-staged": { + "*.{js,ts,tsx,json,yml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json b/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json new file mode 100644 index 0000000000000..59c0a7613bc78 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json @@ -0,0 +1,23 @@ +{ + "name": "Property Flattener Plugin", + "url": "https://github.com/PostHog/property-flattener-plugin", + "description": "Flatten event properties to easily access them in filters.", + "main": "index.js", + "config": [ + { + "key": "separator", + "hint": "For example, to access the value of 'b' in a: { b: 1 } with separator '__', you can do 'a__b'", + "name": "Select a separator format for accessing your nested properties", + "type": "choice", + "choices": [ + "__", + ".", + ">", + "/" + ], + "order": 1, + "default": "__", + "required": true + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock b/plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock new file mode 100644 index 0000000000000..5d7f647b96614 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock @@ -0,0 +1,2681 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@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" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + 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.12.13", "@babel/code-frame@^7.22.13", "@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.9": + 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": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.5.tgz#6e23f2acbcb77ad283c5ed141f824fd9f70101c7" + integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.5" + "@babel/parser" "^7.23.5" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.5" + "@babel/types" "^7.23.5" + 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.5", "@babel/generator@^7.7.2": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" + integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== + dependencies: + "@babel/types" "^7.23.5" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@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.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-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-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + 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.22.5": + 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-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-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.10.4", "@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/helper-validator-identifier@^7.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": + 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/helpers@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e" + integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.5" + "@babel/types" "^7.23.5" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + 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.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.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" + integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== + +"@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.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@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/template@^7.22.15": + 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.3.3": + 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.23.5", "@babel/traverse@^7.7.2": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec" + integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.5" + "@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.5" + "@babel/types" "^7.23.5" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + 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" + +"@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" + integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== + 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== + +"@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.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + +"@jest/console@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" + integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + +"@jest/core@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" + integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== + dependencies: + "@jest/console" "^28.1.3" + "@jest/reporters" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.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 "^28.1.3" + jest-config "^28.1.3" + jest-haste-map "^28.1.3" + jest-message-util "^28.1.3" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-resolve-dependencies "^28.1.3" + jest-runner "^28.1.3" + jest-runtime "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + jest-watcher "^28.1.3" + micromatch "^4.0.4" + pretty-format "^28.1.3" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" + integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== + dependencies: + "@jest/fake-timers" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + jest-mock "^28.1.3" + +"@jest/expect-utils@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" + integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== + dependencies: + jest-get-type "^28.0.2" + +"@jest/expect@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" + integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== + dependencies: + expect "^28.1.3" + jest-snapshot "^28.1.3" + +"@jest/fake-timers@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" + integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== + dependencies: + "@jest/types" "^28.1.3" + "@sinonjs/fake-timers" "^9.1.2" + "@types/node" "*" + jest-message-util "^28.1.3" + jest-mock "^28.1.3" + jest-util "^28.1.3" + +"@jest/globals@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" + integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/expect" "^28.1.3" + "@jest/types" "^28.1.3" + +"@jest/reporters@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" + integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@jridgewell/trace-mapping" "^0.3.13" + "@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 "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + jest-worker "^28.1.3" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + terminal-link "^2.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" + integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/source-map@^28.1.2": + version "28.1.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" + integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== + dependencies: + "@jridgewell/trace-mapping" "^0.3.13" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" + integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== + dependencies: + "@jest/console" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" + integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== + dependencies: + "@jest/test-result" "^28.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + slash "^3.0.0" + +"@jest/transform@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" + integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^28.1.3" + "@jridgewell/trace-mapping" "^0.3.13" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-regex-util "^28.0.2" + jest-util "^28.1.3" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.1" + +"@jest/types@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" + integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== + dependencies: + "@jest/schemas" "^28.1.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" + +"@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.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/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.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.17", "@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" + +"@maxmind/geoip2-node@^3.4.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" + integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== + dependencies: + camelcase-keys "^7.0.0" + ip6addr "^0.2.5" + maxmind "^4.2.0" + +"@posthog/plugin-scaffold@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.5.0.tgz#7059a47f1a066673ae825f2b8ca856aafbf16eb9" + integrity sha512-OVUhcX9j/js44jwDMiDWxw114jByqbvDbM+bZZG8xmH1xbFuknd86iuzSuvX0agbHVmI46hcgcwr+iY21f3Q+w== + dependencies: + "@maxmind/geoip2-node" "^3.4.0" + +"@sinclair/typebox@^0.24.1": + version "0.24.51" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== + +"@sinonjs/commons@^1.7.0": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@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.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== + dependencies: + "@babel/types" "^7.3.0" + +"@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/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*": + version "14.14.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" + integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.1.5": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@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" "*" + +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" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^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== + +anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +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== + +babel-jest@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" + integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== + dependencies: + "@jest/transform" "^28.1.3" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^28.1.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.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@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" + integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +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@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" + integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== + dependencies: + babel-plugin-jest-hoist "^28.1.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +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" + +braces@^3.0.1, 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" + +browserslist@^4.21.9: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== + dependencies: + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" + +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" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +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@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== + dependencies: + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" + +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-lite@^1.0.30001541: + version "1.0.30001565" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz#a528b253c8a2d95d2b415e11d8b9942acc100c4f" + integrity sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w== + +chalk@^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.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + 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== + +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== + +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: + 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-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@^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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +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== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + +cross-spawn@^7.0.0, 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" + +debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +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== + +diff-sequences@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" + integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== + +electron-to-chromium@^1.4.535: + version "1.4.600" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.600.tgz#10ad8a5edc3f92a9a70b4453157ec2261c6db088" + integrity sha512-KD6CWjf1BnQG+NsXuyiTDDT1eV13sKuYsOUioXkQweYTQIbgHkXPry9K7M+7cKtYHnSUPitVaLrXYB1jTkkYrw== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +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== + +end-of-stream@^1.1.0: + 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" + +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" + +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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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@^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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expect@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" + integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== + dependencies: + "@jest/expect-utils" "^28.1.3" + jest-get-type "^28.0.2" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-json-stable-stringify@^2.0.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== + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +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" + +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" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +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== + +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.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-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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^5.0.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== + +glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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== + +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== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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== + +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" + +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== + +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@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + +import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip6addr@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" + integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-core-module@^2.13.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-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-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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +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, istanbul-lib-instrument@^5.1.0: + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + 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" + +jest-changed-files@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" + integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" + integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/expect" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^28.1.3" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-runtime "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + p-limit "^3.1.0" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" + integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== + dependencies: + "@jest/core" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" + integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^28.1.3" + "@jest/types" "^28.1.3" + babel-jest "^28.1.3" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^28.1.3" + jest-environment-node "^28.1.3" + jest-get-type "^28.0.2" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-runner "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^28.1.3" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" + integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== + dependencies: + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-docblock@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" + integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" + integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== + dependencies: + "@jest/types" "^28.1.3" + chalk "^4.0.0" + jest-get-type "^28.0.2" + jest-util "^28.1.3" + pretty-format "^28.1.3" + +jest-environment-node@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" + integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/fake-timers" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + jest-mock "^28.1.3" + jest-util "^28.1.3" + +jest-get-type@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" + integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== + +jest-haste-map@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" + integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== + dependencies: + "@jest/types" "^28.1.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 "^28.0.2" + jest-util "^28.1.3" + jest-worker "^28.1.3" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" + integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== + dependencies: + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-matcher-utils@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" + integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== + dependencies: + chalk "^4.0.0" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-message-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" + integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^28.1.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" + integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" + integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== + +jest-resolve-dependencies@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" + integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== + dependencies: + jest-regex-util "^28.0.2" + jest-snapshot "^28.1.3" + +jest-resolve@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" + integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-pnp-resolver "^1.2.2" + jest-util "^28.1.3" + jest-validate "^28.1.3" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" + integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== + dependencies: + "@jest/console" "^28.1.3" + "@jest/environment" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.10.2" + graceful-fs "^4.2.9" + jest-docblock "^28.1.1" + jest-environment-node "^28.1.3" + jest-haste-map "^28.1.3" + jest-leak-detector "^28.1.3" + jest-message-util "^28.1.3" + jest-resolve "^28.1.3" + jest-runtime "^28.1.3" + jest-util "^28.1.3" + jest-watcher "^28.1.3" + jest-worker "^28.1.3" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" + integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/fake-timers" "^28.1.3" + "@jest/globals" "^28.1.3" + "@jest/source-map" "^28.1.2" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-message-util "^28.1.3" + jest-mock "^28.1.3" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" + integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^28.1.3" + graceful-fs "^4.2.9" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + jest-haste-map "^28.1.3" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + natural-compare "^1.4.0" + pretty-format "^28.1.3" + semver "^7.3.5" + +jest-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" + integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" + integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== + dependencies: + "@jest/types" "^28.1.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^28.0.2" + leven "^3.1.0" + pretty-format "^28.1.3" + +jest-watcher@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" + integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== + dependencies: + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^28.1.3" + string-length "^4.0.1" + +jest-worker@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^28.1.1: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" + integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== + dependencies: + "@jest/core" "^28.1.3" + "@jest/types" "^28.1.3" + import-local "^3.0.2" + jest-cli "^28.1.3" + +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@^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" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + 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@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== + +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== + +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" + +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== + +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== + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@^10.5.2: + version "10.5.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.3" + through "^2.3.8" + +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" + +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.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" + +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" + +make-dir@^3.0.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" + +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@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +maxmind@^4.2.0: + version "4.3.17" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.17.tgz#077575efe9af699edf099f7d269208db485f15e9" + integrity sha512-6zQG9FpoGG4+ctIoGWzCc2+0TqLuoPIVNCFux0kVjEQQJTxnDbSsxEt0qSVRrmCIToXOgeXVj6QblyX0GLLL4g== + dependencies: + mmdb-lib "2.0.2" + tiny-lru "11.2.5" + +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== + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +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" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +mmdb-lib@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" + integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== + +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== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-releases@^2.0.13: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +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== + +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" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + 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" + +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.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@^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-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-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: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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-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" + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +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-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== + +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.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +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== + +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.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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +prettier@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" + integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + dependencies: + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +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" + +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== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +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.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== + +resolve@^1.20.0: + 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" + +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" + +rimraf@^3.0.0: + 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" + +rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.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== + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver@^6.0.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== + +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.3.5: + 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" + +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@^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== + +signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +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@^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== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +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" + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-length@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.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" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.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@^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-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== + +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.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-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tiny-lru@11.2.5: + version "11.2.5" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.5.tgz#b138b99022aa26c567fa51a8dbf9e3e2959b2b30" + integrity sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw== + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +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" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-fest@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +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" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.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" + +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" + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^4.0.1: + 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" + +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@^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: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +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@^17.3.1: + 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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore b/plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore new file mode 100644 index 0000000000000..a513319e0be18 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore @@ -0,0 +1,8 @@ +node_modules +.idea +yarn-error.log +dist +.yalc +yalc.lock +test.js +.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc b/plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc new file mode 100644 index 0000000000000..2161d46def30e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "none", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE b/plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE new file mode 100644 index 0000000000000..df9c38f57d98c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Yakko Majuri + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/README.md b/plugin-server/src/cdp/legacy-plugins/hubspot/README.md new file mode 100644 index 0000000000000..46a0a6b54c1bd --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/README.md @@ -0,0 +1,65 @@ +## Hubspot +## Category: Data out +## Status: Official PostHog plugin + +A plugin to send contact data to Hubspot, from PostHog. + +![](readme-assets/hubspot-data.png) + +### What is Hubspot? +Hubspot is a full-featured marketing and CRM platform which includes tools for everything from managing inbound leads to building landing pages. As one of the world’s most popular CRM platforms, Hubspot is an essential PostHog integration for many organizations — and is especially popular with marketing teams. + +### How does Hubspot integrate with PostHog? +This PostHog plugin enables you to send user contact data to Hubspot whenever an ```$identify``` event occurs. That is, whenever PostHog detects the identity of a user, it can forward that identification information to Hubspot. + +Currently, this integration supports sending the following data to Hubspot: + +- Email addresses +- First names +- Last names +- Phone numbers +- Company names +- Company website URLs + +No other information can currently be sent to PostHog using this plugin. If this plugin exists in a [plugin chain](/docs/plugins/build#example-of-a-plugin-chain) where the above information would is filtered out (for example, by using the [Property Filter plugin](/integrations/property-filter)) then filtered information cannot be sent to Hubspot. + +## Use cases +This Hubspot integration is typically useful for keeping customer and lead data up-to-date and for centralizing information about users that interact with your product into Hubspot. + +Once this information is in Hubspot, you can take advantage of Hubspot’s many marketing and CRM capabilities — such as assigning users as leads to a salesperson. + +## How to install the Hubspot integration on PostHog +Plugins and integrations are currently only available for self-hosted deployments of PostHog and are not available for users on PostHog Cloud. + +Want to migrate from PostHog Cloud to a self-hosted deployment? Check out [the Migrator 3000 plugin](/integrations/migrator-3000-(beta))! + +To install this plugin on a self-hosted deployment, simply follow these steps: + +1. Visit 'Project Plugins' under 'Settings' +2. Enable plugins if you haven't already done so +3. Click the 'Repository' tab next to 'Installed' +4. Click 'Install' on this plugin +5. Add your [Hubspot API key](https://developers.hubspot.com/docs/api/overview) at the configuration step +6. Enable the plugin + +## Open source license +All PostHog plugins are open source and released under a permissive MIT license. This means you are free to make further contributions or changes to this plugin, so long as a copy of the license and copyright information is included with the software. + +## Contributors +This is an official PostHog plugin, which is maintained by the core PostHog team. + +The following people have contributed to the development of this plugin: + +- [yakkomajuri](https://github.com/yakkomajuri) +- [marcushyett-ph](https://github.com/marcushyett-ph) +- [mariusandra](https://github.com/mariusandra) +- [oneshot-engineering](https://github.com/oneshot-engineering) +- [pauldambra](https://github.com/pauldambra) +- [kpthatsme](https://github.com/kpthatsme) + +Interested in contributing? Check out [PostHog’s plugin docs](/docs/plugins) to get started. + +## Further reading +- [PostHog plugin documentation](/docs/plugins) +- [Hubspot API documentation](https://developers.hubspot.com/docs/api/overview) +- [Join the PostHog community Slack group](/slack) diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts new file mode 100644 index 0000000000000..83ab6c1f514ed --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -0,0 +1,165 @@ +import { RetryError } from '@posthog/plugin-scaffold' + +const hubspotPropsMap = { + companyName: 'company', + company_name: 'company', + company: 'company', + lastName: 'lastname', + last_name: 'lastname', + lastname: 'lastname', + firstName: 'firstname', + first_name: 'firstname', + firstname: 'firstname', + phone_number: 'phone', + phoneNumber: 'phone', + phone: 'phone', + website: 'website', + domain: 'website', + company_website: 'website', + companyWebsite: 'website' +} + +export async function setupPlugin({ config, global }) { + try { + global.hubspotAccessToken = config.hubspotAccessToken + + const authResponse = await fetch( + `https://api.hubapi.com/crm/v3/objects/contacts?limit=1&paginateAssociations=false&archived=false`, + { + headers: { + Authorization: `Bearer ${config.hubspotAccessToken}`, + 'Content-Type': 'application/json' + } + } + ) + + if (!statusOk(authResponse)) { + throw new Error('Unable to connect to Hubspot. Please make sure your API key is correct.') + } + } catch (error) { + throw new RetryError(error) + } +} + +export async function onEvent(event, { config, global }) { + const triggeringEvents = (config.triggeringEvents || '').split(',') + + if (triggeringEvents.indexOf(event.event) >= 0) { + const email = getEmailFromEvent(event) + + if (email) { + const emailDomainsToIgnore = (config.ignoredEmails || '').split(',') + if (emailDomainsToIgnore.indexOf(email.split('@')[1]) >= 0) { + return + } + await createHubspotContact( + email, + { + ...(event['$set'] ?? {}), + ...(event['properties'] ?? {}) + }, + global.hubspotAccessToken, + config.additionalPropertyMappings, + event['timestamp'] + ) + } + } +} + +async function createHubspotContact(email, properties, accessToken, additionalPropertyMappings, eventSendTime) { + let hubspotFilteredProps = {} + for (const [key, val] of Object.entries(properties)) { + if (hubspotPropsMap[key]) { + hubspotFilteredProps[hubspotPropsMap[key]] = val + } + } + + if (additionalPropertyMappings) { + for (let mapping of additionalPropertyMappings.split(',')) { + const [postHogProperty, hubSpotProperty] = mapping.split(':') + if (postHogProperty && hubSpotProperty) { + // special case to convert an event's timestamp to the format Hubspot uses them + if (postHogProperty === 'sent_at' || postHogProperty === 'created_at') { + const d = new Date(eventSendTime) + d.setUTCHours(0, 0, 0, 0) + hubspotFilteredProps[hubSpotProperty] = d.getTime() + } else if (postHogProperty in properties) { + hubspotFilteredProps[hubSpotProperty] = properties[postHogProperty] + } + } + } + } + + const addContactResponse = await fetch(`https://api.hubapi.com/crm/v3/objects/contacts`, { + method: 'POST', + headers: { + Authorization: `Bearer ${accessToken}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ properties: { email: email, ...hubspotFilteredProps } }) + }) + + const addContactResponseJson = await addContactResponse.json() + + if (!statusOk(addContactResponse) || addContactResponseJson.status === 'error') { + const errorMessage = addContactResponseJson.message ?? '' + console.log( + `Unable to add contact ${email} to Hubspot. Status Code: ${addContactResponse.status}. Error message: ${errorMessage}` + ) + + if (addContactResponse.status === 409) { + const existingIdRegex = /Existing ID: ([0-9]+)/ + const existingId = addContactResponseJson.message.match(existingIdRegex) + console.log(`Attempting to update contact ${email} instead...`) + + const updateContactResponse = await fetch( + `https://api.hubapi.com/crm/v3/objects/contacts/${existingId[1]}`, + { + method: 'PATCH', + headers: { + Authorization: `Bearer ${accessToken}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ properties: { email: email, ...hubspotFilteredProps } }) + } + ) + + const updateResponseJson = await updateContactResponse.json() + if (!statusOk(updateContactResponse)) { + const errorMessage = updateResponseJson.message ?? '' + console.log( + `Unable to update contact ${email} to Hubspot. Status Code: ${updateContactResponse.status}. Error message: ${errorMessage}` + ) + } else { + console.log(`Successfully updated Hubspot Contact for ${email}`) + } + } + } else { + console.log(`Created Hubspot Contact for ${email}`) + } +} + +function statusOk(res) { + return String(res.status)[0] === '2' +} + +function isEmail(email) { + const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(String(email).toLowerCase()) +} + +function getEmailFromEvent(event) { + if (isEmail(event.distinct_id)) { + return event.distinct_id + } else if (event['$set'] && Object.keys(event['$set']).includes('email')) { + if (isEmail(event['$set']['email'])) { + return event['$set']['email'] + } + } else if (event['properties'] && Object.keys(event['properties']).includes('email')) { + if (isEmail(event['properties']['email'])) { + return event['properties']['email'] + } + } + + return null +} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/logo.png b/plugin-server/src/cdp/legacy-plugins/hubspot/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb0a3804f05c12b5eb3fd0ff25908572cdc7610 GIT binary patch literal 4585 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 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/package.json b/plugin-server/src/cdp/legacy-plugins/hubspot/package.json new file mode 100644 index 0000000000000..d99e2c9a3add5 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/package.json @@ -0,0 +1,32 @@ +{ + "name": "hubspot-plugin", + "version": "0.0.3", + "description": "Send contact data to Hubspot on PostHog identify events.", + "main": "index.ts", + "repository": { + "type": "git", + "url": "git+https://github.com/PostHog/hubspot-plugin.git" + }, + "author": "Yakko Majuri", + "license": "MIT", + "bugs": { + "url": "https://github.com/PostHog/hubspot-plugin/issues" + }, + "homepage": "https://github.com/PostHog/hubspot-plugin#readme", + "devDependencies": { + "husky": "^4.3.0", + "lint-staged": "^10.5.2", + "prettier": "^2.2.1" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,ts,tsx,json,yml}": "prettier --write" + }, + "dependencies": { + "@posthog/plugin-scaffold": "^1.3.4" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/plugin.json b/plugin-server/src/cdp/legacy-plugins/hubspot/plugin.json new file mode 100644 index 0000000000000..029940802538e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/plugin.json @@ -0,0 +1,79 @@ +{ + "name": "Hubspot", + "url": "https://github.com/PostHog/hubspot-plugin", + "description": "Send contact data to Hubspot on PostHog identify events.", + "main": "index.ts", + "config": [ + { + "key": "hubspotAccessToken", + "hint": "Can be acquired under Profile Preferences -> Integrations -> Private Apps", + "name": "Hubspot Access Token", + "type": "string", + "default": "", + "required": true, + "secret": true + }, + { + "key": "triggeringEvents", + "hint": "A comma-separated list of PostHog events you want to trigger Contact creation in HubSpot. By default, we recommend using the $identify event.", + "name": "Triggering events", + "type": "string", + "default": "$identify", + "required": true + }, + { + "key": "additionalPropertyMappings", + "hint": "A mapping of additional PostHog event or person properties to map to newly created Hubspot Contacts. Provide a comma-separated mapping of: personPropertyName:hubSpotPropertyName", + "name": "Additional PostHog to HubSpot property mappings", + "type": "string", + "default": "", + "required": false + }, + { + "key": "ignoredEmails", + "hint": "A comma-separated list of email domains to ignore and not create contacts for in Hubspot.", + "name": "Email domains to skip", + "type": "string", + "default": "", + "required": false + }, + { + "key": "postHogUrl", + "hint": "Deprecated", + "name": "PostHog Instance", + "type": "string", + "default": "https://app.posthog.com", + "required": false + }, + { + "key": "posthogApiKey", + "hint": "Deprecated", + "name": "PostHog API Key", + "type": "string", + "default": "", + "secret": true, + "required": false + }, + { + "key": "posthogProjectKey", + "hint": "Deprecated", + "name": "Project API Key", + "type": "string", + "default": "", + "secret": false, + "required": false + }, + { + "key": "syncMode", + "hint": "Deprecated", + "name": "Debug Mode", + "type": "choice", + "default": "production", + "required": false, + "choices": ["production", "debug"] + } + ], + "publicJobs": { + "Clear storage": {} + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/readme-assets/hubspot-data.png b/plugin-server/src/cdp/legacy-plugins/hubspot/readme-assets/hubspot-data.png new file mode 100644 index 0000000000000000000000000000000000000000..33d718e6886b41005786f7a497f2995d8dcff4ea GIT binary patch literal 186727 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

66l82JH_Zoa*F>wun&Izf?Fwk& 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%0Aw>#J5Z|y}do_|hNV@`> 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�IIBS_mDNZvFIddyjj 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 `/bla` and stores this in `$pathname` or some other property +- DOES NOT change the `$current_url` property \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts new file mode 100644 index 0000000000000..bb435b492fd01 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts @@ -0,0 +1,32 @@ +import { processEvent } from './index' +import pluginJson from './plugin.json' + +const globalConfig = Object.fromEntries(pluginJson.config.filter((c) => c.key).map((c) => [c.key, c.default])) +const makeEvent = ($pathname: string) => ({ event: '$pageview', properties: { $pathname } }) + +test('changes properties', () => { + const matches = [ + ['/lol', { $pathname: '/lol' }], + ['/english', { $pathname: '/english' }], + ['/en', { $pathname: '/', locale: 'en' }], + ['/en/', { $pathname: '/', locale: 'en' }], + ['/en/?', { $pathname: '/?', locale: 'en' }], + ['/en#bla', { $pathname: '/#bla', locale: 'en' }], + ['/en?bla', { $pathname: '/?bla', locale: 'en' }], + ['/en/asd', { $pathname: '/asd', locale: 'en' }], + ['/en/en/en', { $pathname: '/en/en', locale: 'en' }], + ] + + for (const [$pathname, properties] of matches) { + expect(processEvent(makeEvent($pathname), { config: globalConfig }).properties).toEqual(properties) + } +}) + +test('changes properties if new $pathname', () => { + const config = { ...globalConfig, replaceKey: '$otherPath' } + const matches = [['/en/asd', { $pathname: '/en/asd', $otherPath: '/asd', locale: 'en' }]] + + for (const [$pathname, properties] of matches) { + expect(processEvent(makeEvent($pathname), { config }).properties).toEqual(properties) + } +}) diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts new file mode 100644 index 0000000000000..bb43905df652d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts @@ -0,0 +1,15 @@ +export function processEvent(event, { config }) { + const { pattern, matchGroup, property, replacePattern, replaceKey, replaceValue } = config + if (event.properties && typeof event.properties['$pathname'] === 'string') { + const regexp = new RegExp(pattern) + const match = event.properties['$pathname'].match(regexp) + if (match) { + event.properties[property] = match[matchGroup] + if (replacePattern) { + const replaceRegexp = new RegExp(replacePattern) + event.properties[replaceKey] = event.properties['$pathname'].replace(replaceRegexp, replaceValue) + } + } + } + return event +} diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json new file mode 100644 index 0000000000000..3f92ea7852c55 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json @@ -0,0 +1,17 @@ +{ + "name": "language-url-splitter-app", + "version": "1.0.0", + "scripts": { + "test": "jest" + }, + "devDependencies": { + "esbuild": "^0.15.15", + "esbuild-jest": "^0.5.0", + "jest": "^29.3.1" + }, + "jest": { + "transform": { + "\\.[jt]sx?$": "esbuild-jest" + } + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json new file mode 100644 index 0000000000000..ed4bf5a6b717d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json @@ -0,0 +1,53 @@ +{ + "name": "Language URL stripper", + "config": [ + { + "key": "pattern", + "name": "Pattern", + "type": "string", + "default": "^/([a-z]{2})(?=/|#|\\?|$)", + "hint": "Ininitalized with `const regexp = new RegExp($pattern)`", + "required": true + }, + { + "key": "matchGroup", + "name": "Match group", + "type": "string", + "default": "1", + "hint": "Used in: `const value = regexp.match($pathname)[$matchGroup]`", + "required": true + }, + { + "key": "property", + "name": "Property", + "type": "string", + "default": "locale", + "hint": "Name of the event property we will store the matched value in", + "required": true + }, + { + "key": "replacePattern", + "name": "Replacement pattern", + "type": "string", + "default": "^(/[a-z]{2})(/|(?=/|#|\\?|$))", + "hint": "Initialized with `new RegExp($pattern)`, leave empty to disable path cleanup.", + "required": true + }, + { + "key": "replaceKey", + "name": "Replacement key", + "type": "string", + "default": "$pathname", + "hint": "Where to store the updated path. Keep as `$pathname` to override.", + "required": true + }, + { + "key": "replaceValue", + "name": "Replacement value", + "type": "string", + "default": "/", + "hint": "`properties[key] = $pathname.replace(pattern, value)`", + "required": true + } + ] +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml new file mode 100644 index 0000000000000..cf6aa72261336 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml @@ -0,0 +1,3462 @@ +lockfileVersion: 5.4 + +specifiers: + esbuild: ^0.15.15 + esbuild-jest: ^0.5.0 + jest: ^29.3.1 + +devDependencies: + esbuild: 0.15.15 + esbuild-jest: 0.5.0_esbuild@0.15.15 + jest: 29.3.1 + +packages: + + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data/7.20.1: + resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.20.2: + resolution: {integrity: sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.4 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.2 + '@babel/helper-module-transforms': 7.20.2 + '@babel/helpers': 7.20.1 + '@babel/parser': 7.20.3 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.2 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.20.4: + resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.2 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.2: + resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.20.1 + '@babel/core': 7.20.2 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.4 + semver: 6.3.0 + dev: true + + /@babel/helper-environment-visitor/7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name/7.19.0: + resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.10 + '@babel/types': 7.20.2 + dev: true + + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@babel/helper-module-transforms/7.20.2: + resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-plugin-utils/7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-simple-access/7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@babel/helper-string-parser/7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.20.1: + resolution: {integrity: sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.20.3: + resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.2: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.2: + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.2: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.2: + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.2: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.2: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.2: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.2: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.2: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.2: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.2: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.2: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.2: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.2: + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-modules-commonjs/7.19.6_@babel+core@7.20.2: + resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.2 + '@babel/helper-module-transforms': 7.20.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/template/7.18.10: + resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.20.3 + '@babel/types': 7.20.2 + dev: true + + /@babel/traverse/7.20.1: + resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.4 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.20.3 + '@babel/types': 7.20.2 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.20.2: + resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage/0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@cnakazawa/watch/1.0.4: + resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} + engines: {node: '>=0.1.95'} + hasBin: true + dependencies: + exec-sh: 0.3.6 + minimist: 1.2.7 + dev: true + + /@esbuild/android-arm/0.15.15: + resolution: {integrity: sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.15.15: + resolution: {integrity: sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console/29.3.1: + resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + chalk: 4.1.2 + jest-message-util: 29.3.1 + jest-util: 29.3.1 + slash: 3.0.0 + dev: true + + /@jest/core/29.3.1: + resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==} + 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 + dependencies: + '@jest/console': 29.3.1 + '@jest/reporters': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.6.1 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 29.2.0 + jest-config: 29.3.1_@types+node@18.11.9 + jest-haste-map: 29.3.1 + jest-message-util: 29.3.1 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-resolve-dependencies: 29.3.1 + jest-runner: 29.3.1 + jest-runtime: 29.3.1 + jest-snapshot: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + jest-watcher: 29.3.1 + micromatch: 4.0.5 + pretty-format: 29.3.1 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /@jest/environment/29.3.1: + resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + jest-mock: 29.3.1 + dev: true + + /@jest/expect-utils/29.3.1: + resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.2.0 + dev: true + + /@jest/expect/29.3.1: + resolution: {integrity: sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.3.1 + jest-snapshot: 29.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers/29.3.1: + resolution: {integrity: sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + '@sinonjs/fake-timers': 9.1.2 + '@types/node': 18.11.9 + jest-message-util: 29.3.1 + jest-mock: 29.3.1 + jest-util: 29.3.1 + dev: true + + /@jest/globals/29.3.1: + resolution: {integrity: sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.3.1 + '@jest/expect': 29.3.1 + '@jest/types': 29.3.1 + jest-mock: 29.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters/29.3.1: + resolution: {integrity: sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==} + 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 + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@jridgewell/trace-mapping': 0.3.17 + '@types/node': 18.11.9 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.3.1 + jest-util: 29.3.1 + jest-worker: 29.3.1 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas/29.0.0: + resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.24.51 + dev: true + + /@jest/source-map/29.2.0: + resolution: {integrity: sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + callsites: 3.1.0 + graceful-fs: 4.2.10 + dev: true + + /@jest/test-result/29.3.1: + resolution: {integrity: sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.3.1 + '@jest/types': 29.3.1 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + + /@jest/test-sequencer/29.3.1: + resolution: {integrity: sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.3.1 + graceful-fs: 4.2.10 + jest-haste-map: 29.3.1 + slash: 3.0.0 + dev: true + + /@jest/transform/26.6.2: + resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/core': 7.20.2 + '@jest/types': 26.6.2 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.10 + jest-haste-map: 26.6.2 + jest-regex-util: 26.0.0 + jest-util: 26.6.2 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/transform/29.3.1: + resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.20.2 + '@jest/types': 29.3.1 + '@jridgewell/trace-mapping': 0.3.17 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.10 + jest-haste-map: 29.3.1 + jest-regex-util: 29.2.0 + jest-util: 29.3.1 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types/26.6.2: + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.11.9 + '@types/yargs': 15.0.14 + chalk: 4.1.2 + dev: true + + /@jest/types/29.3.1: + resolution: {integrity: sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.0.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.11.9 + '@types/yargs': 17.0.13 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/gen-mapping/0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@sinclair/typebox/0.24.51: + resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + dev: true + + /@sinonjs/commons/1.8.5: + resolution: {integrity: sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/9.1.2: + resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} + dependencies: + '@sinonjs/commons': 1.8.5 + dev: true + + /@types/babel__core/7.1.20: + resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} + dependencies: + '@babel/parser': 7.20.3 + '@babel/types': 7.20.2 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.18.2 + dev: true + + /@types/babel__generator/7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@types/babel__template/7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.20.3 + '@babel/types': 7.20.2 + dev: true + + /@types/babel__traverse/7.18.2: + resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} + dependencies: + '@babel/types': 7.20.2 + dev: true + + /@types/graceful-fs/4.1.5: + resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} + dependencies: + '@types/node': 18.11.9 + dev: true + + /@types/istanbul-lib-coverage/2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + + /@types/istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + dev: true + + /@types/istanbul-reports/3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + dependencies: + '@types/istanbul-lib-report': 3.0.0 + dev: true + + /@types/node/18.11.9: + resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} + dev: true + + /@types/prettier/2.7.1: + resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} + dev: true + + /@types/stack-utils/2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + dev: true + + /@types/yargs-parser/21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs/15.0.14: + resolution: {integrity: sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@types/yargs/17.0.13: + resolution: {integrity: sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch/2.0.0: + resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + dependencies: + micromatch: 3.1.10 + normalize-path: 2.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /arr-diff/4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten/1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union/3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-unique/0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + + /assign-symbols/1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: true + + /atob/2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /babel-jest/26.6.3_@babel+core@7.20.2: + resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/babel__core': 7.1.20 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 26.6.2_@babel+core@7.20.2 + chalk: 4.1.2 + graceful-fs: 4.2.10 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-jest/29.3.1_@babel+core@7.20.2: + resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.20.2 + '@jest/transform': 29.3.1 + '@types/babel__core': 7.1.20 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.2.0_@babel+core@7.20.2 + chalk: 4.1.2 + graceful-fs: 4.2.10 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul/6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.20.2 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist/26.6.2: + resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/template': 7.18.10 + '@babel/types': 7.20.2 + '@types/babel__core': 7.1.20 + '@types/babel__traverse': 7.18.2 + dev: true + + /babel-plugin-jest-hoist/29.2.0: + resolution: {integrity: sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.18.10 + '@babel/types': 7.20.2 + '@types/babel__core': 7.1.20 + '@types/babel__traverse': 7.18.2 + dev: true + + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.2: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.2 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.2 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.2 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.2 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.2 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.2 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.2 + dev: true + + /babel-preset-jest/26.6.2_@babel+core@7.20.2: + resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.2 + babel-plugin-jest-hoist: 26.6.2 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 + dev: true + + /babel-preset-jest/29.2.0_@babel+core@7.20.2: + resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.2 + babel-plugin-jest-hoist: 29.2.0 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base/0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist/4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001434 + electron-to-chromium: 1.4.284 + node-releases: 2.0.6 + update-browserslist-db: 1.0.10_browserslist@4.21.4 + dev: true + + /bser/2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /cache-base/1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite/1.0.30001434: + resolution: {integrity: sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==} + dev: true + + /capture-exit/2.0.0: + resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} + engines: {node: 6.* || 8.* || >= 10.*} + dependencies: + rsvp: 4.8.5 + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex/1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /ci-info/2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + + /ci-info/3.6.1: + resolution: {integrity: sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer/1.2.2: + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} + dev: true + + /class-utils/0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /co/4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage/1.0.1: + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + dev: true + + /collection-visit/1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /component-emitter/1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /convert-source-map/2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /copy-descriptor/0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + + /cross-spawn/6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decode-uri-component/0.2.0: + resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} + engines: {node: '>=0.10'} + dev: true + + /dedent/0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + + /define-property/0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.6 + dev: true + + /define-property/1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + dev: true + + /define-property/2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + isobject: 3.0.1 + dev: true + + /detect-newline/3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences/29.3.1: + resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /electron-to-chromium/1.4.284: + resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} + dev: true + + /emittery/0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /esbuild-android-64/0.15.15: + resolution: {integrity: sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.15.15: + resolution: {integrity: sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.15.15: + resolution: {integrity: sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.15.15: + resolution: {integrity: sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.15.15: + resolution: {integrity: sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.15.15: + resolution: {integrity: sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-jest/0.5.0_esbuild@0.15.15: + resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} + peerDependencies: + esbuild: '>=0.8.50' + dependencies: + '@babel/core': 7.20.2 + '@babel/plugin-transform-modules-commonjs': 7.19.6_@babel+core@7.20.2 + babel-jest: 26.6.3_@babel+core@7.20.2 + esbuild: 0.15.15 + transitivePeerDependencies: + - supports-color + dev: true + + /esbuild-linux-32/0.15.15: + resolution: {integrity: sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.15.15: + resolution: {integrity: sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.15.15: + resolution: {integrity: sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.15.15: + resolution: {integrity: sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.15.15: + resolution: {integrity: sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.15.15: + resolution: {integrity: sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.15.15: + resolution: {integrity: sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.15.15: + resolution: {integrity: sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.15.15: + resolution: {integrity: sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.15.15: + resolution: {integrity: sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.15.15: + resolution: {integrity: sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.15.15: + resolution: {integrity: sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.15.15: + resolution: {integrity: sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.15.15: + resolution: {integrity: sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.15.15: + resolution: {integrity: sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.15 + '@esbuild/linux-loong64': 0.15.15 + esbuild-android-64: 0.15.15 + esbuild-android-arm64: 0.15.15 + esbuild-darwin-64: 0.15.15 + esbuild-darwin-arm64: 0.15.15 + esbuild-freebsd-64: 0.15.15 + esbuild-freebsd-arm64: 0.15.15 + esbuild-linux-32: 0.15.15 + esbuild-linux-64: 0.15.15 + esbuild-linux-arm: 0.15.15 + esbuild-linux-arm64: 0.15.15 + esbuild-linux-mips64le: 0.15.15 + esbuild-linux-ppc64le: 0.15.15 + esbuild-linux-riscv64: 0.15.15 + esbuild-linux-s390x: 0.15.15 + esbuild-netbsd-64: 0.15.15 + esbuild-openbsd-64: 0.15.15 + esbuild-sunos-64: 0.15.15 + esbuild-windows-32: 0.15.15 + esbuild-windows-64: 0.15.15 + esbuild-windows-arm64: 0.15.15 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /exec-sh/0.3.6: + resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} + dev: true + + /execa/1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + dependencies: + cross-spawn: 6.0.5 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit/0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expand-brackets/2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /expect/29.3.1: + resolution: {integrity: sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.3.1 + jest-get-type: 29.2.0 + jest-matcher-utils: 29.3.1 + jest-message-util: 29.3.1 + jest-util: 29.3.1 + dev: true + + /extend-shallow/2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow/3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /extglob/2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fb-watchman/2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /fill-range/4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /for-in/1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + + /fragment-cache/0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-package-type/0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream/4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-value/2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-value/0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value/1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values/0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + + /has-values/1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-accessor-descriptor/0.1.6: + resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-accessor-descriptor/1.0.0: + resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-buffer/1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-ci/2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /is-data-descriptor/0.1.4: + resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-data-descriptor/1.0.0: + resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /is-descriptor/0.1.6: + resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: true + + /is-descriptor/1.0.2: + resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.3 + dev: true + + /is-extendable/0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable/1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn/2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-number/3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-plain-object/2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-stream/1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-typedarray/1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject/2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject/3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /istanbul-lib-coverage/3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument/5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.20.2 + '@babel/parser': 7.20.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps/4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports/3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jest-changed-files/29.2.0: + resolution: {integrity: sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + p-limit: 3.1.0 + dev: true + + /jest-circus/29.3.1: + resolution: {integrity: sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.3.1 + '@jest/expect': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.3.1 + jest-matcher-utils: 29.3.1 + jest-message-util: 29.3.1 + jest-runtime: 29.3.1 + jest-snapshot: 29.3.1 + jest-util: 29.3.1 + p-limit: 3.1.0 + pretty-format: 29.3.1 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli/29.3.1: + resolution: {integrity: sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/types': 29.3.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + prompts: 2.4.2 + yargs: 17.6.2 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /jest-config/29.3.1: + resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==} + 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 + dependencies: + '@babel/core': 7.20.2 + '@jest/test-sequencer': 29.3.1 + '@jest/types': 29.3.1 + babel-jest: 29.3.1_@babel+core@7.20.2 + chalk: 4.1.2 + ci-info: 3.6.1 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 29.3.1 + jest-environment-node: 29.3.1 + jest-get-type: 29.2.0 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-runner: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.3.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-config/29.3.1_@types+node@18.11.9: + resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==} + 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 + dependencies: + '@babel/core': 7.20.2 + '@jest/test-sequencer': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + babel-jest: 29.3.1_@babel+core@7.20.2 + chalk: 4.1.2 + ci-info: 3.6.1 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 29.3.1 + jest-environment-node: 29.3.1 + jest-get-type: 29.2.0 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-runner: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.3.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-diff/29.3.1: + resolution: {integrity: sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.3.1 + jest-get-type: 29.2.0 + pretty-format: 29.3.1 + dev: true + + /jest-docblock/29.2.0: + resolution: {integrity: sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each/29.3.1: + resolution: {integrity: sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + chalk: 4.1.2 + jest-get-type: 29.2.0 + jest-util: 29.3.1 + pretty-format: 29.3.1 + dev: true + + /jest-environment-node/29.3.1: + resolution: {integrity: sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.3.1 + '@jest/fake-timers': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + jest-mock: 29.3.1 + jest-util: 29.3.1 + dev: true + + /jest-get-type/29.2.0: + resolution: {integrity: sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map/26.6.2: + resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@types/graceful-fs': 4.1.5 + '@types/node': 18.11.9 + anymatch: 3.1.2 + fb-watchman: 2.0.2 + graceful-fs: 4.2.10 + jest-regex-util: 26.0.0 + jest-serializer: 26.6.2 + jest-util: 26.6.2 + jest-worker: 26.6.2 + micromatch: 4.0.5 + sane: 4.1.0 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-haste-map/29.3.1: + resolution: {integrity: sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + '@types/graceful-fs': 4.1.5 + '@types/node': 18.11.9 + anymatch: 3.1.2 + fb-watchman: 2.0.2 + graceful-fs: 4.2.10 + jest-regex-util: 29.2.0 + jest-util: 29.3.1 + jest-worker: 29.3.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /jest-leak-detector/29.3.1: + resolution: {integrity: sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.2.0 + pretty-format: 29.3.1 + dev: true + + /jest-matcher-utils/29.3.1: + resolution: {integrity: sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.3.1 + jest-get-type: 29.2.0 + pretty-format: 29.3.1 + dev: true + + /jest-message-util/29.3.1: + resolution: {integrity: sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.18.6 + '@jest/types': 29.3.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.10 + micromatch: 4.0.5 + pretty-format: 29.3.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock/29.3.1: + resolution: {integrity: sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + jest-util: 29.3.1 + dev: true + + /jest-pnp-resolver/1.2.3_jest-resolve@29.3.1: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.3.1 + dev: true + + /jest-regex-util/26.0.0: + resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} + engines: {node: '>= 10.14.2'} + dev: true + + /jest-regex-util/29.2.0: + resolution: {integrity: sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies/29.3.1: + resolution: {integrity: sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.2.0 + jest-snapshot: 29.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve/29.3.1: + resolution: {integrity: sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.10 + jest-haste-map: 29.3.1 + jest-pnp-resolver: 1.2.3_jest-resolve@29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + resolve: 1.22.1 + resolve.exports: 1.1.0 + slash: 3.0.0 + dev: true + + /jest-runner/29.3.1: + resolution: {integrity: sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.3.1 + '@jest/environment': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.10 + jest-docblock: 29.2.0 + jest-environment-node: 29.3.1 + jest-haste-map: 29.3.1 + jest-leak-detector: 29.3.1 + jest-message-util: 29.3.1 + jest-resolve: 29.3.1 + jest-runtime: 29.3.1 + jest-util: 29.3.1 + jest-watcher: 29.3.1 + jest-worker: 29.3.1 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime/29.3.1: + resolution: {integrity: sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.3.1 + '@jest/fake-timers': 29.3.1 + '@jest/globals': 29.3.1 + '@jest/source-map': 29.2.0 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + chalk: 4.1.2 + cjs-module-lexer: 1.2.2 + collect-v8-coverage: 1.0.1 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-haste-map: 29.3.1 + jest-message-util: 29.3.1 + jest-mock: 29.3.1 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-snapshot: 29.3.1 + jest-util: 29.3.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-serializer/26.6.2: + resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} + engines: {node: '>= 10.14.2'} + dependencies: + '@types/node': 18.11.9 + graceful-fs: 4.2.10 + dev: true + + /jest-snapshot/29.3.1: + resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.20.2 + '@babel/generator': 7.20.4 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.2 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.2 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.2 + '@jest/expect-utils': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/babel__traverse': 7.18.2 + '@types/prettier': 2.7.1 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 + chalk: 4.1.2 + expect: 29.3.1 + graceful-fs: 4.2.10 + jest-diff: 29.3.1 + jest-get-type: 29.2.0 + jest-haste-map: 29.3.1 + jest-matcher-utils: 29.3.1 + jest-message-util: 29.3.1 + jest-util: 29.3.1 + natural-compare: 1.4.0 + pretty-format: 29.3.1 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util/26.6.2: + resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@types/node': 18.11.9 + chalk: 4.1.2 + graceful-fs: 4.2.10 + is-ci: 2.0.0 + micromatch: 4.0.5 + dev: true + + /jest-util/29.3.1: + resolution: {integrity: sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + chalk: 4.1.2 + ci-info: 3.6.1 + graceful-fs: 4.2.10 + picomatch: 2.3.1 + dev: true + + /jest-validate/29.3.1: + resolution: {integrity: sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.3.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.2.0 + leven: 3.1.0 + pretty-format: 29.3.1 + dev: true + + /jest-watcher/29.3.1: + resolution: {integrity: sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.3.1 + string-length: 4.0.2 + dev: true + + /jest-worker/26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 18.11.9 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + + /jest-worker/29.3.1: + resolution: {integrity: sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 18.11.9 + jest-util: 29.3.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest/29.3.1: + resolution: {integrity: sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.3.1 + '@jest/types': 29.3.1 + import-local: 3.1.0 + jest-cli: 29.3.1 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json5/2.2.1: + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /kind-of/3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of/4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of/5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /makeerror/1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /map-cache/0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-visit/1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /micromatch/3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} + dev: true + + /mixin-deep/1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /ms/2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanomatch/1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /nice-try/1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + + /node-int64/0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + dev: true + + /normalize-path/2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + dependencies: + remove-trailing-separator: 1.1.0 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path/2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + dependencies: + path-key: 2.0.1 + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /object-copy/0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-visit/1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.pick/1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /p-finally/1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.18.6 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /pascalcase/0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /posix-character-classes/0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + + /pretty-format/29.3.1: + resolution: {integrity: sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.0.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /react-is/18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /regex-not/1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /remove-trailing-separator/1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + dev: true + + /repeat-element/1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string/1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-url/0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve.exports/1.1.0: + resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + engines: {node: '>=10'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret/0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /rsvp/4.8.5: + resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} + engines: {node: 6.* || >= 7.*} + dev: true + + /safe-regex/1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + + /sane/4.1.0: + resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} + engines: {node: 6.* || 8.* || >= 10.*} + deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added + hasBin: true + dependencies: + '@cnakazawa/watch': 1.0.4 + anymatch: 2.0.0 + capture-exit: 2.0.0 + exec-sh: 0.3.6 + execa: 1.0.0 + fb-watchman: 2.0.2 + micromatch: 3.1.10 + minimist: 1.2.7 + walker: 1.0.8 + transitivePeerDependencies: + - supports-color + dev: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-value/2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /snapdragon-node/2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util/3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /snapdragon/0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /source-map-resolve/0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.0 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-support/0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-url/0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map/0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /split-string/3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils/2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /static-extend/0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /string-length/4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-eof/1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /tmpl/1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-object-path/0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range/2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-regex/3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /typedarray-to-buffer/3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /union-value/1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + + /unset-value/1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /update-browserslist-db/1.0.10_browserslist@4.21.4: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.4 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /urix/0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /use/3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + + /v8-to-istanbul/9.0.1: + resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.9.0 + dev: true + + /walker/1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic/3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /write-file-atomic/4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs/17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + engines: {node: '>=12'} + 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.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore new file mode 100644 index 0000000000000..48fdf33f726ce --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore @@ -0,0 +1,3 @@ +.idea +node_modules + diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc new file mode 100644 index 0000000000000..11d8d0021d487 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120, +} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md new file mode 100644 index 0000000000000..b0ac3cc3903bb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md @@ -0,0 +1,27 @@ +# The Official PostHog Notification Bar App + +## Installation + +1. Make sure you have enabled `opt_in_site_apps: true` in your posthog-js config. +2. Install this app from PostHog's app repository. +3. Enable and configure the app for your site. + +## Demo +![2022-10-14 13 28 39](https://user-images.githubusercontent.com/53387/195836509-a403817c-35f1-475c-a782-a6343511c361.gif) + +## Local development + +If you wish to make this a juicier example app, then clone the repo and run the following: + +```bash +npx @posthog/app-dev-server +``` + +or + +```bash +pnpm install +pnpm start +``` + +Then browse to [http://localhost:3040/](http://localhost:3040/), open `site.ts` in an editor, and hack away. diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/logo.png b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..594dc34d1fe096482faba4d2ec58616cdeffe8a2 GIT binary patch literal 337791 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 z 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%0A_=F;>glKo~_>z^r{)bX2v(Z^iAG*@0h!HPdUF> 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 z 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 Kxq+ZDaIB!R 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

t4N}Tc*P(b-#&`is&PIyL2l&c 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 Ud(?iYHsE-X49^?X5-Ifm0RrPCxc~qF literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json new file mode 100644 index 0000000000000..cf0bfdaf8ccd0 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json @@ -0,0 +1,14 @@ +{ + "name": "notification-bar-app", + "version": "1.0.0", + "description": "", + "author": "", + "license": "MIT", + "scripts": { + "start": "app-dev-server" + }, + "dependencies": {}, + "devDependencies": { + "@posthog/app-dev-server": "^1.1.1" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json new file mode 100644 index 0000000000000..a16bc409b7c96 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json @@ -0,0 +1,76 @@ +{ + "name": "Notification Bar", + "url": "https://github.com/PostHog/notification-bar-app", + "description": "Show a notification bar for your users", + "config": [ + { + "markdown": "## MANUAL STEP NOTICE: This app needs to injects code into your website through posthog-js. You need to **opt-in** on your site to enable this behaviour.\n\n```\nposthog.init(\"api_key\", {\n \"api_host\": \"https://app.posthog.com\",\n \"opt_in_site_apps\": true,\n})\n```" + }, + { + "key": "domains", + "name": "Domains", + "hint": "Comma separated list of domains to activate on. Leave blank to enable all. For example: \"localhost,app.posthog.com\"", + "type": "string", + "default": "", + "site": true + }, + { + "key": "notification", + "name": "HTML to show in the notification bar", + "type": "string", + "default": "🚀 Product 2.0! is out! Click here to learn more.", + "required": true, + "site": true + }, + { + "key": "position", + "name": "Position of the notification bar", + "type": "choice", + "choices": ["sticky", "top-of-page"], + "default": "sticky", + "required": true, + "site": true + }, + { + "key": "backgroundColor", + "name": "Background color", + "type": "string", + "default": "#ebece8", + "required": true, + "site": true + }, + { + "key": "textColor", + "name": "Text color", + "type": "string", + "default": "#333", + "required": true, + "site": true + }, + { + "key": "linkColor", + "name": "Link color", + "type": "string", + "default": "#f64e00", + "required": true, + "site": true + }, + { + "key": "cssOverride", + "name": "CSS override", + "type": "string", + "default": ".notification-bar { }", + "required": false, + "site": true + }, + { + "key": "rememberClose", + "name": "Remember close", + "type": "choice", + "choices": ["yes", "no"], + "default": "yes", + "hint": "Remember if the user has closed the notification bar, and don't show it again. This resets if you update the notification bar's text.", + "site": true + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml new file mode 100644 index 0000000000000..175ea59a46788 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml @@ -0,0 +1,571 @@ +lockfileVersion: 5.4 + +specifiers: + '@posthog/app-dev-server': ^1.1.1 + +devDependencies: + '@posthog/app-dev-server': 1.1.1 + +packages: + + /@babel/standalone/7.19.5: + resolution: {integrity: sha512-H2eXpo1ZfTZhBwsCbfSKHrjTb934laSas14hdjULLSKmLxU4B7kazQKm3mjpDuH/HyPmRq1cbrGL7223M7EDFw==} + engines: {node: '>=6.9.0'} + dev: true + + /@posthog/app-dev-server/1.1.1: + resolution: {integrity: sha512-da/K/Q/UKVTLKFn1rVhgXsXI+Fde/4pYV4MzZ6fe8RWYgdBh+KwBjwfYO/R9Xv5t96S/HHiHWoZto5ezJxdf+A==} + hasBin: true + dependencies: + '@babel/standalone': 7.19.5 + chokidar: 3.5.3 + cors: 2.8.5 + express: 4.18.2 + fs-extra: 10.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /array-flatten/1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /body-parser/1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.3 + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type/1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: true + + /cookie-signature/1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie/0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + + /cors/2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /ee-first/1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /encodeurl/1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /escape-html/1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /etag/1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /express/4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /forwarded/0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fresh/0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /get-intrinsic/1.1.3: + resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ipaddr.js/1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + + /media-typer/0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /merge-descriptors/1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true + + /methods/1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /ms/2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + dev: true + + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /path-to-regexp/0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /proxy-addr/2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /qs/6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + object-inspect: 1.12.2 + dev: true + + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /unpipe/1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /utils-merge/1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /vary/1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts new file mode 100644 index 0000000000000..733a1ff6c94cb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts @@ -0,0 +1,79 @@ +export function inject({ config }) { + if (config.domains) { + const domains = config.domains.split(',').map((domain) => domain.trim()) + if (domains.length > 0 && domains.indexOf(window.location.hostname) === -1) { + return + } + } + const localStorageKey = `notification-${config.notification}` + if (config.rememberClose === 'yes' && localStorage.getItem(localStorageKey)) { + return + } + + const style = ` + .notification-bar-container { + min-height: 56px; + } + .notification-bar { + width: 100%; + min-height: 56px; + line-height: 36px; + font-size: 24px; + color: ${config.textColor || 'default'}; + background: ${config.backgroundColor || 'default'}; + font-weight: normal; + font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + text-align: center; + position: ${config.position === 'sticky' ? 'fixed' : 'absolute'}; + left: 0; + top: 0; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + z-index: 9999999; + } + .notification-bar a { + color: ${config.linkColor || config.textColor || 'default'}; + } + .notification-bar p { + margin: 0; + } + ${config.cssOverride || ''} + ` + const paragraph = Object.assign(document.createElement('p'), { + innerHTML: config.notification, + }) + const notificationElementContainer = Object.assign(document.createElement('div'), { + className: 'notification-bar-container', + }) + const notificationElement = Object.assign(document.createElement('div'), { + className: 'notification-bar', + onclick: (e) => { + if (!e.target.matches('a,button')) { + notificationElement.style.display = 'none' + notificationElementContainer.style.display = 'none' + window.localStorage.setItem(localStorageKey, 'true') + } + }, + title: config.buttonTitle || '', + }) + notificationElement.append(paragraph) + const shadow = createShadowRoot(style) + notificationElementContainer.appendChild(notificationElement) + shadow.appendChild(notificationElementContainer) + document.body.prepend(shadow) +} + +function createShadowRoot(style) { + const div = document.createElement('div') + const shadow = div.attachShadow({ mode: 'open' }) + if (style) { + const styleElement = Object.assign(document.createElement('style'), { + innerText: style, + }) + shadow.appendChild(styleElement) + } + document.body.prepend(div) + return shadow +} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json new file mode 100644 index 0000000000000..836dcd48cee68 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "commonjs", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "esModuleInterop": true, + "jsx": "react", + "target": "ES2015", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./src", + "incremental": true, + "resolveJsonModule": true + }, + "exclude": ["node_modules", "dist"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock new file mode 100644 index 0000000000000..9256aa3fc6026 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock @@ -0,0 +1,22 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"js-tokens@^3.0.0 || ^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== + +loose-envify@^1.1.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" + +react@^18.1.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890" + integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ== + dependencies: + loose-envify "^1.1.0" diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig new file mode 100644 index 0000000000000..b0b709a63cc2d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js new file mode 100644 index 0000000000000..7014226ee89d6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'simple-import-sort'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes new file mode 100644 index 0000000000000..dfe0770424b2a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore new file mode 100644 index 0000000000000..abd8ee954280e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore @@ -0,0 +1,76 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# environment variables file +.env +.environment + +# next.js build output +.next + +# editors +.vscode +.idea + +# yalc +.yalc +yalc* + +# macOS +.DS_Store + +# output +dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore new file mode 100644 index 0000000000000..1521c8b7652b1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore @@ -0,0 +1 @@ +dist diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md new file mode 100644 index 0000000000000..edd1a5a3e29f6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md @@ -0,0 +1,7 @@ +# PostHog Integration with Pace platform + +This is a very simple app that forwards any event that it receives to Pace's +internal ingestion endpoint, using which Pace creates intelligent insights +and metrics for customers to consume. + +Requires only a single config variable: **API Key** to authenticate with Pace API. \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts new file mode 100644 index 0000000000000..52f06ec65e294 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts @@ -0,0 +1,29 @@ +import { Plugin, Webhook } from '@posthog/plugin-scaffold' + +export interface PaceMetaInput { + config: { + api_key: string + } +} + +const plugin: Plugin = { + composeWebhook: (event, { config }) => + ({ + url: 'https://data.production.paceapp.com/events', + headers: { + 'Content-Type': 'application/json', + 'x-api-key': config.api_key, + }, + body: JSON.stringify({ + data: { + ...event, + properties: Object.fromEntries( + Object.entries(event.properties || {}).filter(([key, _]) => !key.startsWith('$')) + ), + }, + }), + method: 'POST', + } as Webhook), +} + +export default plugin diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js new file mode 100644 index 0000000000000..e8fe1cf80ad20 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js @@ -0,0 +1,13 @@ +const { pathsToModuleNameMapper } = require('ts-jest/utils') +const { compilerOptions } = require('./tsconfig') + +const moduleNameMapper = undefined +if (compilerOptions.paths) { + moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) +} + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + moduleNameMapper, +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/logo.png b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..aa635124d958a0129d5cba42e81549b0dcbad12a GIT binary patch literal 7236 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 Sr!{~7lT&-7rBtn875P7)mD~9M literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json new file mode 100644 index 0000000000000..78613b663a49a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json @@ -0,0 +1,56 @@ +{ + "name": "posthog-pace-plugin", + "version": "1.0.0", + "description": "Send events to Pace", + "keywords": [ + "posthog", + "plugin", + "Twilio" + ], + "main": "index.ts", + "repository": "github:PostHog/pace-posthog-integration.git", + "author": "PostHog ", + "bugs": { + "url": "https://github.com/PostHog/pace-posthog-integration/issues" + }, + "homepage": "https://github.com/PostHog/pace-posthog-integration#readme", + "license": "MIT", + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc" + }, + "dependencies": {}, + "devDependencies": { + "@posthog/plugin-scaffold": "^1.6.0", + "@types/jest": "^26.0.24", + "@typescript-eslint/eslint-plugin": "^4.33.0", + "@typescript-eslint/parser": "^4.33.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.10.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "~4.3.8", + "jest": "^26.6.3", + "jest-fetch-mock": "^3.0.3", + "lint-staged": "~10.5.4", + "prettier": "^2.8.8", + "ts-jest": "^26.5.6", + "typescript": "^4.9.5" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/plugin.json b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/plugin.json new file mode 100644 index 0000000000000..3ef275fba1d98 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/plugin.json @@ -0,0 +1,18 @@ +{ + "name": "Pace Integration", + "url": "https://www.paceapp.com/", + "description": "Pace is a tool that equips sellers with relevant insights at the right time so they can spend time growing revenue. It allows them to convert, retain, and grow customers by prioritizing time and effort on the users who need it most.", + "main": "index.ts", + "posthogVersion": ">= 1.25.0", + "config": [ + { + "key": "api_key", + "name": "API Key", + "type": "string", + "hint": "API key provided by Pace.", + "default": "", + "required": true, + "secret": true + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts new file mode 100644 index 0000000000000..b6d1ecc3f7ac7 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts @@ -0,0 +1,96 @@ +import { Meta, PostHogEvent } from '@posthog/plugin-scaffold' + +import plugin, { PaceMetaInput } from '../index' + +const { composeWebhook } = plugin + +const meta: Meta = { + attachments: {}, + cache: { + set: async () => { + // + }, + get: async () => { + // + }, + incr: async () => 1, + expire: async () => true, + lpush: async () => 1, + lrange: async () => [], + llen: async () => 1, + lpop: async () => [], + lrem: async () => 1, + }, + config: { + api_key: 'i-am-an-api-key', + }, + geoip: { + locate: async () => null, + }, + global: {}, + jobs: {}, + metrics: {}, + storage: { + set: async () => { + // + }, + get: async () => { + // + }, + del: async () => { + // + }, + }, + utils: { + cursor: { + init: async () => { + // + }, + increment: async () => 1, + }, + }, +} + +const mockEvent: PostHogEvent = { + uuid: '10000000-0000-4000-0000-000000000000', + team_id: 1, + distinct_id: '1234', + event: 'my-event', + timestamp: new Date(), + properties: { + $ip: '127.0.0.1', + $elements_chain: 'div:nth-child="1"nth-of-type="2"text="text"', + foo: 'bar', + }, +} + +describe('plugin tests', () => { + test('return expected webhook object', async () => { + if (!composeWebhook) { + throw new Error('Not implemented') + } + + const webhook1 = composeWebhook(mockEvent, meta) + expect(webhook1).toHaveProperty('url', 'https://data.production.paceapp.com/events') + expect(webhook1?.headers).toMatchObject({ + 'Content-Type': 'application/json', + 'x-api-key': 'i-am-an-api-key', + }) + expect(webhook1).toHaveProperty('method', 'POST') + expect(webhook1).toHaveProperty( + 'body', + JSON.stringify({ + data: { + uuid: '10000000-0000-4000-0000-000000000000', + team_id: 1, + distinct_id: '1234', + event: 'my-event', + timestamp: mockEvent.timestamp, + properties: { + foo: 'bar', + }, + }, + }) + ) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json new file mode 100644 index 0000000000000..0963b3061e611 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2018", + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "types": ["node", "jest"], + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true, + "skipLibCheck": true + }, + "exclude": ["**.test.ts", "node_modules"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock new file mode 100644 index 0000000000000..8a520bb9eb685 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock @@ -0,0 +1,5203 @@ +# 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== + +"@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" + +"@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.0.0", "@babel/code-frame@^7.22.13", "@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.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.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + 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.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@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/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-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.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-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-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.8.0": + 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-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-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.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/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + +"@babel/highlight@^7.10.4", "@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", "@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-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.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-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-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.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-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/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.1.0", "@babel/traverse@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== + 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.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.3.3": + 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== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@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.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/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.17", "@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" + +"@maxmind/geoip2-node@^3.4.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" + integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== + dependencies: + camelcase-keys "^7.0.0" + ip6addr "^0.2.5" + maxmind "^4.2.0" + +"@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": + 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" + +"@posthog/plugin-scaffold@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.6.0.tgz#3ffb77229538f84b60debe67199670b284cf107e" + integrity sha512-omo4bGauCagSOo4Kc0wuI+2Lj+X6SCHtlLCW5azfZBhCllgcBWYEX3luUzMcd1oyQN1NX/uUNFxBjyoMuYv+hg== + dependencies: + "@maxmind/geoip2-node" "^3.4.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + 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.4", "@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/graceful-fs@^4.1.2": + 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/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@^26.0.24": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/json-schema@^7.0.7": + 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/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/node@*": + version "20.10.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.8.tgz#f1e223cbde9e25696661d167a5b93a9b2a5d57c7" + integrity sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA== + dependencies: + undici-types "~5.26.4" + +"@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/prettier@^2.0.0": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@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/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@^15.0.0": + version "15.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +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" + +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@^6.10.0, ajv@^6.12.4: + 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.1: + 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" + +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-regex@^5.0.0, 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@^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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + 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" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +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-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-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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +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.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" + +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" + +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== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +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== + +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== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +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== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + 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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + 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== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +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" + +buffer-from@1.x, 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== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + 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-keys@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== + dependencies: + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" + +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.0.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-lite@^1.0.30001565: + version "1.0.30001576" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4" + integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +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.1.0: + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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-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@^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" + +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== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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== + +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== + +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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +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== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +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== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +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== + +cosmiconfig@^7.0.0: + 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" + +cross-fetch@^3.0.4: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: + 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@^2.2.0, debug@^2.3.3: + 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@^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.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.2.1: + 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.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +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.2.2: + 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== + +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-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" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +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== + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +electron-to-chromium@^1.4.601: + version "1.4.628" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.628.tgz#97cefa4b2356d981875f19639885e4fc50ce6e82" + integrity sha512-2k7t5PHvLsufpP6Zwk0nof62yLOsCf032wZx7/q0mv8gwlXjhcxI3lz6f0jBr0GrnWKcm3burXzI3t5IrcdUxw== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5, 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" + +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" + +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-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" + +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-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== + +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@^8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== + +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-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.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-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + 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: + 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== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +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== + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.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-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: + 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== + +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" + +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" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +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-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 "^3.1.2" + +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" + +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== + +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" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +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.1.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.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" + +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" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +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== + +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: + 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-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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + 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" + +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.6.0, globals@^13.9.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.0.3: + 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" + +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" + +graceful-fs@^4.2.4: + 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== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== + +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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +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" + +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== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-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" + +https-proxy-agent@^5.0.0: + 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" + +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== + +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 "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +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" + +ip6addr@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" + integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + +is-accessor-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" + integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== + dependencies: + hasown "^2.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-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-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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.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-data-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" + integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" + integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +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-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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + 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-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@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-plain-object@^2.0.3, 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: + 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-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +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.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-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-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +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== + +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@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, 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@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +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-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.0.2: + 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" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-fetch-mock@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz#31749c456ae27b8919d69824f1c2bd85fe0a1f3b" + integrity sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw== + dependencies: + cross-fetch "^3.0.4" + promise-polyfill "^8.1.3" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +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@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.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== + +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: + 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== + +json5@2.x, 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== + +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" + +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" + +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, kind-of@^3.0.3, kind-of@^3.2.0: + 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@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + 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== + +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" + +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== + +lint-staged@~10.5.4: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + 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" + +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" + +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.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@4.x, lodash@^4.7.0: + 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" + +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" + +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: + 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-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-obj@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +maxmind@^4.2.0: + version "4.3.18" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.18.tgz#ad83f38d718ca5395c5d722933a109b7cb009226" + integrity sha512-5b9utU7ZxcGYTBaO7hCF0FXyfw3IpankLn+FnLW4RZS1zi97RBeSdfXJFJlk5UxNsMiFZlsdMT3lzvD+bD8MLQ== + dependencies: + mmdb-lib "2.1.0" + tiny-lru "11.2.5" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, 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: + 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: + 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" + +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== + +minimatch@^3.0.4, 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" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mmdb-lib@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.1.0.tgz#c2456caaf4c7ffa056f77575da6d40988e9e878b" + integrity sha512-tdDTZmnI5G4UoSctv2KxM/3VQt2XRj4CmR5R4VsAWsOUcS3LysHR34wtixWm/pXxXdkBDuN92auxkC0T2+qd1Q== + +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.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +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== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-fetch@^2.6.12: + 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-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-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-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== + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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: + 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" + +nwsapi@^2.2.0: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +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-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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +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.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.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +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" + +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: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.9.1: + 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" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +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: + 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@^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-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-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: + 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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +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-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, path-key@^2.0.1: + 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-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== + +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.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.1: + 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.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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +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@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-polyfill@^8.1.3: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.3.0.tgz#9284810268138d103807b11f4e23d5e945a4db63" + integrity sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg== + +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" + +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@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +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== + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.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" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + 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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.18.1, resolve@^1.22.4: + 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" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +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" + +rxjs@^7.5.1: + 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-regex-test@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.1.tgz#207369b445fd007e534864635b28b2ae7b105783" + integrity sha512-Y5NejJTTliTyY4H7sipGqY+RX5P87i3F7c4Rcepy72nq+mNLhIsD0W4c7kEmduMDQCSqtPsXPlSTsFhh2LQv+g== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + is-regex "^1.1.4" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +semver-regex@^3.1.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" + integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5, semver@^7.5.3: + 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" + +semver@^6.1.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== + +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: + 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" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +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== + +shellwords@^0.1.1: + version "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== + 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: + 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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +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.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +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.2: + 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" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^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.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" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.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.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== + +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.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-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +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== + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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== + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +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== + +tiny-lru@11.2.5: + version "11.2.5" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.5.tgz#b138b99022aa26c567fa51a8dbf9e3e2959b2b30" + integrity sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw== + +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-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^4.0.0: + 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@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +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" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +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" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +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-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-fest@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +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" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +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== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +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== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +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" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +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-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + 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" + +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@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.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-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-pm-runs@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + 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, which@^2.0.2: + 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" + +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@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +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== + +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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x: + 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-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.4.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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore new file mode 100644 index 0000000000000..7a1537ba06480 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore @@ -0,0 +1,2 @@ +.idea +node_modules diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc new file mode 100644 index 0000000000000..11d8d0021d487 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120, +} diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md new file mode 100644 index 0000000000000..74f8967c22070 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md @@ -0,0 +1,42 @@ +This is a sample [PostHog Site App](https://github.com/PostHog/meta/issues/63). + +# 🍍🍍🍍 Pineapple Mode 🍍🍍🍍 + +Because everything's better with falling pineapples. + +![2022-10-13 16 38 04](https://user-images.githubusercontent.com/53387/195627275-5dce555c-93f0-4011-a349-069e9fe22aab.gif) +![2022-10-13 16 36 01](https://user-images.githubusercontent.com/53387/195626733-928d5965-df71-4477-9e23-dcfbd342d08a.gif) + +## Installation + +1. Make sure you have enabled `opt_in_site_apps: true` in your posthog-js config. +2. Install this app from PostHog's app repository. +3. Enable and configure the app for your site. + +## Template for your project + +To use this project as a local template, run: + +```bash +npx degit posthog/pineapple-mode-app my-new-app +cd my-new-app +pnpm install +pnpm start +``` + +## Local development + +If you wish to make this a juicier example app, then clone the repo and run the following: + +```bash +npx @posthog/app-dev-server +``` + +or + +```bash +pnpm install +pnpm start +``` + +Then browse to [http://localhost:3040/](http://localhost:3040/), open `site.ts` in an editor, and hack away. diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/logo.png b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..89083e56a771b037a52c847323d8df6dc7ca3d3b GIT binary patch literal 128826 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

K?p69(SLJ}V%$2aE#gZNY`2KN-^+_PKU_i*H;y z##7IH0CW2-)^A@S8E#V#G_^y9wz2es2z|Fnb(kJxW2c}!-=tV?~;A`f<4;L1e6jq8_qsi%3XcY~|L z1BflE23b5{H@wf`vvW)xGVHuP#b9%rnYVt4>F5JY=8h7^0ux9m#_pN~af46>NaaOp z3K#4IAqHdo;#-o-r-1wavn{~y{@8o}#N^=SkW^fk69SUxnzcm2LU%8_HIcyRe`Hn%g+_bv=q zY@Higuo{gxapVlu+2drLYrOsPPci@A-$Se3Bn~B0fkps(xnSST>b-MKTNqBZEJGvQ z4I&WkK#OvLB^1uw!jXxv60G)G_rTad;dKH$nFL8Ex2#WKCo>dYTFMJ&NWTygtCCtv zNi_xc)(Xp1D2ecR!UV-mhBG0}Oop~8di*+*BI97V$!OAHGWtyp2X_efQx*0N4yx(XnSDn9F}7!&ySLnVo9pK&nda2}0dpY(^ZJ`$BnNSmdYJM4vxaNe0_wvWOV%=H5=IE#w$t3DHx z6Rdvn$B5<@0WeZvWkf1MVhL?I@yjfxpb&lSL$r=ZhoFWJaDiRr3>h&6SJmKifVNS1{C7vF#KkAUnOUQ#hfm)!lxQaCyfm31* zQM#a3jY>MOL?K8-;Htaa`tvf*gZ`^O^*4U?e-Z%h_cvu>%ula>_Vdb!nEoi_jr(KP z(mFbm#A(5|e*Aax@Vh_AYQusa63i{JwSJe)``77>_NW-aYPHM4Y>Pwh|6$&?r+E;c zgM!r*1P203h{#L!=~Q zt(j3!QNm{xK)Vs7q+VK}S$|`>M^y@@0)G=74sy;_2F!^RB??kvw)QqCM8s@!0rJ}{ zMIlM2!OW3QGS@O(ed!fgMLC8eK4A=e#nqfv7ou((MRE73gtfaFd0y0OI@zsC| zKstcSAZ_X-yrU>UDM?}~)GLafgnQ#%b_X4TrCAPg$#!?hc$Cs;W#mD|01v8e7|F$f zV&?cMUU=piTHp7hociduFgbA=xpD!I zd6xTY?_jeLGT5QsJVQQr0%>yq_wNkS;UQ9n)WU#NYi43k3Tnul#7cU(edO(*`S1Vp z|49J&Lx1{@Emmiy|KmNK6UZ(@Ex2~6igL&2Of9A+D` z9<{)t@fFJ5L6=VNE=$3HerLe`sLeQdoJ>plm;MfS?;9>(8glc&E;lB9reqbJr_>zB zydbPbES@-nUT6_UQ@s1Jk25zjMHF;EXxCpCqJfmS{#~koLi(}KFlmtN{T=GlA7G%W z1j&$E9HPR|9V{ay7CbiKu7U6>$HkB;JyJDGON?j*5fPd#TV++=BHn(B?Y#l5NFZZL zYGKq*7o(I*>)=zc_hEE&cXzWsZ?lW#wNly7!jR!|L4 zANcV<@;ClRATR|`004jT&;0SnrINpE`s8WGjaBN?En*B07x00_HYb(>vg?=GKYW4a z(kjLH7JCN+?sf{4OzGabhG4+KNU@w`T)lFU!NxXrq8Tha!=dqn^Zo1e9$cZ-*&+Vm z?;%~TbLpkOMdj)LkTd7r&3wgg=*g0r+0%;61R|x}i@sb{E<2BmV88HWpmyjFe`+nb ze`g8HzQ+OvFOC_1bHPJV&hq`J$l^TwBjv}5qErt?3IGZN36KKQkzh6!?m5(?q#c!< zdo&9{N>pobOSjoCDxk+4np&Va_ZUg_G>yhQdXO@I_))&}Yk!SL9)_=cX-wu+Z>pr- z9<%c;=BKA&;+bx$4vj-KChb*fjX9owGFzZJZ!!}GY=kSApvt_|Xe$}Y zD&5*4f^ov+pu?coWoEX89`zy7%r@qkjuvPa872%F2uW>Wp5OD4@8a0TeHNFRG{+sT zgi8*c&b&~mAE6>pG611mMKZRMLMYF-DEssYp53Q~Lc6L@ks;9nD7hUPOBnceF;Ee) z0ztXJrTmJvMtW+jl;EV#r01s7zXt0nt|KR8}J*#Fzd&m88Fqeof0lC!?` z9IE(M^7IZ@FQ;_ojuX!ex&79JU;ReP^_vsk8AdE0doP=v4(F%Wc-Q$Y^hnSeSDBT{ z8N7}%O*$D8<`Coo=`e-Rdq3!<7ciAo>dk2;@oAK;P+NYEQDc#gsv}g4G=P*;f{L5m z3=2ykBd>03V5t3li*S|I&%FFE|GO;!1px3z{>&fwZez_S!XRdTewEqPhe$^|+*`lF zt$Ta)Z}fRHEyyB8T90{f<4xXp>vIfmUnR>&Y+PHTR*V?Rm|1BZK$U4j(ww2#8xnVS zn9-@rRENLicd^@?8neMw2D?3W`wik+ zok2GNJpmK&q353Cq0=Xv-Prxj9c)Enrw;MlsfRgz`~=zPDivig;S5o2ks#9K1c<0Y z;iSSOds;GG2?*pOgSDR{nH)gl98rCamdvq$mH`?c00ojPo523dEVj=f^bVup7B3a6 zoQwry5tB;ET_YJRoMtq$Og=7n@b;SwcXnxH1)?Y@suIzxBd1!-o;b_$lON-ur(Ph5 z73-qSLaV`*qKZ@@2#XKh9_cp@jaNt{-2y@tB2`pw;weT#A%lP-2&qU-QyPXMaIb~0 z8;B83YEVPfY~Vj08j!9sk%SJffM<^{ z@Xni;NY*!5zVL41laG>*ACUKUm|GG&R@Z4UQ1!9QMp6!SUA2!o((Y=Rv(F(UrLzlju9)*vo}tuwC2g9DoLeH zp=uC>)FVO3{zJ|B)BjXL{UhBJ3Ftv`LF)Q>i_`&Kq!L`IMW23VhM?&n8Syb z_;S={b0H*bjR|c|@bYi5c5sVoYmw+q!o4fk=ucG$BI`;MRTO+aYf!TRLWP7$$ZXPO zSq22*5_weN^&L&`t)C_x_W0!Q`J+VjI?bSz#g>wm@|2#<4|)3i zAK_Pj_Opz2N~7MOHy*OHy~jsC^g+k$`^GER$@Vhl4+~Blc?2*l&7UHuPP3lGBx#44 z<~&6hkXSHMp^YDj#R8^R&hYx%J5mq!)1G*r=jCQ*x_38**(T(WTF6!OSvRzCDCY}|ScIY}vkD!pNssop;6>Qh9k zr)kGkzA(wi7oTyMO+76Tj@m0|NxyWZQCMRcI4uS|a7EyLTa#=4WWsZlc-`V^j~TV>UU(*A5O?5r%X28>~Dz;zNg0dVNXS+hcF{ zfVjQMR<}WKyUk!LqcuCC7fn;W5Kvv#B-;VmK}g(-NSV+O0)b-Zm37+LEWv1v%~QvS z+6&~>MPy?MSl-+ZP3V)wFRLUjVRTC0U$(>TYTRLgaJ$krj(Vkgn@OdwF)mNs-z@D zxWiu+xZo5E$V--)5u=K;A0h$Yyv{m8)uirA)(aY$v6TlepBcxHh+FaIKM zUR~qy=Re4sFTM)dgyl2m5K+j9#bq9Q{28vk@)mb*K0sT+$%h`{(Z`?m+k9c{0a*xU9dSxNz-k*^M{yH`*e3Mvz;$;|Kaaqc=!=2 zam-Q(2Zdr1Rvb$*6@l;lEhJh|k-lY%g~S-&#svrrzVa&!7>n<}rFUbR5MpJGRD~{> z5QN^SR{61~RRK~t?z;m?rK&i6yi9tgWK{{If=U>9p;Z-7D12KYJjuvlF@mz}SLD)D zk8>gT!Ks4xP3@A!8Mm@?^hf`IG#m2vl|FA@Jz(v@4(-$T7{!`?ah#3fJv{WtT^5!% zn5lMo<5te?D@3x-%s(07&Jh8+|PqiSXRbfBoP5X8;P|&-}SRGJ`OG z#*Ika0SHJ7i>NQqSUttrhfmQq`}8io!Ao0)b~;2S8QbZ7`WZ}{gymq5A(}jx=D{Fg zwqg0sN1J^7(X%}B#K$>w_B1N4bMGMG${WAHc;QLj{jI;<_oaa^#Y>$%h8l-3BZYe& z6DtUW@oFu`pshcIh4EDYrPGfP9_#}_Bn6o%2t;WEF8%n=V3`YjpKrl^Uo1V6uT<$B zASF?N+a0e3P?a7Xw$=xvSVCB`?5waT>9d6=p@4N|tRT0Bx(bLYbw_8uv9`vX$@s=^ z{v0A)V6;Es)}03|%q{U9A9xS1zwr_qL(8c{CwOq*&3KJ3#(gCBm{(f>RT(o9ME8Av_Kc3P~XFZI|^`K`13%E!_8MKwF6})3iakK#;g8 zMno1wm>_~6CJ!RCs-RU&BMRL(ELI9!K&TLg5uviQLy2$;W1-8QLWM~Do(*!49)5-O&Sy!*g!;^R8gYY`bB%^nC=RS}En7oCT|#D{suW|Rm{`TYBH#1lf9kKk z{geMqQL1E#)li0BT|`0-&R{@mOQG7#Kk`22&pt^e{~|yCcYlSUtkD&l9EcoC%%pD| z`)$9MaX;Omu4<$`!NbSf)a$bZQ*~^AlPlNm@RfIdl_Te#;Dg`$N1eY}GqnEVN-y8l z%L8^&&-)LJcg7v11(lj~hdVVe6&X%JWd-!kMuOlnsy~Vxm1E$r^~HUs4K0fVD6cL2~FJM(_L_MLK}yA%>H?6xAh~ zY!QhzLDJ}|6&{|iLX9&fMrd3?Fgiao^Ex+L9;nN${O z+<%49c%84^$$08;o%70%Uo%-DYZy|8_*cj~837@*+BA+%v$ZZbUXxtzW_;g~hxwlN z32y(rzs#WMVd6T3ic#mYuy>Y~Bj4u&=|IE4LP9_)ETI(+JJChqH4lP-VQB`N6nYW3 z8vulYla6X>Jt8c$e?JUD@=SX`ByKYE{lAaauY8$frz*^xI7#uvo9s>sdaamCW|rH- zZEDS!usTJpP~5-0#)*|SB6*G7`!CU1Kj3}O{3xfs|MxI8Jxx7=0Dsv1swJ)km=S_nyi zrWqeln|i=|S03V^xy;U1-<82jL5-lBaICe;jvSN4f^Yf6cQLnfo$TZ^jg!aeZM@C$ zp@*HVmM#pTu^ed4&_bmI%7n2rl~)JWNcV9ZR*}o!#=*wFVy1nMn}egAsa|1m=QE@; zAD}rm$FE)f6^`g#rmD}NWK7kJsC6%qZN1FF(P!yxJ|GR76kAuQr*CtR8177-hNC~s z2QNIz4HKZTOpG6&3P6g05gydT3MOu@?{_NVveF!ZU+;C59ZZDxL=f)Ag^7VWf<5EM zwGA1dHS`EE8bFXDQFuFa@67-b%ZPxw)C3|zTIc zW$n%bRDH}itFwO3azwWYYCvI_Uo6<%)Yv2<$`o4UH0P#Sj#s$SUt{#}0t+Xbd}-qs zdG_HC^WG<(;mUf4;mPB4!i37^>*yl|9TXZtApM!K2r!1e^nJfnf*E1xm8Q7X8uoLJ z19ug`pZ#-x^1Bh@!$K&G4G=<-nb4PMrf@`)!a!JWbKzajGIw~6hn{?#XWsuw;+MaI zlmj=qX$OJ}?E*12#I`^c6I5@5!Db)Mew^9w`HwmK@$aG0sJg6Qm0saCk^+e(aWj0$ z*x)`F3MlYGo2@_);Y;^OSgZu03l27Jvo-oM*ZcQ4KKBGdLz3L_G+GmV`~LtUA(5qDUsZxAIRd%SSnC6Y7Q#h!VR8KYij!sb zhMJ84rYa$g^bXPG-$P?8Sl}71zkQLT?|zo;2XC_?8xBBxaQn8~hFd;$oR7czJ>*%J zgJPZiiR8xpH+bXCpJS2*L~-5m;}Z>Ix9%L$*9KE!6NNT(jpxM~tQ!IL_OEbgD&WP@ zIUb%qNl;Wd=x-zIdwk*A%Zz5;MT-Nb(tWb+FHmc=IXLsfyu8t+zrDtA<3*+pev++& z4tM$wQ+?u3P+L4gJqYMpNZsKFs|ATM80%S=C5Z;>4yea>G7TEbSPLS`@h!NZV2vOH z3=(YxPuF2Su-wdqUvMHIH4=d&5dvW?23#MUB2X6BT4*G>2^d;M-zqvLaBpL!*cVl7 zTw@&88QLnc+Mq{FUwG+v8CH-&dY5G7H3=#Xa}Ye*xJwkjgFd-Mt2K|J&f?TndIw!D z-<(|MKtBPgB(4XSjX)Rf1%~ekOUtGZbw@5%uKq7D% zf>MAo#!`=zbMevE&$TUHk=AB?qV2B`PCZ39^(gQ3s+@mxnEA;O-QW7NJzC{JHfj%m1e5a0v3>vYvTg_#DYd(fxrk) zjkSW!LXhL7vcRIEm_04fB1Q!T6Vbq63B!WGWYmfbV{fIftC{KjdPv`Pym1K&;5bFicr%^`MEF%a-+zMpP`ogaj<^Zo)Udm zNc75a=0ET)oc`7y=GX_mmE}X{n45|?`N$JI^|9~f&?7H!>huXjpr}?Ng3tpj8tdo# z_(Puov`6?xEPB5kG=4FenBb9Nc5RIq!a#(GwTxgHjnb6oQgmM4?M39u#eEFSs*y^uQT|Ley2{}4lWzp`kcIzIOuD^&VGN$HF6NP~*!3(@{ z&O}@9b?CrLOWW=cCvR|n=QxwfamKwJ?D!Hh`VPCfpg-E6m25GsCD-o1OuuoSt=W&T zaqA6QgMUE7{xVy`7Z^YBXHbhrJ*%>GKNc>C`_*eB{MgoF%dGAXt1Z=cCk6zN8xQiO zMlv?WCjbP^5Qc?fUcvij6sM}Lt#Q7DOI1ltSkhAK(SVl#Hz3PEAbFqSbRRV5DsmMZXV%OivxG1+>8%P+6cdFK+l z+qc;qO$cPpJRy;cxZm%x)9E`Lt0`)1j{CI30UsO>n5{MF?N3n6kOSRkk`>4(;EBf` zVQF!i$v9>0>UH)^ge?@umQK(c=6vquf69Z+7ny9mL@^P(XFfrtea5pVh$;=Q^?>KK zc!E2n#)Yr8HNp|7q;x@|e(CM#0oO4uz+#MyCJX^tSBv; zJc*+KbW|mg5hJM(i$^*6^t-t5KR%8hJwj`0hNu!@R4L9Oq1>Yf1X$1P8)+C9{%a9n z4Bq0pFhokzEnM{X7FiNzD;46nP7udT(h=Qmhuz*bzj5Usvo`E=vaw1{H3-5AdxH*N zz4vv#boFJPU49?)^GCUn^m+aMmpRp5b>*}zI#h%vikc`FS zy$jceTOx-ZtCHsGmx>N<{4#dqUt{`jVf8-kYM;(vfnR>*fEz`?>r!)VoNzzu&>acR z*(&FR;BvM{vbf4`zI_9uBC6>og~)mK%nMGG<@>+&4|8q3%Z+QlgpOMrnp>e3Mx=#D ztVbwMl{Ma0t10@7#$P2Y3T}^AFu?}n$u`5?%k*xqu~Cg^)K^#|G9+L7NJxm9A7z zC=FgqbYBSRtj_C7ax5}#_51m@=Yvc|uvn8U)dUkK$m)MbYW@A7%Y-HHuMt8zFjipE zfJ6`ifh~~OG6?xmV=hD~17F(3A&~C6S@250z8xlXfnd9+@Gf&eb$y$=*9*=+r8sru zJ~wX;dGnyn{o5J(pvU2GpOvYM>-zJC`wvP7dRx+{&Fu0I{>i_r{@kDcqtl^`|CE$5R!G46sZX>w*DMU^ z(rglI2?H-OP{sPdP#$Eh{d%UghMw^~*g#tsMcsO(@!(qKEUXlW(qYF!Qi^vJ25;a| zcCY3840F&<%Go3F%aw?BrA{H>;^rosx8Gzu^?+W|W4?BVd;P13q|dRL(}Z!GK{DXy z-uNffaN zEBfoA{P?s$paEko!SD{dSN|cpH$y%eFx!ODFs0L-aQFTycQ+?azpp=x2z5YYVvaN# zJpc5&xStQXI_xp*^@-X`JoLzO?C)M@IvVlt$xsRF==ByRK`K<|4^Ls40peDQ~bEe}mcJO9W=bVNoa5E1skz zEi+P6m8P^$lW2>>12n>^G#`sC=bIs!f!V;a(h!U_>?D@$F_a2DZmd{td7=eGSTYNW z5|5Bj5tKfGphdvA6i(HpyjLzjA+grC8{^VoBvd62pj;MR9-o;o7YC%A5 zjbC(g4~rItTuRSf5fFPzHJ{K*Z_5h&74;YX(?7i`r2Iny;UcRLUKT0Wie4$HZA)d; z+_+NMeOwiS$iPHvx`n1N1zF(_s}MM@e5VkO(4$Sc*aIXbQXEO)4)w$s6rio=`zKDI z5-JMc23X^=+Ry+}uox@n2_GQX*xlsKNuS~L6ph*(Z(RO7yEksrSYGAMMud7mmE(=EI}zo5Zd2URE1X`u_vqC8GSg3gE>=D0%G0 zdHoBwdF8uZUlxZlz>KyLYd^`}#wPbJ=T!7VG@J8e;w0@RjN-?si&c7C4;Xee+607! z;yd5>0iOHu-$iYHg-`v;&lA)m>a7X`-6TBpZmdyEHKfytGeLt!qmEen3ghuMw{~Bp zQHzM{htWo{o9dPZ1SO4TA9ky*jrZuuD>2+{?|D8#TeGK*a5re2;5@`AZ z$z)=X_0*jklNqEA=&YycVU2^G9{o@4R}bCuW$lpcr*FW>%(*A@8MJ?4rY?YTK} zm2;?enERWzS>M0Mdk=pL$Cr*%yz@oO^c>SOr(t-7N^JoZHT^EQv(%Dhma!B77EdCw zK5J;K&t3>;3=v8|2()|nkyw1=7qQ8k+};TI!dExg=v5)SNv@A_{Md86y}8Yy#Ybt& z1J?T6D1*z`ANY>%CaAZtfuTPf^Ul^COr{<0VW1N9(PtTms&f*SR*)1EYSlTy>Z9Dh z_W&Wj!LW0Mk&^7+`@4kEG_Bw!D)~t?L$-D;{jADx?;R3xh}PtQgRf0ElnPEBE!fz* z&Yk`iQ*1L|+2H1_gy7g8r*rsQ-B{QfL#PzedMfne!6iOX{YNZ|zs>gA7r6AQ=9S+v z?7gX|c80wE^2-eO?osUD#&j;Tb?I~5eB&n7;h3fNoFhr?*}!LPAvhl!o|_A(hoCIf zBcC+76Q39|Ak~l7EM}#0t6+SP(W#>iUBeMMd=|xS^XLTAW*_k zvxcU~h=gxlh8CW!B~0#oj=gQe@u$9rFTQe<)FOPZgmL(Y)vOUG-ZiRu4 zoIy%A&l!vgbZCGaf&f_+M4?1w6{5Jt>dGl*o3r%x4;XiLosuz?DqHq|gEVGqkdW3Y ztjsUDb^YYrbL3Iry&{1Wh#UxNF;CxU#nqc;3EL zf`0CeInfrWAki8jB^Je4dxX9)hCuq2&zglwZ0TBvbWS`NV#XOo+F~pUK6^{@q0SvD z=M1-|hivX|@y?|kKDL;$x3$ioI?d1CxykdJdz_yV96SGQ1cMP-ZjgLa_gh77>bflJj@2@*wy@dP0(HXqR%U&2%l)4lgLk~Ly>m=(+X{Fi=)uKvAz*Z2Pj zzx*3t<=YwZ;N-)gil7nIt($H>c?C z&{&+JwRneoe~;ZAO|zvjsYT=uxO3AWCg+))_#XHBLZhilNgxa6%-cLN{AEs6{{`0% z6z{xwl(id=F~}m+;06bx;|x+n)@5T?A*WzOOr~=>_7z5*>(np(6s@WE@!0D7xfwr7 zBTzg)Cpp%H+$y9k&;+EJ!IT_~&}A;q47ETkOu5}BXj$XhpAz502Xe0z$I+3(_r_L| zRDljXnm-)YNaLK|sLS&7d6M^hH{Fv@uve=SXobaNA4%cIuEt#eTxHcQc`?R-l@>G< z;O*gHUj6yM@F(75t^H18ebf{}krHsN@1mhsM!~p}ew-V$vGj8<&#eLlScXMOm;n;) z0SE&Gt_Smow6%h~ES;0WtGWb1Kw-V3OR2h3{sDf5oI6~=`hz6|K2Ryn$D(1miS9gncTR;OT0eg_#Ae?cRs5!uZ}MSGoiKSfU=4gZs2D#$?)`Tq2vAbKS`YgILW;C|UuLxT6Lxz)-S(z|dj}hm8KWj@LB39mP zWiGwT51apz#qGb~O8w8TN4)fklm6;9Lw0AT^gCiGQe z)s?-55YH#EfGt5=RVI23Ai$Pf0e}+Gz?L)gZ|*5dNv7&#NGPezoiIekb0nXCgPWiG z26{7NFcM6iKTH4C4Z=h*nN;Z&v1^Zngnn%OqL#9ZGpK~twKaKe2(4l~G6*er;n^2B zcKS3cE3?ecH+cA|=QwqE6%*GOWh0bQJo3few$J8IB?Dup%+#{z?}tSGF6AP_FXRs-p`!(5j2N-Dp5N$6MU< zktU<}g@44`-TOS)?vd_|sqGlX4>lR6lI2s+^VHKHqOq~Z`jsznzYA~0k{b)>IJI?~ z-`_sT?Mqj<-tADIU33yz0sw&ll*1{sUxrbVl377kXrxopu>e>E1&RRQro^4gkZ84E)zS;=)s6! zDx

aQkLXF$w7PpjjQW+Yd>!B-tDg4HDXwDx)N0Kiwg-J&cevhXtc#mHhet1gcXG zAe&0B^8WrGW_Rz`xR)i|95m_NJI(lYL$*I8PE+K(U=pS%Q6&zinOS;_laG9qvmg05 zN1pgNcImsg*ZzJg^WTQF&v1PCleFvaCo`4>b&>OnkJG4B$V+MWiT1BSW+k};lMN{r z<5N6CgKG}~lr~hP_QE2rrw3h*tYvBOB}x+*VarMm5CW8d+O79O9S$<-g{_BNzC=ANdhZ96!N>2kZ1Y9inQTL3Nec$393Zs^kPj zRv?w7q67u9Y-=Q@#LpC^&T=UXpS--f8j&Cw!Q^IaN^`ChG{{5 z_coV$yL|j3-^2ZTukmaD?2qtEzxvBu-@3$Wm+rH(u|;>RFx3|K?yPfo_9zDr-r)H| z=QzD`lIy)b2RoOD`ZX?>36WbgyL9A zdQ>5f{3yqcelLd}`T?e%{66N+K1&uHrz?*0&SZ}5BE~4iBTG|M;x_wck-YW@&m4M$ zQ&V+nq4Eb^;Il{GA zkpAFkKv<8W%QE3)SR&^;VSF2luO_5WFx5sr@(jVjkbL8&V{7&YAyZ<)$)y2L9EN;i zxZ5%8^heb4ob$`GoNdJPI|U(%qftob04l4`aOT;ExP9$SzVZ1lkSfLLN1njwfMy)? z^ixl}`@UVDrhV?+go~$0MToZ2=@ZrhLt+5WjPy%!2BOksDR3>5Bu4;%(@T&9h}YGh z`SXAHM-l3gNJ$I<2YFapYYVK^2x%Sb&swNTFQm{4v0%$Fj8f8l zPfUR>_1r75aMs?9Ko9_-5(L)Xaw5Pfi0FPnG<)v%KE*}^TxH8 zdF|>RDqbP!1*DUVMjVk9mig8+CuSE|Sv^E+`6zF^_zm*mh=pN7eS3prANoPE=|fCU zwJ6*a!j@KFcr;hSsIXr2vjjE6()hz--N#N+%dIVY^NAu$7~l9gcDLU_&OgJ>MxXmP zx0sifA`f`#eedJy`UV^QE+6{v$DO6tofltZ%iiGp)9>Q!v2z$%rQT?h7|C9dFtiE6 zMi^Ts$P1Fabpow<(0_-yxeF{#FLH1FEt>5bqXJ|*B9}b|n>|F)Wo{WBT+TTxCv59F zm6IU~|V1*C!mBHmF{U%stS(a7ze2G27YQeCa`QpJ_Wle( zyMn&hB$~K$?jDM?hiO& zcL|DuVI${_`V+=`s zkFD)HTsV22$DV$cxEk?bcbn&)dO!Ck3ZX*cP!NZfSoyOikz~U93}5P6#tLEtfh_+X zHwl3pi-POwFZ_i+@q0rlPFf57%oBhVxNMhOOH~=BB1tR@uZ%;15R?aAP%7jSNe|9w z-!1{xyXPq1^Ay%nS5OOuKlJYVp(uN4Aw-EzmK-uqLS&?&xAkS_cRt6={8_9?VfRzq zy79O9`sIvk+aaBCL^v2bRU5rGpb|+YQw>s8pRo5; z(teIAB)tR6ey>k=uZK42kpyVA_ebp*6*zN&go-o-Rk_~!XUw@m!v!^h%28*^wXJv*?zKtFaXlOxy zyGxpmorp%dXHdDJTS@6A1z}$i?IaN86iJA#W=v{|nWRg&`Z2o4e~2LM(%AT~C?>zf z#)f3r4;_8Be|d^_ryymQ-pPjuKlESl;pe}d(+hLdgP2+X-9oZ83D`_RdRn0@2%?g#NwP*nIhA%)uV93~8Lz z#0!Flj=hIbZ$z`zrW!$1wlAhkx`FVD#umRZ8z2ZJK3TgJXn<0I zNr`p!7yr{g`bUhh%Ofq=nE2iyRuBM%g;pqtD5xlqegH;2@H}~K0SO9R5U7+gPs){5 zkP3(;1nw|N=40RYD+NKhXRicMZgAlRJ-o%0nb1ye)86|uGu^M!I`;jTXol_U|CCGX zmwBi2D7UU|(K@)pys@+vV*33)`N4#&$Pmqt`AW`nN6)Z0H{*iNkt4_H4~D$>+0WDd z_>a&${tyRuZ&0n(s5PftwNX_PtiZ>5PfH#aV6fBzXot9Jz#!?T*24n8AeTs>K}y{H z20J@l#H7YdqruL>gu#9nJ&ssDbBeX=H))MK#B+z4^g3L=dX3Q$O-D@e#@DX$`p^F& zUwG})?7Z|g2iy0NreJTQ!_KW;SDsg`7q=|-Gq(?M>DHSJtA`lv-sSau!+tVAtldQq zx=b0(D9w?9Ay2C8?l#f2h(M)`6Oe;~Ftk|OY-WAt&lXhrIqAtiMK@l68~+0;{b{x~ zmGgL9S!mF)^DOR87=_yutIzYn@B1%!;p8!9qJRmZ(?Zxx755XxUg1SJ3hSlYEY^X1 zR!Q$oAPb(Gmd^O~P+hwFBPavxD8supXE4;Bkd>6=vD{b$5CfUxmS{!@`bJU!%Cr7T zegWumG9UqoEJ13p<)Npfb}Iw`7Q7>{1E4{an1FQ^ApYN%3dkx}ES+yMb!vs_$6uiF z{I`$=3&>kd8VF)xs0F_N*48uQBoG1`3qURO`}Tdy1mZluij>7)MITIOm~O*^C#$B-lBi=b$aa$Zj57s zk><${zMG|E(@usvpCn`xiymmgA|-$Dw)^|z`~iE}D!r)6bh3dMgqW-#4+_F`L?x-A zvy8Nod9lafL(PA_iG2P6_H|h*#zm+JuOuYBE-0vF>EvHXM>}|BDY>jCkm^t>H zJozoZpJS^_q{c82lJ(Tm*NTHeFwsyT0Yg#ZLm9#;F%7gv3(FAU%wNt;2Q1eEs(}Zb z$A!g|EoG{~INEM$%4$6TZ2*8Y_hy&}1_o9k5a^N&1pZ)@2BH8yqXQN{FE`*z<8omL z44Ejg0DPjV1qzLC0TB?pavBVlx-v9kMIeMbH;rbU=*+{^A9)Y*&;``e2`7BB)ShND z&*%;_f>04e2~oa7kxm#5C-e$QK0Sk~8A4kyS3SaoN6#}qf0$u+#6wR$$``XXSyW{; zgcQiiwlpyo4b+w2U=7RXjgTJkFVC4o_$tWZYmC*O{d0f#&-IF^p5cKx0mK5A2?eEh znza~2xiDi%t?(ED#*O$!xnNTG0AR50;;1sCN6K4v*Oa9dd*vP}07OY6rQEg01B%u# z($@I^Zpb6-H6LZGvdRO|qAO;3trN5P);Cz1YqKzASbXRhw{G3%;#aScY^Tgr>r7Ne z)>NdueTuNg-L(hQn=907bqDI~>}|2Pbex6h1ym5xY)q5pV=9#@HKjbQ(itfPUe+t{ zHcOedj*dDge1B?Ct{SK*FBTe?Q;i-g>>ngfiu)HodxKk@9cF8A`ye5xSDAj~9D{=a zagws!UghP%n4u}yTic^GTj%WJ5$=5bP40&y_9jz2crbLx`Y_kDkDq7m)G`%2CMyc^ zVTS2xl1WM^M~nv(s-{C?LH9b&kYgzi>E#Ad7jEOQxvjCwH3}s#nIRgb#F56D98(P- zd>A6jQtek5_3kq021HW|J*<+wlTjlkUHx{Bf8a+^i%T5jh6AH`kQ8inyG%MenEpP& zXos2MZ4?E~S_6e)JrUF^hOvQ(0SlaKNgkP1PUN*7s&cXf+IS@UAcHKo?p{l^BsZlv zOSwThET>2c4?atb2g1tI7yv+)#~vgA$^tGKd3+!&S#wy31V}$BBQ=l%k(4x)AeJ5@ z!zBm7R3Mm-ELg#GjQd<7Lh|V)j$L?|N1uHcl}F!$K6D;wYlsJTkyg9Kv#C?>r!&5f z%tn|>mC5197!_3(jNyB}^}{^z{0BLI>WmB4UDeh6Di8%s~`{*L1txbqRYr9v>%5MFxEaJD^I8NBp403i^397fW_Nz#X>VM zcw$T$D74X7socRIrj|-oVXRkb#ac3;oUnrhX}!abDH&e20i+O(i*WYCQ-a18JBSVX=NUF_>Gnm-y?lB6sI1(Ff+`q%i-}p6-eBwvA zcXyvh7Q0C6$9Z{knu;n=l>H{Ck4g3u!rC^v_*JBw<15ykDf?;8NUmI#FVZhAd zaeDPRZod6hhNB63V9DxZCRWpnLY5kmbH@(z_Urq+yuD6$uEkQV!P8YZyjC#0@nzWG zr@+$HT`E<9Se>CZJ44YM(U`u#k@tTX`Oe>^djAT0_a&n(O^=+gQ7{~gm}+j23^id> zur;(qy3QaR`NT-)c44_LQA>=v;t8stRcKr9R~Naojte^Bv1wli!nHW8X(gUVrdHP zf>FPa#E~Uxt+04unYlC1bMN7g)46#QNlNeR^F05JKf$r78o&5XgUJhj2)(~WWAn4D zEFWPvi}>{CzCrxRd+D=Ewb~%Sa~~!J478`Dr&bc!lAS6j!FWHyjIb1dk~p`git?nj zR8tQoMHq)J+Gz?T2RB3&%NtoDAR{zlj*rR zo_qcr!)KTH%2%(EZChj=>{5ebV-s76SQa&!>)U+pr~WCOlgpgUB{LU3$id5BVDZEg z&V0iH0hV%4nm`(?zj~wwgg@}!c^HUdz14a40O7Ns#ggN*oStIdSthjYg5Gc24s!f14k&&PcZ@)^`akI3%O;#-E&h6yEbTJ|#)-zGF7 zg|?ChsUor&Z8>Ik)MNF~S-$$!Pq8p7Xte6|`y<|d<2IAMlxi&`pREA6rI`7dDGqlm z`@=4saEzRvrM>hhVKe6DZ~X#Ov&%FV4!aALW)r4jZ?o*hKUF!I0Hs9P5(yGrs@DoX zj?zN7k!B5+U+6TO$mP`!f+MhECgu;@QiC9_O*t)KK&>R^^Eu{>bkm^tW zncw>t3lR}22t`S4#j~#_+R}HPYM%Pr&n$ZrOtyP0t{kPiKA_(_;P7)Nh!z?Qt1&0q$9UwzLr42umu6#^<>`!kJ48I;~|@1eQ!IFP=;Pkve|YK6su1{t)CeW*P_a}GyvDzf&b-0^hZ}(h&`LMf%vje`PqKof z@RmmTs7LSS%bYp$1V8^vKkG8wmDgY4t+#G7N>lFv7YEc9TAXgLkltG3h4;LdJDncg zolR=*`VsQkljN7a!pg~$96It4%k`M4a}RO<_I0KfS7`;3b{rrm!5=>(@-o(irIW*c z<{4>YjSFB{hy#rh2CQUaq!%{PUfpP12(EqhH@$N0pkR<`CjBvUJNvw`)Mon8vwZ*W z|HIBwY`?$HOP~HMi~TV@5>D2dJZ!weZdRA%lbghwR}lM`$#4EVLH8XRae$esvZhlP ztZVTG)t08e0nNNhHqn@NKxPcng{7qxgD@r?r92cbU?R&F6M}k7IEKnZqJvUGi;#sb zv<8x5WtG}$n}(Rsd+-&uHmIhkyaJxvOH#c81MtiV#W2^1ET zAXSq2&?EjQV<#}`GGuCfrQn4=@aTRCh8aLoGW--M09lUrB#1Hy6ao)^;{%TYY$;7I z@w^tVZBg#J2#{F7Kj%O~RzQZY5UPR20$K}zvT9INL(5!Ca=ZfXT`=?t&1__72G-#T ziH5!wqy^>dA3y;9zzb_ocwGaneNvZFa*$c}-8HmKEEunyPy{OPq`I~k7+dzeSPJ8P zT6DvGSH(#=0t^jbJYJ zFHUBC8!^lZFaM1NjI$dH#fTT)_w8JJ?W@~3#$yFN^7{xmZa$sik}f%(}Qt+_TA z&OFJik<8cX{Ln`~&M*GVHXncVJQtg1S(g%-3>i|K)dguT$>xu7{y+H7Idbz7S6}=x zqs!NLEQ+xqnAr;ByEhs4hlK4m-R%vewKRlcwy09u*(b|18&WX)J7zX&&RC28PMAfsf3G&;x1V=BRNoX#$&=rk_;!_ zfHemld!E3sS|LpmW`d9~i(!(o+m4AUA;%)c^QWHSi(lPhbkIYuOglXS0pyh#8Y@px zefZmH%^l)E8sbo~Q#Hipin+l!Rh^yY`w%u|$^=v_%!H5{hwyt0z#;Mig)Z&G{6bj= zn7E`=-uOTP%m)UgE&E0iU^x{QY`6mtu_vjOX-T+VT$>W7vQQ2K2`E8d?HP#D7(&37 z+lQ(3xI<{55dOehFDvi2Hi1+d2h1s92$77nA{3O~6_gTcKsiAREZzeViv=*6nJA|g zd)vC@(727)sVJo-ExHIu3&BRJ=ovu*2&-L%QC37Ki#MUcVy(Yky~47Y`6@OCj8j*( zC16hyC}GC}Ti1Xsi5h{#8#@?5MH)t>%#=2ilK_tkWVvS^1)(={n5kN#P++yB9m7H+ zWV#Z%7cg+BuY$5?)1m-dj$Nz=7bgV-PEyNKQU8rbar>R^u^C{AdqA>%aEX#E-w5Cx7U7gOFG!Kb|ojC*0ee-_FVN@5AN+viu*`5GaU9NsZqEor<7} zBoI{^%DBvw`s-9`0$Pw3pF#g@H0KwJvbXu#kPDfncj0d0U1U^JF;L=JhGG;-lV!`%H`2pmoX zV<((bs!qGJWidc%%ivH3scO1S*4srboFUKy4C~zLNwf?ps%=EtWhrRW%Ti{eCJ#(V ziu8afpk4C7fqsLc6iQLBms_d=KQ^_749QSi@2?=lNd4(Q^&`Kxpf(efqycR#rMnK` z(bBRX0_$HGqkXoo27*XQEWU@EstDRu#j&PhwGlGyTz>)rsVE(P{aYZAr9opUyA2jo z1|UiRqciBUvA@Q~H~uNL^M^Qn{$sp->mB-&2`|6%DwA}FZ+X`Y&!3v`;#))70jwPi z(JDrV4VIq!0BN?)vBf1$h)wqH-a^lxrd@AvXnqlcpO-W$HLBH!prnv$Te`*?Nne*Y zPkBuW{2Vw|-fcB>Hz#xpn2L;JPVVKU=_baNdV$nfr3hOM+N*~+{=|DY|J=J6wj_fq zS2*?9v)tR+V6bwI)srV#JanAq$538k;2kwED_ZG5sT>4Bwvcq#J^0OaKv(B(OZ9Q)NDS`BF5d7v!# zNm_}*3xUOY9=?R~HY*i+eU)Ir-5b+l!o*5Y8r{F>DCh^b-=y>4W%k$i(5lAx(seqY z`xUNU{t6q{zrc@QILw7G~tV~@X|n>Q};^8J?> zY>)VXANm+?U%J6)vd*2GJLpkJeQ!c{`YHa|H?H$%pO1JtzDhp*-HfP#uqYH2$KVQF zxu3g{C5{aUFkgdgWY{lC+bB1ehKZIm1LKHI*1$mu4TS?M$A#Y7(4e{SMocA$hCLAU?%YbMN8DAHKk2^D*~( zW7e#qB_l@GG9Q)fGnerV1^~!~B9c%m-FX+Pegb5%XiBFaqp@xQ$C4EWEx?p`Ql=rm z5KHg&BoXcaImc(I7#PWc!>xSjuB68_z@jCD8Z??RW)KJ{v8!_74GPLkZXpAd^`GfLc8k2f&(9A zDGI6qf$(i+S;^##wsteE|}z&r0{{D$OYAChQ;_z0`)^Y{`d#z-~T%l z`5W{P-ey>gL7t{g;Hw3Gx2A*pW$|{MG%qzjknxI`#^ma9uZr*3G ze3+$&p5Z%GgzhZy*0aA2JA8@pTbavJDiAc(h>kH%eP&z}goPj&q?nnAKwD-+h0!pB ziNaPa!_J6QHJMtN<^#_>!YF${>*)Jj=6mDvWpt?6s~_UT+|zvg@G9rWJFFH{=v$v> zey7ddWAEi~6uOzUkdRmp@FEO?09}^w)xb-DJK~{}sxB))OF8oMhuD_1UTGx&O8TwQ z1mk+>zR}d(yc@g7jieetVmwEn4E(M&!5A-1ru>*aRvt4;CtK*fU%;IB?IcKs`vX*` ziU~soFMa`g?M><*IKz#8&)x5*^PJ}wkMfmDz*`q@a#9>3Ut9qJpSMo2TaB>1G&K7et}NCby?A< zAcKH>oD&=A@q}2=%?wFd$;q)qEH88H=uv*?gWp1gq?crDtl#Hr7hmR1V5luV&r_!# zMO7QFr|l1VT>0|PA(A^3vuD_qA=MzF?$%X3heAo=XxP=zi+rj87GufLmcL#WAB3$1 zU9Oi~V+lkFplLrI?BtLjDfdpmdauB^9Kr2mihW&{`uO?3_o1K^cLfmC&@9Uy6C&nR zMksO=(#^~REXr!?x<`RQ%FqROQ?fu25FoI4!W`Ig3~14%qjgxSONV}PCc871_sW;C4QL=e(95p!qH zak)?wC9pp2`g%V(8zBjWuUZu4dAI&=D<~%*LVhJs(rg!54yM3p0Y)J#P|9$bQuLyv zXcNeQaau4NOO~sGV-4Zv_o0jtD)tAyL|wtN`pW477AVIt4*iCdrEdOVdwqeGpp(C&ceCNHh8!CF}=(;AHRI|Zv1K|}dXx3QnimYVf`Oe3xJ4mr|N z$qsn!vwx2-Ck4rr<&lR!!10;qXg1q)wWbSvUBn#N0moWxHXr^7m9?Mc-bT*)%A*wN z9pVRf5kbKWDH_8#fU(e2Y84V?y%DBRsBXxp8lpl)lJ|N2(&y0Q8kNqF#pA0CLd&5i ze>aI}uszymaOqWUhB5Nq=SlQ7+9<-Ce~!xRQN+1-6C8UK7LE~xiYQPnd4xiO@YAJ} zby#jFlqa5*$UG&#qP$-y>9#=0aYq&g>F^`LSO@eF)Q#pw5;;3^Wi5+=Ww(F~NmlYx zLJ2A5VIagB$@9VIsZ{nr)!8eaVUI;t%%;`|cik={eHH=NQ)xQ{q(=SfUb3 zkh0XYz>ft5poCv@uSsA2j|zjfcw$jd(AoJ6!(@|C>=NY-W*%IpyZ$9!UAsi1u|!;H zbF-T;Gp*UWd_WphNv?G;lULY!@)5qCwt3hVEXbIBZCzqIBn=%c7>ja=${2JB-czPt z04YFw_ol5Nw`xlU#tC^En}C%L2MCn6mNG&(l8ki@w1GRgOR;6D?N^0E86s7H5FwPu z9{{X-c+k8=PVwZP!kE&G)A&aQd0r686^=jiXGu+sMt4YsBh)tY1SlzJ1OXLUAW=+;68*KpMeEQQlG1ddp#Z5k$U&8EMseT|zp$W1sa!-k zPu5h=N2;xwb45@+DwTlioJ_WKX|~TlMziMQtS~d1js>+AQ@nCO_mmf%?NRL ziezhq?Mx_yLRD(WvquPm5k@B5?P>nOuYHY`-k6V`T;%fhJD6jquv0ZUo7WhhcDVVCf6mIwlJn<2!s!qF0LN!m9cCgd!~!JHuJ}XgOaGFc zSBh`u66`nm`2PDQrVIiK8hB@2V_-X%1lCK1C#8mDW?(8X3=4_!`u<+wN2bVllNAJk z&B&v3^w<7Ab8{nX>qE>5O>^>P*2gJ#>)%iRm~>L&-Gbi11HzRS zd$;bgo@6XGrupRW{83*2#%JkYy36M7grgsPf!u_&geE}|V#$HrLh8dCT7Wc^X}2^8 zvE}vlc)(U*t=ukbz&O)%7!hKT(o*OGrOHXEkqE#bKzeFnY>flY1QLwID1)%RgoW}^ z>I48~HUx{KAd(wRsx3(_>AB_~TJ=)|W|!dA{|9#ORcdmE*Kgir%NmkE^6Hf(VpU~o zf5TM(?|SmRFjb@T;%_o_=xILrErA1U94= zMQ9>Ah-YWT)|aR?<>{sdjdiwZnzF3KNI-)u%^7v6!A{AH zY(0CE);im*17%WXKC&HG#hC~Wp<8nF=1|T5otp{^-F(? zjl9`u^ga{>D!!?>TI^AT2O^ra!mCuBju-Hk17?)^iQ_Bk+k?p>JrD&w$4rMFK< zMf4&FY8lfqL1lNDJop0lfAST6+jsnjoO|j83K1hqet$JA>&23oqpk1Nv1O+6oRe}7 zAG~m__CTBQ8Uwh#*HG$CQUD6U(D+3kg%8R~Q0{qDsc@7`jB;9D4p_Lx(7alk^g+Z&pEw8l$ z?sB3S#R=R;AoSx#P zckVG_p2-o=*EgtCrn#*nw5w8KUKp^@bsq~fo=ioFIVt=IwGgIs$TmpCW{?@Pl^E^E z1jhHeW35XO2MJaHmM{>6_<6VnawMa?aAUqu78HdhRFRJ`SR_EH@`C^iXp@r}L8c8! zVd$rxU04kRM`);a?-1VluleFjFVk*LF}tvUm^r~}tHz#K=A&~NVHyx04CuW5CL7yh zuDyAW*2)V!^TZR}c*B$Cc<5- z*w2aG_r$8aS@BCIQ>{9O)Kz}*MnL!Qd7iuQQR4a{``ee8S?qJL^&(RRWIHv&zOSktr-1t1@Zkp@lu=N{518^1hYGG)m^LFX0(|gWk623cOO*fYz!$5 z`ouLbfhAAIj7^L-8I|2J1DUb7vP3(M$Pz(!cMo}gpHLUnmrkLU8?2sxFMEaN*y0fa zB*ETo?!NJ__y?c*OYCg^2tWM&zsF0(fyahQW?T-)k|RQSlOkkkHwK}F2!jz8z`Y$i z_9ZC5IJTZe;5`Q^+t8>4vLCBlVJISYvJ(hVU=$b~H~lM&Cpvs zN>}?OsY7l$<;hUFHvm8Z0sfkJB(5|A0SuH?x!n$=l)JJ}2$N8lfKfS%7ZyUHQ8ECa zOyej8!U_Uc>MD0o3=coV4 z--IOR`MD++q7Byj5!!^j_{yt%!cb`CT!omfqDCI<%&-hLw=sl{+aRlw-e`i&p%rMZ?RII5 zLuzKiQwI}H3=21Bf3XtKTfM+@ANn|d=)2xWT1?opEfQk7xg|f*yul+o4 zZNA8Jw_o7=*~bV0gP=V2Cv!)GJ`60&N*4v+UlTFuU-6mOk_znzc5+ z`Nd!3@oB|)=SyV0gnGsA8Z68-S!{M#9o2bqv(L`GO%6VA2Gf{lSen#K2}4~PH~H8p zw;@4#AzQbYqD^Y0SO|C?*rWBYU6vv!cvV?Dg5X!iY^yS3WH}Z$}&q^P)cBs0AQi? z1w=`ZC4wJHke)zZUKx)g$Py3?1m)JCrc|l%haXC{8-q5IUcbYo$sNSWNBO|RAEhco z28AUMA+2hYVC5L6PCddy=ih@)W8xsiTz?UI9Xgv$s)I4T@jkgVLi(9Pdv`|{r2C< z$DV$K^9v2mE-p}&h1-6s3&VWm7jq6bW2UChv$l7ShTZ4F$tN*@rOZm!`#@@NZ{7W& z!Dz?|FUFc_1H!oi`;W~xmxM4#l<;)&XtK-7;1c_)g^{tNsMjM!Qw|*^9SSDnbt1;3 zI^kfbs8k|)5AKoQ`#eSSlZ>N~g?5wL<)39Oe2BCA0Ywe>fT+sT$_V-N^04dxCE2qb}!0OhZM%v#Sn(t^a`>5o#Q zOV*Vs<(nrO_c^V7=^RWtgs=WA^>;6E?dCRNc$(q-6Wr+}WTQR8al-LK3(j4&UyB)! zdMuqh%fk;n35C^if z0{0^&zs+d8V5!xJ@`456g;5;9B#{6DQv6L=^K*TFeE?YkfjE%JvmP5tGaY+AdS(oo z!28q-uQU@Wi7eHJH_eFsyO&ux`3%pmoWls1pdCh_0?nbSBr%fEfIS$~nth1X#fRA` z3ew&-cG9My0R? z-69OeWQ|oKrRb+2MPZnV>nQ!t=y(1#hois4ovXW0d5Uz@W&F;kn4LLEaQu1XTff4! zFZ~Lm{XX*8Q%qGOD#9nbSO7p$nux@Jb)#eNS2(etq@Y@UPL%!`)*7z8`gxxH*bmZd zP9ue3XQ#ut$DiYLeTrS`T=?9l5V>VH*W6BXb`J{Vg*M?6$9VAYhq!b2c`_+62HFy; z2m)Z+c-+I3Y*v5}P?VKB7D1_V;68T2>n{XBz^FG&iIsFEe!H6GcbyhKR{FhVaESj0&lxq%5C{kU@Rq-WI%lTI(aancklwy_BW_M z`s3W)=z#tjH*Rdwj(Y6o2{t*!N@I@cnJK2*bF5vx!DoN{XL

U!XhI$OT2M4cE3U zNusDX1UkssKG@;J@iQ2q2oM-dS=Remv!Ki*Mwg5*pVhrvOxf$XaZiAClMzrrRX_$v zX;4BTF(_Fo8_Uwn1dGIvR2yOBSdK<2at*2sHj2`+N?4|pB#SjKMpt>b{z+QOI%HW& z#l8|uMIjGH__Ds<;P8nf*xYih*Wl5!-_5n!GF#Wa48>{GXhaYiI5tOccb8!=r5ZPA zv|>7&2~i{v28t|21r4&m(%ad^l;SR;FrQTZK=^hFN7{$FwIp`YSG@B_3?JO(o6`hy3k{7t6f zdla`MX8m*II%JsVOy(u~S6=7npv&6jUt^mpVVq)2O3lQ~1PUz91vwLf2RV#{!1}~j z>IV4NCiCW(gaY4Y8HrGW(~o_KxrG%h-h-pHdK4p}a^fscv`5^TJ;wHE2QgjeThGk1 zdA~=}>C!Ph9vqz~A?E4Ouqra{5Yo4nz8@$1N*mD9FD{h?ATVHsqAq-JR^T;13~6w3 zdR2ez{@q(eVNZ@SLw~r#!Tx2QIsYt*5GgdFthi`}DEIk|#{dFwEkTLgQc}3QvTiA! z7?vWS#vd&}Kp7xnqp5!JpRji6*E#>Kr`Xu&vOWO4{uZ5sb@n%Ja{l>;SXdhI%I9C< z>=WO@`Sv1D96w5c;w!)Q%dA~~g@Zvs8U-{L6{9$3a}uEHmP%^|YLa!51}wg2DFd34xDjX|yk=ltUc`#PyCzxp)(4mJrYNrg)@20gCM$_i zNF|AlMJrJXHd>^GPdYaQrk-a?DVIS5p&fxnrLdD23K>vWf)f?Nk%gm#7@pkk zv3U^l_WZ{gh#K41U*YT3RW^6;Aotc0vWg5qij$ki;c93d@bxzkSvQ0F8hbhgp8|AWhj?zs=&@GDyq% z_8JSVDq%29Bc1~5FLIe8J(yr+nH?qCl*%ct^c7Tt5G5solJk!sC{fC)fLeM$ZG46E z4|hoyevI9BKE=2-!j9JHT)E6)(d3lrlcjT9IQs}6c=iQ$-}wsi&=TKx1xkhlKp1(_2m&xA*WGF6E9$jr z-hcLKmRfBJSCv6r6e!^pXJ#%U1po={!LN#E?!%Lbf0Y8jaY*uF}qKEtUXp(hOYx2|(;?h%fw zAsLDT8$hgB&-_kIBn^p{XrQLN#9ptkNJ<_<4pk$aaxiGJ@@y!bIiEi*EOK^%Qy>05 zWYOpF`lpc}{v==TZBUP%XLn)6*{9D3mUo7NB`FwS*e4*zU`tG?JfbB9--0dOuKXyp zY;o<^0TjSr{!jnZ(IQVizOlE-vH2Rq?iPdLJ^=-B9I>|BXRb9zpaQRVM=7XSQa5t| zz!(q23>`tkpvvD2fB@rIL+UKK?MD{?spF9$aOspR>~rh!#Lr4Xw0=2xbZDt9<<3¥q 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.9.0'} + dev: false + + /@posthog/app-dev-server/1.1.1: + resolution: {integrity: sha512-da/K/Q/UKVTLKFn1rVhgXsXI+Fde/4pYV4MzZ6fe8RWYgdBh+KwBjwfYO/R9Xv5t96S/HHiHWoZto5ezJxdf+A==} + hasBin: true + dependencies: + '@babel/standalone': 7.19.5 + chokidar: 3.5.3 + cors: 2.8.5 + express: 4.18.2 + fs-extra: 10.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: false + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /array-flatten/1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: false + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: false + + /body-parser/1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + 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 + transitivePeerDependencies: + - supports-color + dev: false + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: false + + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: false + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.3 + dev: false + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: false + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /content-type/1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + + /cookie-signature/1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: false + + /cookie/0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: false + + /cors/2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: false + + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: false + + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false + + /ee-first/1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: false + + /encodeurl/1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: false + + /escape-html/1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false + + /etag/1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /express/4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + 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 + transitivePeerDependencies: + - supports-color + dev: false + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: false + + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + 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 + transitivePeerDependencies: + - supports-color + dev: false + + /forwarded/0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fresh/0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: false + + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: false + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: false + + /get-intrinsic/1.1.3: + resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: false + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: false + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: false + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: false + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: false + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false + + /ipaddr.js/1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: false + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: false + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: false + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: false + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.10 + dev: false + + /media-typer/0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-descriptors/1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: false + + /methods/1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: false + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /ms/2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: false + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: false + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: false + + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + dev: false + + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: false + + /path-to-regexp/0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: false + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: false + + /proxy-addr/2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /qs/6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: false + + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + 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 + transitivePeerDependencies: + - supports-color + dev: false + + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: false + + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + object-inspect: 1.12.2 + dev: false + + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: false + + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe/1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + + /utils-merge/1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: false + + /vary/1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts new file mode 100644 index 0000000000000..bdbe6a29ed2a9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts @@ -0,0 +1,110 @@ +const style = ` + .button { + position: fixed; + bottom: 20px; + right: 20px; + color: black; + font-weight: normal; + font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + text-align: left; + width: 48px; + height: 48px; + border-radius: 100%; + text-align: center; + line-height: 40px; + font-size: 32px; + border: none; + cursor: pointer; + z-index: 999999; + } + .button:hover { + filter: brightness(1.2); + } + .button.disabled { + opacity: 0.5; + filter: grayscale(100%); + } +` + +let rainInterval + +export function inject({ config, posthog }) { + if (config.domains) { + const domains = config.domains.split(',').map((domain) => domain.trim()) + if (domains.length > 0 && domains.indexOf(window.location.hostname) === -1) { + return + } + } + + const intensity = Math.max(1, Math.min(parseInt(config.intensity) || 5, 10)) + const emoji = config.emoji || '🍍' + const shadow = createShadow(style) + let buttonElement: HTMLButtonElement + + function toggle(): void { + if (rainInterval) { + window.clearInterval(rainInterval) + rainInterval = undefined + posthog.capture('Pineapple mode deactivated', config) + buttonElement?.classList.remove('disabled') + } else { + rainInterval = window.setInterval(() => makeItRain(shadow, emoji, intensity), 1000 / intensity) + posthog.capture('Pineapple mode activated', config) + buttonElement?.classList.add('disabled') + } + } + + if (config.showButton === 'Yes') { + buttonElement = Object.assign(document.createElement('button'), { + className: 'button', + innerText: config.buttonText || emoji, + onclick: toggle, + }) + Object.assign(buttonElement.style, { + color: config.buttonColor || 'black', + background: config.buttonBackground || '#ccae05', + }) + shadow.appendChild(buttonElement) + } + + if (config.startRaining === 'Yes') { + for (let i = 0; i < intensity * 2; i++) { + makeItRain(shadow, emoji, intensity) + } + toggle() + } +} + +// Drops an emoji from the sky +function makeItRain(shadow: ShadowRoot, emoji: string, intensity: number) { + const div = document.createElement('div') + Object.assign(div.style, { + position: 'fixed', + left: `${(window.innerWidth - 30) * Math.random()}px`, + top: '-10px', + fontSize: '24px', + zIndex: 99999999, + pointerEvents: 'none', + }) + div.innerHTML = emoji + shadow.appendChild(div) + const duration = 300 * (10 - intensity) + Math.random() * 3001 + div.animate([{ top: '-10px' }, { top: `${window.innerHeight + 20}px` }], { + duration, + iterations: 1, + }) + window.setTimeout(() => div.remove(), duration + 1) +} + +function createShadow(style?: string): ShadowRoot { + const div = document.createElement('div') + const shadow = div.attachShadow({ mode: 'open' }) + if (style) { + const styleElement = Object.assign(document.createElement('style'), { + innerText: style, + }) + shadow.appendChild(styleElement) + } + document.body.appendChild(div) + return shadow +} diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json new file mode 100644 index 0000000000000..836dcd48cee68 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "commonjs", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "esModuleInterop": true, + "jsx": "react", + "target": "ES2015", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./src", + "incremental": true, + "resolveJsonModule": true + }, + "exclude": ["node_modules", "dist"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js new file mode 100644 index 0000000000000..7014226ee89d6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'simple-import-sort'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml new file mode 100644 index 0000000000000..afb5e5915a71f --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml @@ -0,0 +1,50 @@ +name: CI + +on: + - pull_request + +jobs: + lint: + name: Code formatting & linting + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + + - name: Set up Node 16 + uses: actions/setup-node@v3 + with: + node-version: 16 + cache: 'yarn' + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Check formatting with Prettier + run: yarn format:check + + - name: Lint with ESLint + run: yarn lint:check + + - name: Check Typescript + run: | + yarn typecheck + + test: + name: Test + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + + - name: Set up Node 16 + uses: actions/setup-node@v3 + with: + node-version: 16 + cache: 'yarn' + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Run tests + run: | + yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore new file mode 100644 index 0000000000000..12ac647202705 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json new file mode 100644 index 0000000000000..f89ed5f1d985a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": true +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE new file mode 100644 index 0000000000000..0218251e4a443 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE @@ -0,0 +1,7 @@ +Copyright 2022 Paolo D'Amico + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md new file mode 100644 index 0000000000000..874da3d191f97 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md @@ -0,0 +1,34 @@ +This plugin is deprecated, use IP anonymisation in project settings with geoIP app to remove IP. Use filter out plugin to remove any geo info not wanted. + +Advanced GeoIP logo + +# PostHog Community App: Advanced GeoIP + +This app extends functionality for the [GeoIP app](https://github.com/PostHog/posthog-plugin-geoip). This functionality cannot be part of the main GeoIP app as that app is stateless: + +1. Enables discarding IP addresses after GeoIP lookup is processed. This is particularly helpful for privacy preservation and compliance. IP addresses are considered PII in several countries. +2. Enables discarding entire GeoIP information for events that come from certain libraries. For example, you probably don't want to assign locations to users that belong to your server. I've used it to ignore IP address and GeoIP information from my backend. + +## 🚀 Usage + +To use it simply install the app from the repository URL: https://github.com/paolodamico/posthog-app-advanced-geoip or search for it in the PostHog App Library. + +## 🧑‍💻 Development & testing + +Contributions are welcomed! Feel free to open a PR or an issue. To develop locally and contribute to this package, you can simply follow these instructions after cloning the repo. + +- Install dependencies + ```bash + yarn install + ``` +- Run tests + ```bash + yarn test + ``` +- Install app in your local instance by going to `/project/apps` in your PostHog instance, clicking on the "Advanced" tab and entering the full path where you cloned the repo. Please note that running apps locally on PostHog is currently buggy (see [posthog#7170](https://github.com/PostHog/posthog/issues/7170)). + +## 🧑‍⚖️ License + +This repository is MIT licensed. Please review the LICENSE file in this repository. + +Copyright (C) 2022 Paolo D'Amico. diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json new file mode 100644 index 0000000000000..07ecb722c0647 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json @@ -0,0 +1,9 @@ +{ + "version": "0.2", + "enabled": true, + "language": "en-US", + "allowCompoundWords": true, + "dictionaries": ["typescript", "node", "npm", "html"], + "enabledLanguageIds": ["typescript", "typescriptreact", "javascript", "markdown", "yaml", "json"], + "words": ["geoip", "paolodamico", "PostHog", "Unduplicates"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts new file mode 100644 index 0000000000000..993cabdcbb6d4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts @@ -0,0 +1,155 @@ +import { Plugin, PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' +// @ts-ignore +import { createPageview, resetMeta } from '@posthog/plugin-scaffold/test/utils' + +import * as advancedGeoIpApp from '.' +const { processEvent } = advancedGeoIpApp as Required + +const defaultMeta: advancedGeoIpApp.AppInterface = { + config: { + discardIp: 'true', + discardLibs: 'posthog-node', + }, +} + +const createGeoIPPageview = (): PluginEvent => { + const event = createPageview() + + const setGeoIPProps = { + $geoip_city_name: 'Ashburn', + $geoip_country_name: 'United States', + $geoip_country_code: 'US', + $geoip_continent_name: 'North America', + $geoip_continent_code: 'NA', + $geoip_postal_code: '20149', + $geoip_latitude: 39.0469, + $geoip_longitude: -77.4903, + $geoip_time_zone: 'America/New_York', + $geoip_subdivision_1_code: 'VA', + $geoip_subdivision_1_name: 'Virginia', + } + + const setOnceGeoIPProps = { + $initial_geoip_city_name: 'Ashburn', + $initial_geoip_country_name: 'United States', + $initial_geoip_country_code: 'US', + $initial_geoip_continent_name: 'North America', + $initial_geoip_continent_code: 'NA', + $initial_geoip_postal_code: '20149', + $initial_geoip_latitude: 39.0469, + $initial_geoip_longitude: -77.4903, + $initial_geoip_time_zone: 'America/New_York', + $initial_geoip_subdivision_1_code: 'VA', + $initial_geoip_subdivision_1_name: 'Virginia', + } + + const properties = { + // @ts-ignore + ...event.properties, + $ip: '13.106.122.3', + $plugins_succeeded: ['GeoIP (8199)', 'Unduplicates (8303)'], + $lib: 'posthog-node', + $set: setGeoIPProps, + $set_once: setOnceGeoIPProps, + } + return { + ...event, + ip: '13.106.122.3', + properties, + $set: setGeoIPProps, + $set_once: setOnceGeoIPProps, + } +} + +const helperVerifyGeoIPIsEmpty = (event: PluginEvent): void => { + // event properties + expect(event!.properties!.$geoip_city_name).toEqual(undefined) + expect(event!.properties!.$geoip_country_name).toEqual(undefined) + expect(event!.properties!.$geoip_country_code).toEqual(undefined) + + // $set + expect(event!.$set!.$geoip_city_name).toEqual(undefined) + expect(event!.$set!.$geoip_country_name).toEqual(undefined) + expect(event!.$set!.$geoip_country_code).toEqual(undefined) + expect(event!.$set!.$geoip_continent_name).toEqual(undefined) + expect(event!.$set!.$geoip_continent_code).toEqual(undefined) + expect(event!.$set!.$geoip_postal_code).toEqual(undefined) + expect(event!.$set!.$geoip_latitude).toEqual(undefined) + expect(event!.$set!.$geoip_longitude).toEqual(undefined) + expect(event!.$set!.$geoip_time_zone).toEqual(undefined) + expect(event!.$set!.$geoip_subdivision_1_code).toEqual(undefined) + expect(event!.$set!.$geoip_subdivision_1_name).toEqual(undefined) + + // $set_once + expect(event!.$set_once!.$initial_geoip_city_name).toEqual(undefined) + expect(event!.$set_once!.$initial_geoip_country_name).toEqual(undefined) + expect(event!.$set_once!.$initial_geoip_country_code).toEqual(undefined) + expect(event!.$set_once!.$initial_geoip_latitude).toEqual(undefined) + expect(event!.$set_once!.$initial_geoip_longitude).toEqual(undefined) + + // $set on event props + expect(event!.properties!.$set!.$geoip_city_name).toEqual(undefined) + expect(event!.properties!.$set!.$geoip_country_name).toEqual(undefined) + expect(event!.properties!.$set!.$geoip_country_code).toEqual(undefined) + + // $set_once on event props + expect(event!.properties!.$set_once!.$initial_geoip_city_name).toEqual(undefined) + expect(event!.properties!.$set_once!.$initial_geoip_country_name).toEqual(undefined) + expect(event!.properties!.$set_once!.$initial_geoip_country_code).toEqual(undefined) +} + +describe('discard IP', () => { + test('IP is discarded', async () => { + const meta = resetMeta(defaultMeta) as PluginMeta + const event = await processEvent(createGeoIPPageview(), meta) + expect(event?.ip).toEqual(null) + expect(event?.properties?.$ip).toEqual(undefined) + }) + test('IP is not discarded if not enabled', async () => { + const meta = resetMeta({ config: { ...defaultMeta.config, discardIp: 'false' } }) as PluginMeta + const event = await processEvent(createGeoIPPageview(), meta) + expect(event?.ip).toEqual('13.106.122.3') + expect(event?.properties?.$ip).toEqual('13.106.122.3') + }) + test('IP is not discarded if GeoIP not processed', async () => { + const meta = resetMeta() as PluginMeta + const preprocessedEvent = createGeoIPPageview() + preprocessedEvent.properties = { ...preprocessedEvent.properties, $plugins_succeeded: ['Unduplicates (8303)'] } + const event = await processEvent(preprocessedEvent, meta) + expect(event?.ip).toEqual('13.106.122.3') + expect(event?.properties?.$ip).toEqual('13.106.122.3') + }) +}) + +describe('$lib ignore', () => { + test('ignores GeoIP from $lib', async () => { + const meta = resetMeta(defaultMeta) as PluginMeta + const event = await processEvent(createGeoIPPageview(), meta) + helperVerifyGeoIPIsEmpty(event!) + expect(Object.keys(event!.$set!).length).toEqual(0) // Ensure this is not sending properties even as undefined (that overwrites the user properties) + expect(Object.keys(event!.$set_once!).length).toEqual(0) // Ensure this is not sending properties even as undefined (that overwrites the user properties) + }) + + test('ignores GeoIP from $lib CSV', async () => { + const meta = resetMeta({ + config: { ...defaultMeta.config, discardLibs: 'posthog-ios,posthog-android,posthog-node' }, + }) as PluginMeta + const event = await processEvent(createGeoIPPageview(), meta) + helperVerifyGeoIPIsEmpty(event!) + }) + + test('keeps GeoIP if $lib is not on ignore list', async () => { + const meta = resetMeta() as PluginMeta + const preprocessedEvent = createGeoIPPageview() + // @ts-ignore + preprocessedEvent.properties.$lib = 'posthog-swift' + const event = await processEvent(preprocessedEvent, meta) + expect(event!.$set!.$geoip_city_name).toEqual('Ashburn') + expect(event!.$set!.$geoip_country_name).toEqual('United States') + expect(event!.$set!.$geoip_country_code).toEqual('US') + + expect(event!.$set_once!.$initial_geoip_city_name).toEqual('Ashburn') + expect(event!.$set_once!.$initial_geoip_country_name).toEqual('United States') + expect(event!.$set_once!.$initial_geoip_country_code).toEqual('US') + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts new file mode 100644 index 0000000000000..c5bc45de85606 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts @@ -0,0 +1,103 @@ +import { Plugin } from '@posthog/plugin-scaffold' + +const geoIpProps = [ + '$geoip_city_name', + '$geoip_country_name', + '$geoip_country_code', + '$geoip_continent_name', + '$geoip_continent_code', + '$geoip_postal_code', + '$geoip_latitude', + '$geoip_longitude', + '$geoip_time_zone', + '$geoip_subdivision_1_code', + '$geoip_subdivision_1_name', + '$geoip_subdivision_2_code', + '$geoip_subdivision_2_name', + '$geoip_subdivision_3_code', + '$geoip_subdivision_3_name', +] + +const geoIpInitialProps = [ + '$initial_geoip_city_name', + '$initial_geoip_country_name', + '$initial_geoip_country_code', + '$initial_geoip_continent_name', + '$initial_geoip_continent_code', + '$initial_geoip_postal_code', + '$initial_geoip_latitude', + '$initial_geoip_longitude', + '$initial_geoip_time_zone', + '$initial_geoip_subdivision_1_code', + '$initial_geoip_subdivision_1_name', + '$initial_geoip_subdivision_2_code', + '$initial_geoip_subdivision_2_name', + '$initial_geoip_subdivision_3_code', + '$initial_geoip_subdivision_3_name', +] + +export interface AppInterface { + config: { + discardIp: 'true' | 'false' + discardLibs: string + } +} + +const GEO_IP_PLUGIN = /^GeoIP \(\d+\)$/ + +const plugin: Plugin = { + processEvent: async (event, { config }) => { + const parsedLibs = config.discardLibs?.split(',').map((val) => val.toLowerCase().trim()) + + if (parsedLibs && event.properties?.$lib && parsedLibs.includes(event.properties?.$lib)) { + // Event comes from a `$lib` that should be ignored + console.info( + `Discarding GeoIP properties from ${event.uuid || event.event} as event comes from ignored $lib: ${ + event.properties?.$lib + }.` + ) + for (const prop of geoIpProps) { + // We need to handle both `$set` and `properties.$set` as they are both used in different contexts + if (event.$set) { + delete event.$set[prop] + } + + if (event.properties.$set) { + delete event.properties.$set[prop] + } + delete event.properties[prop] + } + + for (const prop of geoIpInitialProps) { + if (event.$set_once) { + delete event.$set_once[prop] + } + + if (event.properties.$set_once) { + delete event.properties.$set_once[prop] + } + } + } + + if (config.discardIp === 'true') { + if ( + Array.isArray(event.properties?.$plugins_succeeded) && + event.properties?.$plugins_succeeded.find((val: string) => val.toString().match(GEO_IP_PLUGIN)) + ) { + event.properties.$ip = undefined + event.ip = null + console.info(`IP discarded for event ${event.uuid || event.event}.`) + } else { + console.warn( + `Could not discard IP for event ${event.uuid || event.event} as GeoIP has not been processed.` + ) + } + } + + console.info(`Finished processing ${event.uuid || event.event}.`) + + return event + }, +} + +module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js new file mode 100644 index 0000000000000..e8fe1cf80ad20 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js @@ -0,0 +1,13 @@ +const { pathsToModuleNameMapper } = require('ts-jest/utils') +const { compilerOptions } = require('./tsconfig') + +const moduleNameMapper = undefined +if (compilerOptions.paths) { + moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) +} + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + moduleNameMapper, +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/logo.png b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec398a74dfa158f8d41f15fc69f722f2950ac68 GIT binary patch literal 103564 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 M=$gWbw;f~u2WTD7o&W#< literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json new file mode 100644 index 0000000000000..572f4bb21d10d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json @@ -0,0 +1,45 @@ +{ + "name": "posthog-app-advanced-geoip", + "version": "0.0.1", + "description": "Advanced GeoIP filtering app for PostHog", + "main": "index.ts", + "repository": "github:paolodamico/posthog-plugin-advanced-ip", + "homepage": "https://github.com/paolodamico/posthog-app-advanced-geoip#readme", + "scripts": { + "test": "jest .", + "lint": "eslint --fix .", + "lint:check": "eslint .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "typecheck": "tsc" + }, + "author": "", + "license": "MIT", + "devDependencies": { + "@posthog/plugin-scaffold": "^1.4.0", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "~4.3.6", + "jest": "^26.6.3", + "lint-staged": "~10.5.3", + "prettier": "^2.2.1", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && yarn typecheck" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json new file mode 100644 index 0000000000000..c18536f149b01 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json @@ -0,0 +1,24 @@ +{ + "name": "Advanced GeoIP", + "url": "https://github.com/paolodamico/posthog-app-advanced-geoip", + "description": "Advanced GeoIP filtering app for PostHog", + "main": "index.ts", + "posthogVersion": ">=1.25.0", + "config": [ + { + "key": "discardIp", + "name": "Discard IP addresses after GeoIP?", + "type": "choice", + "choices": ["true", "false"], + "hint": "Whether IP addresses should be discarded after doing GeoIP lookup.", + "required": true + }, + { + "key": "discardLibs", + "name": "Discard GeoIP for libraries", + "type": "string", + "hint": "Comma-separated list of libraries ($lib) for which GeoIP should be ignored (e.g. `posthog-node,posthog-python`)", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json new file mode 100644 index 0000000000000..c7548c6c974c2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true, + "skipLibCheck": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock new file mode 100644 index 0000000000000..29e006d1a060c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock @@ -0,0 +1,4938 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@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.0.0", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" + integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.10" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.10" + "@babel/types" "^7.17.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" + integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== + dependencies: + "@babel/types" "^7.17.10" + "@jridgewell/gen-mapping" "^0.1.0" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" + integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@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.8.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helpers@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" + integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.9" + "@babel/types" "^7.17.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" + integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" + integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== + +"@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.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-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-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.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-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/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" + integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.10" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.10" + "@babel/types" "^7.17.10" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" + integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + 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== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" + integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.13" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" + integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@maxmind/geoip2-node@^3.4.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" + integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== + dependencies: + camelcase-keys "^7.0.0" + ip6addr "^0.2.5" + maxmind "^4.2.0" + +"@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": + 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" + +"@posthog/plugin-scaffold@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.4.0.tgz#72bf605f7d3747e6c3f1c0be71a2856a83a6389a" + integrity sha512-vDSc0ElMeeZkCGRjfIqkzTYZxeL7dOc0osw4wbQ0gLt0N2Csy4H/gHtoj0qum/b90ge3cGcHyHYIwld804mrfg== + dependencies: + "@maxmind/geoip2-node" "^3.4.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^26.0.19": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/json-schema@^7.0.7": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/node@*": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.32.tgz#51d59d7a90ef2d0ae961791e0900cad2393a0149" + integrity sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" + integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.12.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.12.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== + +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" + +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@^6.10.0, ajv@^6.12.4: + 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.1: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +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-regex@^5.0.0, 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@^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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.5: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.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== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + 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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + 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== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.20.2: + version "4.20.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" + +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" + +buffer-from@1.x, 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== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +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" + +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@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== + dependencies: + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" + +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.0.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-lite@^1.0.30001332: + version "1.0.30001340" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz#029a2f8bfc025d4820fafbfaa6259fd7778340c7" + integrity sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +chalk@^2.0.0: + 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.1.0: + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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-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@^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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +colorette@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +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== + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: + 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@^2.2.0, debug@^2.3.3, 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@^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.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@^0.1.3, 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.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +electron-to-chromium@^1.4.118: + version "1.4.137" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" + integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5, 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" + +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" + +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" + integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.1" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^8.1.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.3: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.22.1: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" + has "^1.0.3" + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.21.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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.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: + 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== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.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-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + 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: + 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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.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-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 "^3.1.2" + +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@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + 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" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +functions-have-names@^1.2.2: + 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== + +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: + 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.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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +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.6.0, globals@^13.9.0: + version "13.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" + integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.3: + 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" + +graceful-fs@^4.2.4: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +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 sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, 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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-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" + +https-proxy-agent@^5.0.0: + 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" + +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== + +husky@~4.3.6: + 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 "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +ip6addr@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" + integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-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.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + 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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + 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-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@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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: + 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-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +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 sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +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-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +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-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-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.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.0.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json5@2.x, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +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" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +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== + +lint-staged@~10.5.3: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + 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" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +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.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash@4.x, lodash@^4.7.0: + 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" + +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" + +make-dir@^3.0.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-error@1.x: + 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-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +maxmind@^4.2.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.6.tgz#5e4aa2491eef8bd401f34be307776fa1fb5bc3ca" + integrity sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg== + dependencies: + mmdb-lib "2.0.2" + tiny-lru "8.0.2" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, 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: + 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: + 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" + +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== + +minimatch@^3.0.4, 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" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mmdb-lib@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" + integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" + integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +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.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +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: + 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" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.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-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-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +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: + 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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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-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== + +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.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +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" + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +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== + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "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@^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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +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" + +rxjs@^7.5.1: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-regex@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" + integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.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== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "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== + 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: + 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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stack-utils@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^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.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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.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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +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== + +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tiny-lru@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-8.0.2.tgz#812fccbe6e622ded552e3ff8a4c3b5ff34a85e4c" + integrity sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg== + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +ts-jest@^26.4.4: + 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" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +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-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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-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-fest@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.1.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== + +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" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +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-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + 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" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.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-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + +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, which@^2.0.2: + 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" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +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== + +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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x: + 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-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.4.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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js new file mode 100644 index 0000000000000..b952bfdd18931 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js @@ -0,0 +1,13 @@ +module.exports = { + "env": { + "browser": true, + "es2021": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "rules": { + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml new file mode 100644 index 0000000000000..88ac30065f4e0 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml @@ -0,0 +1,23 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v2 + - name: Set up node + uses: actions/setup-node@v1 + with: + node-version: '14' + - name: Install dependencies + run: npm install + - name: Run tests + run: npm test \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore new file mode 100644 index 0000000000000..3306d94f597dd --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore @@ -0,0 +1,19 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +node_modules/ +.npm + +# Editors +.vscode +.idea + +# Yalc +.yalc +yalc* + +# macOS +.DS_Store diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE new file mode 100644 index 0000000000000..4a1ada09a2059 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023 Helicone Inc + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md new file mode 100644 index 0000000000000..39dae400c295a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md @@ -0,0 +1,40 @@ +# PostHog Plugin: Hello World Starter Kit + +[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) + +This is a basic exemplary PostHog plugin. It adds property `"greeting"` to every event, with a configurable value (default: `"Hello world!"`). + +Feel free to use it as a base for your own plugins! + +## How to develop + +All of the plugin's code is located in the `index.js` file, which is JavaScript ran inside of PostHog. +To get yourself up to speed with this environment, we sincerely recommend checking out our [Plugins overview in PostHog Docs]([the Plugins Overview](https://posthog.com/docs/plugins/build/overview). +For a crash course, read our [plugin building tutorial in PostHog Docs](https://posthog.com/docs/plugins/build/tutorial). + +## How to test + +To test the plugin, you'll need to install a few `npm` dependencies already specified in `package.json`: +```bash +npm install +``` + +This will get you the testing library Jest and some our test helpers. +Then to run tests it's just: + +```bash +npm test +``` + +## How to install + +1. Open PostHog. +1. Open the "Data pipelines" page from the sidebar. +1. Head to the "Apps management" tab. +1. "Install from GitHub, GitLab or npm" using this repository's URL. + +## Questions? + +### [Join our Slack community.](https://join.slack.com/t/posthogusers/shared_invite/enQtOTY0MzU5NjAwMDY3LTc2MWQ0OTZlNjhkODk3ZDI3NDVjMDE1YjgxY2I4ZjI4MzJhZmVmNjJkN2NmMGJmMzc2N2U3Yjc3ZjI5NGFlZDQ) + +We're here to help you with anything PostHog! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js new file mode 100644 index 0000000000000..007f6c04b0c49 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + preset: 'ts-jest', + moduleDirectories: ['node_modules', 'src'], + transform: { + '^.+\\.(ts|tsx)?$': 'ts-jest', + '^.+\\.(js|jsx)$': 'babel-jest', + }, + transformIgnorePatterns: [], +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..862a966738036f30864885769956065991db53ec GIT binary patch literal 6761 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 LNkvXXu0mjfv7n_6 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json new file mode 100644 index 0000000000000..d516ae485e71b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json @@ -0,0 +1,8008 @@ +{ + "name": "posthog-hello-world-plugin", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@posthog/plugin-scaffold": "0.10.0", + "eslint": "^8.9.0", + "jest": "^27.0.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", + "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", + "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", + "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "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": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", + "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.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, + "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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "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, + "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, + "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, + "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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "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.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", + "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "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 + }, + "node_modules/@eslint/eslintrc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", + "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/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==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.12.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", + "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "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, + "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/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", + "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.0.2", + "jest-util": "^27.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.4.tgz", + "integrity": "sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==", + "dev": true, + "dependencies": { + "@jest/console": "^27.0.2", + "@jest/reporters": "^27.0.4", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.0.2", + "jest-config": "^27.0.4", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-resolve-dependencies": "^27.0.4", + "jest-runner": "^27.0.4", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "jest-watcher": "^27.0.2", + "micromatch": "^4.0.4", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", + "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/types": "^27.0.2", + "expect": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.4.tgz", + "integrity": "sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/source-map": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", + "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", + "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", + "dev": true, + "dependencies": { + "@jest/console": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz", + "integrity": "sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.0.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-runtime": "^27.0.4" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", + "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.0.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-util": "^27.0.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@posthog/plugin-scaffold": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.10.0.tgz", + "integrity": "sha512-c8lNzQTBMJ0X3SCjcaD+mXZIx2thc+ptf8G4gbfT9YBFFD6TMaxs+/APMUab2aRJRbVwOsCGj9poxwuF4wxPpA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "15.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", + "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.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==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "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, + "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/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, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/babel-jest": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", + "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^27.0.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", + "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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, + "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": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", + "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.0.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001237", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", + "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", + "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", + "dev": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "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, + "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 + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.752", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", + "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "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==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", + "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.2.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "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.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "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-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/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==", + "dev": true + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.12.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", + "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "dev": true, + "dependencies": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "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==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "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, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", + "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.1", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/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/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==", + "dev": true + }, + "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 + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "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, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "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, + "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==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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, + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "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 + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "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==", + "dev": true + }, + "node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.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 + }, + "node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "dependencies": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", + "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.4.tgz", + "integrity": "sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.4.tgz", + "integrity": "sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==", + "dev": true, + "dependencies": { + "@jest/core": "^27.0.4", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "prompts": "^2.0.1", + "yargs": "^16.0.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.4.tgz", + "integrity": "sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^27.0.4", + "@jest/types": "^27.0.2", + "babel-jest": "^27.0.2", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "jest-circus": "^27.0.4", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-get-type": "^27.0.1", + "jest-jasmine2": "^27.0.4", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-runner": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", + "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", + "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.1", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", + "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", + "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.0.1", + "jest-serializer": "^27.0.1", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz", + "integrity": "sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", + "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", + "dev": true, + "dependencies": { + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", + "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", + "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.4.tgz", + "integrity": "sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "escalade": "^3.1.1", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "resolve": "^1.20.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz", + "integrity": "sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-snapshot": "^27.0.4" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.4.tgz", + "integrity": "sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==", + "dev": true, + "dependencies": { + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.0.1", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-haste-map": "^27.0.2", + "jest-leak-detector": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-runtime": "^27.0.4", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.4.tgz", + "integrity": "sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==", + "dev": true, + "dependencies": { + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/globals": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^16.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", + "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.4.tgz", + "integrity": "sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.0.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-util": "^27.0.2", + "natural-compare": "^1.4.0", + "pretty-format": "^27.0.2", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", + "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.1", + "leven": "^3.1.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", + "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.0.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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==", + "dev": true + }, + "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, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", + "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.5", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "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, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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 + }, + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "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==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "dependencies": { + "mime-db": "1.48.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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "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, + "engines": { + "node": ">=0.10.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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "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==", + "dev": true, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "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, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "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/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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 + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=0.10.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, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "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, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.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==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz", + "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", + "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "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 + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", + "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "dev": true + }, + "@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", + "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", + "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", + "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "dev": true + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", + "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@eslint/eslintrc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", + "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.1", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "globals": { + "version": "13.12.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", + "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "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 + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@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, + "requires": { + "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": { + "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 + }, + "@jest/console": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", + "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.0.2", + "jest-util": "^27.0.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.4.tgz", + "integrity": "sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/reporters": "^27.0.4", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.0.2", + "jest-config": "^27.0.4", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-resolve-dependencies": "^27.0.4", + "jest-runner": "^27.0.4", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "jest-watcher": "^27.0.2", + "micromatch": "^4.0.4", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/globals": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", + "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/types": "^27.0.2", + "expect": "^27.0.2" + } + }, + "@jest/reporters": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.4.tgz", + "integrity": "sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + } + }, + "@jest/source-map": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", + "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", + "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz", + "integrity": "sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==", + "dev": true, + "requires": { + "@jest/test-result": "^27.0.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-runtime": "^27.0.4" + } + }, + "@jest/transform": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", + "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.0.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-util": "^27.0.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@posthog/plugin-scaffold": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.10.0.tgz", + "integrity": "sha512-c8lNzQTBMJ0X3SCjcaD+mXZIx2thc+ptf8G4gbfT9YBFFD6TMaxs+/APMUab2aRJRbVwOsCGj9poxwuF4wxPpA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/node": { + "version": "15.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", + "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", + "dev": true + }, + "@types/prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "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, + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "babel-jest": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", + "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", + "dev": true, + "requires": { + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^27.0.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", + "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "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, + "requires": { + "@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": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", + "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^27.0.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001237", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", + "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==", + "dev": true + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", + "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "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 + }, + "diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "electron-to-chromium": { + "version": "1.3.752", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", + "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", + "dev": true + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true + }, + "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==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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 + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", + "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.2.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "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.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "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 + }, + "globals": { + "version": "13.12.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", + "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "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, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "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 + }, + "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, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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 + } + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "dev": true, + "requires": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expect": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", + "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.1", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1" + }, + "dependencies": { + "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 + } + } + }, + "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==", + "dev": true + }, + "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 + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "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, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "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==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "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 + }, + "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==", + "dev": true + }, + "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 + }, + "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==", + "dev": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "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-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, + "requires": { + "is-glob": "^4.0.3" + } + }, + "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 + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "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 + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "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==", + "dev": true + }, + "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 + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "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 + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "requires": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + } + }, + "jest-changed-files": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", + "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.4.tgz", + "integrity": "sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + } + }, + "jest-cli": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.4.tgz", + "integrity": "sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==", + "dev": true, + "requires": { + "@jest/core": "^27.0.4", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "prompts": "^2.0.1", + "yargs": "^16.0.3" + } + }, + "jest-config": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.4.tgz", + "integrity": "sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^27.0.4", + "@jest/types": "^27.0.2", + "babel-jest": "^27.0.2", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "jest-circus": "^27.0.4", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-get-type": "^27.0.1", + "jest-jasmine2": "^27.0.4", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-runner": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2" + } + }, + "jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-docblock": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", + "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", + "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.1", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2" + } + }, + "jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", + "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "jest-haste-map": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", + "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.0.1", + "jest-serializer": "^27.0.1", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz", + "integrity": "sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "throat": "^6.0.1" + } + }, + "jest-leak-detector": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", + "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", + "dev": true, + "requires": { + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-matcher-utils": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", + "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", + "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", + "dev": true + }, + "jest-resolve": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.4.tgz", + "integrity": "sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "escalade": "^3.1.1", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "resolve": "^1.20.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz", + "integrity": "sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-snapshot": "^27.0.4" + } + }, + "jest-runner": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.4.tgz", + "integrity": "sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.0.1", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-haste-map": "^27.0.2", + "jest-leak-detector": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-runtime": "^27.0.4", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + } + }, + "jest-runtime": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.4.tgz", + "integrity": "sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/globals": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^16.0.3" + } + }, + "jest-serializer": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", + "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.4.tgz", + "integrity": "sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==", + "dev": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.0.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-util": "^27.0.2", + "natural-compare": "^1.4.0", + "pretty-format": "^27.0.2", + "semver": "^7.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", + "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.1", + "leven": "^3.1.0", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", + "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", + "dev": true, + "requires": { + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.0.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", + "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.5", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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 + }, + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "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 + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "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==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "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==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "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==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "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 + } + } + }, + "prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "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 + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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 + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "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, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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==", + "dev": true + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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 + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "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 + }, + "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 + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz", + "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", + "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", + "dev": true, + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json new file mode 100644 index 0000000000000..fd86b45ac8c2e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json @@ -0,0 +1,53 @@ +{ + "name": "posthog-ai-costs-app", + "private": false, + "version": "0.0.1", + "description": "Calculate costs for AI generations events based on the number of tokens.", + "license": "Apache-2.0", + "dependencies": { + "js-big-decimal": "^2.2.0", + "tsup": "^8.3.5" + }, + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc", + "build": "tsup src/index.ts" + }, + "devDependencies": { + "@babel/preset-env": "^7.16.11", + "@posthog/plugin-scaffold": "^0.12.10", + "@types/jest": "^26.0.19", + "@types/node-fetch": "^2.5.10", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "babel-jest": "^27.5.1", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "~4.3.8", + "jest": "^26.6.3", + "jest-fetch-mock": "^3.0.3", + "lint-staged": "~10.5.3", + "node-fetch": "2.6.2", + "prettier": "^2.2.1", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit && pnpm build" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + } +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json new file mode 100644 index 0000000000000..67282c19d6775 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "AI Costs", + "url": "https://github.com/PostHog/posthog-hello-world-plugin", + "description": "Calculate costs for AI generations events based on the number of tokens.", + "main": "dist/index.js", + "config": [ + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml new file mode 100644 index 0000000000000..5822680a80c80 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml @@ -0,0 +1,8454 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + js-big-decimal: + specifier: ^2.2.0 + version: 2.2.0 + tsup: + specifier: ^8.3.5 + version: 8.3.5(typescript@4.9.5) + devDependencies: + '@babel/preset-env': + specifier: ^7.16.11 + version: 7.26.0(@babel/core@7.26.0) + '@posthog/plugin-scaffold': + specifier: ^0.12.10 + version: 0.12.10 + '@types/jest': + specifier: ^26.0.19 + version: 26.0.24 + '@types/node-fetch': + specifier: ^2.5.10 + version: 2.6.12 + '@typescript-eslint/eslint-plugin': + specifier: ^4.12.0 + version: 4.33.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^4.12.0 + version: 4.33.0(eslint@7.32.0)(typescript@4.9.5) + babel-jest: + specifier: ^27.5.1 + version: 27.5.1(@babel/core@7.26.0) + eslint: + specifier: ^7.21.0 + version: 7.32.0 + eslint-config-prettier: + specifier: ^8.1.0 + version: 8.10.0(eslint@7.32.0) + eslint-plugin-import: + specifier: ^2.22.1 + version: 2.31.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0) + eslint-plugin-node: + specifier: ^11.1.0 + version: 11.1.0(eslint@7.32.0) + eslint-plugin-promise: + specifier: ^4.3.1 + version: 4.3.1 + eslint-plugin-simple-import-sort: + specifier: ^7.0.0 + version: 7.0.0(eslint@7.32.0) + husky: + specifier: ~4.3.8 + version: 4.3.8 + jest: + specifier: ^26.6.3 + version: 26.6.3 + jest-fetch-mock: + specifier: ^3.0.3 + version: 3.0.3 + lint-staged: + specifier: ~10.5.3 + version: 10.5.4 + node-fetch: + specifier: 2.6.2 + version: 2.6.2 + prettier: + specifier: ^2.2.1 + version: 2.8.8 + ts-jest: + specifier: ^26.4.4 + version: 26.5.6(jest@26.6.3)(typescript@4.9.5) + typescript: + specifier: ^4.1.3 + version: 4.9.5 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.12.11': + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.26.3': + resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.3': + resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.25.9': + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.9': + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.25.9': + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.9': + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.9': + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.9': + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.25.9': + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.26.3': + resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.25.9': + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.9': + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.9': + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.25.9': + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.25.9': + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.9': + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.25.9': + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.25.9': + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.25.9': + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.25.9': + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@cnakazawa/watch@1.0.4': + resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} + engines: {node: '>=0.1.95'} + hasBin: true + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint/eslintrc@0.4.3': + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} + + '@humanwhocodes/config-array@0.5.0': + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/object-schema@1.2.1': + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + deprecated: Use @eslint/object-schema instead + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@26.6.2': + resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} + engines: {node: '>= 10.14.2'} + + '@jest/core@26.6.3': + resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} + engines: {node: '>= 10.14.2'} + + '@jest/environment@26.6.2': + resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} + engines: {node: '>= 10.14.2'} + + '@jest/fake-timers@26.6.2': + resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} + engines: {node: '>= 10.14.2'} + + '@jest/globals@26.6.2': + resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} + engines: {node: '>= 10.14.2'} + + '@jest/reporters@26.6.2': + resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} + engines: {node: '>= 10.14.2'} + + '@jest/source-map@26.6.2': + resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} + engines: {node: '>= 10.14.2'} + + '@jest/test-result@26.6.2': + resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} + engines: {node: '>= 10.14.2'} + + '@jest/test-sequencer@26.6.3': + resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} + engines: {node: '>= 10.14.2'} + + '@jest/transform@26.6.2': + resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} + engines: {node: '>= 10.14.2'} + + '@jest/transform@27.5.1': + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@26.6.2': + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + + '@jest/types@27.5.1': + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@posthog/plugin-scaffold@0.12.10': + resolution: {integrity: sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA==} + + '@rollup/rollup-android-arm-eabi@4.30.1': + resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.30.1': + resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.30.1': + resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.30.1': + resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.30.1': + resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.30.1': + resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.30.1': + resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.30.1': + resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.30.1': + resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.30.1': + resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.30.1': + resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.30.1': + resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.30.1': + resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.30.1': + resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.30.1': + resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.30.1': + resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} + cpu: [x64] + os: [win32] + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@sinonjs/commons@1.8.6': + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + + '@sinonjs/fake-timers@6.0.1': + resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@26.0.24': + resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/node-fetch@2.6.12': + resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@15.0.19': + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + + '@types/yargs@16.0.9': + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + + '@typescript-eslint/eslint-plugin@4.33.0': + resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + '@typescript-eslint/parser': ^4.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/experimental-utils@4.33.0': + resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: '*' + + '@typescript-eslint/parser@4.33.0': + resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@4.33.0': + resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + + '@typescript-eslint/types@4.33.0': + resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + + '@typescript-eslint/typescript-estree@4.33.0': + resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/visitor-keys@4.33.0': + resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@2.0.0: + resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + babel-jest@26.6.3: + resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-jest@27.5.1: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@26.6.2: + resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} + engines: {node: '>= 10.14.2'} + + babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + babel-plugin-polyfill-corejs2@0.4.12: + resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.3: + resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-preset-current-node-syntax@1.1.0: + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@26.6.2: + resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@27.5.1: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001692: + resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} + + capture-exit@2.0.0: + resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} + engines: {node: 6.* || 8.* || >= 10.*} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@0.6.0: + resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} + + class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + compare-versions@3.6.0: + resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + consola@3.3.3: + resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + + core-js-compat@3.40.0: + resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + + define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@26.6.2: + resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} + engines: {node: '>= 10.14.2'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.80: + resolution: {integrity: sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==} + + emittery@0.7.2: + resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} + engines: {node: '>=10'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-prettier@8.10.0: + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-es@3.0.1: + resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' + + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-node@11.1.0: + resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=5.16.0' + + eslint-plugin-promise@4.3.1: + resolution: {integrity: sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==} + engines: {node: '>=6'} + + eslint-plugin-simple-import-sort@7.0.0: + resolution: {integrity: sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw==} + peerDependencies: + eslint: '>=5.0.0' + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint@7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + espree@7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + exec-sh@0.3.6: + resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + + expect@26.6.2: + resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} + engines: {node: '>= 10.14.2'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.0.5: + resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} + + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fdir@6.4.2: + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-versions@4.0.0: + resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@3.0.2: + resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==} + engines: {node: '>= 6'} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + growly@1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + + has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + + has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + + has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + husky@4.3.8: + resolution: {integrity: sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==} + engines: {node: '>=10'} + hasBin: true + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.1.0: + resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-boolean-object@1.2.1: + resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + + is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.0: + resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-changed-files@26.6.2: + resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} + engines: {node: '>= 10.14.2'} + + jest-cli@26.6.3: + resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} + engines: {node: '>= 10.14.2'} + hasBin: true + + jest-config@26.6.3: + resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} + engines: {node: '>= 10.14.2'} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + + jest-diff@26.6.2: + resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} + engines: {node: '>= 10.14.2'} + + jest-docblock@26.0.0: + resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} + engines: {node: '>= 10.14.2'} + + jest-each@26.6.2: + resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} + engines: {node: '>= 10.14.2'} + + jest-environment-jsdom@26.6.2: + resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} + engines: {node: '>= 10.14.2'} + + jest-environment-node@26.6.2: + resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} + engines: {node: '>= 10.14.2'} + + jest-fetch-mock@3.0.3: + resolution: {integrity: sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==} + + jest-get-type@26.3.0: + resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} + engines: {node: '>= 10.14.2'} + + jest-haste-map@26.6.2: + resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} + engines: {node: '>= 10.14.2'} + + jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-jasmine2@26.6.3: + resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} + engines: {node: '>= 10.14.2'} + + jest-leak-detector@26.6.2: + resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} + engines: {node: '>= 10.14.2'} + + jest-matcher-utils@26.6.2: + resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} + engines: {node: '>= 10.14.2'} + + jest-message-util@26.6.2: + resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} + engines: {node: '>= 10.14.2'} + + jest-mock@26.6.2: + resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} + engines: {node: '>= 10.14.2'} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@26.0.0: + resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} + engines: {node: '>= 10.14.2'} + + jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve-dependencies@26.6.3: + resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} + engines: {node: '>= 10.14.2'} + + jest-resolve@26.6.2: + resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} + engines: {node: '>= 10.14.2'} + + jest-runner@26.6.3: + resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} + engines: {node: '>= 10.14.2'} + + jest-runtime@26.6.3: + resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} + engines: {node: '>= 10.14.2'} + hasBin: true + + jest-serializer@26.6.2: + resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} + engines: {node: '>= 10.14.2'} + + jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-snapshot@26.6.2: + resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} + engines: {node: '>= 10.14.2'} + + jest-util@26.6.2: + resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} + engines: {node: '>= 10.14.2'} + + jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-validate@26.6.2: + resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} + engines: {node: '>= 10.14.2'} + + jest-watcher@26.6.2: + resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} + engines: {node: '>= 10.14.2'} + + jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest@26.6.3: + resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} + engines: {node: '>= 10.14.2'} + hasBin: true + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + js-big-decimal@2.2.0: + resolution: {integrity: sha512-qJFDTcgBGvuPzsck0jNm1puKvJQ3AL8J3bIyrvF1KfsbljOVj8N/o9Kbr8RXlBx1J8aapcRpMCiG6h1l6QgYhQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@10.5.4: + resolution: {integrity: sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==} + hasBin: true + + listr2@3.14.0: + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + node-fetch@2.6.2: + resolution: {integrity: sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==} + engines: {node: 4.x || >=6.0.0} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-notifier@8.0.2: + resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nwsapi@2.2.16: + resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + opencollective-postinstall@2.0.3: + resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} + hasBin: true + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-each-series@2.2.0: + resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} + engines: {node: '>=8'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + + please-upgrade-node@3.2.0: + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} + + posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-polyfill@8.3.0: + resolution: {integrity: sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup@4.30.1: + resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rsvp@4.8.5: + resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} + engines: {node: 6.* || >= 7.*} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sane@4.1.0: + resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} + engines: {node: 6.* || 8.* || >= 10.*} + deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added + hasBin: true + + saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + semver-regex@3.1.4: + resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} + engines: {node: '>=8'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shellwords@0.1.1: + resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + + snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + + snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + + source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + + split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + + string-argv@0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + ts-jest@26.5.6: + resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} + engines: {node: '>= 10'} + hasBin: true + peerDependencies: + jest: '>=26 <27' + typescript: '>=3.8 <5.0' + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsup@8.3.5: + resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + + v8-to-istanbul@7.1.2: + resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} + engines: {node: '>=10.10.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + + w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + + webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + + whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + + whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + + whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.12.11': + dependencies: + '@babel/highlight': 7.25.9 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.3': {} + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.3': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.26.3 + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.26.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.4.0 + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.26.3 + + '@babel/helper-plugin-utils@7.25.9': {} + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.26.3': + dependencies: + '@babel/types': 7.26.3 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.40.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.26.3 + esutils: 2.0.3 + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + + '@babel/traverse@7.26.4': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@bcoe/v8-coverage@0.2.3': {} + + '@cnakazawa/watch@1.0.4': + dependencies: + exec-sh: 0.3.6 + minimist: 1.2.8 + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + + '@eslint/eslintrc@0.4.3': + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 7.3.1 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/config-array@0.5.0': + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/object-schema@1.2.1': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@26.6.2': + dependencies: + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + chalk: 4.1.2 + jest-message-util: 26.6.2 + jest-util: 26.6.2 + slash: 3.0.0 + + '@jest/core@26.6.3': + dependencies: + '@jest/console': 26.6.2 + '@jest/reporters': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 26.6.2 + jest-config: 26.6.3 + jest-haste-map: 26.6.2 + jest-message-util: 26.6.2 + jest-regex-util: 26.0.0 + jest-resolve: 26.6.2 + jest-resolve-dependencies: 26.6.3 + jest-runner: 26.6.3 + jest-runtime: 26.6.3 + jest-snapshot: 26.6.2 + jest-util: 26.6.2 + jest-validate: 26.6.2 + jest-watcher: 26.6.2 + micromatch: 4.0.8 + p-each-series: 2.2.0 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + '@jest/environment@26.6.2': + dependencies: + '@jest/fake-timers': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + jest-mock: 26.6.2 + + '@jest/fake-timers@26.6.2': + dependencies: + '@jest/types': 26.6.2 + '@sinonjs/fake-timers': 6.0.1 + '@types/node': 22.10.5 + jest-message-util: 26.6.2 + jest-mock: 26.6.2 + jest-util: 26.6.2 + + '@jest/globals@26.6.2': + dependencies: + '@jest/environment': 26.6.2 + '@jest/types': 26.6.2 + expect: 26.6.2 + + '@jest/reporters@26.6.2': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 4.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-haste-map: 26.6.2 + jest-resolve: 26.6.2 + jest-util: 26.6.2 + jest-worker: 26.6.2 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 7.1.2 + optionalDependencies: + node-notifier: 8.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/source-map@26.6.2': + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + + '@jest/test-result@26.6.2': + dependencies: + '@jest/console': 26.6.2 + '@jest/types': 26.6.2 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@26.6.3': + dependencies: + '@jest/test-result': 26.6.2 + graceful-fs: 4.2.11 + jest-haste-map: 26.6.2 + jest-runner: 26.6.3 + jest-runtime: 26.6.3 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + '@jest/transform@26.6.2': + dependencies: + '@babel/core': 7.26.0 + '@jest/types': 26.6.2 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 26.6.2 + jest-regex-util: 26.0.0 + jest-util: 26.6.2 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + + '@jest/transform@27.5.1': + dependencies: + '@babel/core': 7.26.0 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + + '@jest/types@26.6.2': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.10.5 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + + '@jest/types@27.5.1': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.10.5 + '@types/yargs': 16.0.9 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@posthog/plugin-scaffold@0.12.10': {} + + '@rollup/rollup-android-arm-eabi@4.30.1': + optional: true + + '@rollup/rollup-android-arm64@4.30.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.30.1': + optional: true + + '@rollup/rollup-darwin-x64@4.30.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.30.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.30.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.30.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.30.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.30.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.30.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.30.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.30.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.30.1': + optional: true + + '@rtsao/scc@1.1.0': {} + + '@sinonjs/commons@1.8.6': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@6.0.1': + dependencies: + '@sinonjs/commons': 1.8.6 + + '@tootallnate/once@1.1.2': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.26.3 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.26.3 + + '@types/estree@1.0.6': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 22.10.5 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@26.0.24': + dependencies: + jest-diff: 26.6.2 + pretty-format: 26.6.2 + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/node-fetch@2.6.12': + dependencies: + '@types/node': 22.10.5 + form-data: 4.0.1 + + '@types/node@22.10.5': + dependencies: + undici-types: 6.20.0 + + '@types/normalize-package-data@2.4.4': {} + + '@types/parse-json@4.0.2': {} + + '@types/prettier@2.7.3': {} + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@15.0.19': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@16.0.9': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@4.33.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5)': + dependencies: + '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 4.33.0 + debug: 4.4.0 + eslint: 7.32.0 + functional-red-black-tree: 1.0.1 + ignore: 5.3.2 + regexpp: 3.2.0 + semver: 7.6.3 + tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/experimental-utils@4.33.0(eslint@7.32.0)(typescript@4.9.5)': + dependencies: + '@types/json-schema': 7.0.15 + '@typescript-eslint/scope-manager': 4.33.0 + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) + eslint: 7.32.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@7.32.0) + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5)': + dependencies: + '@typescript-eslint/scope-manager': 4.33.0 + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) + debug: 4.4.0 + eslint: 7.32.0 + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@4.33.0': + dependencies: + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/visitor-keys': 4.33.0 + + '@typescript-eslint/types@4.33.0': {} + + '@typescript-eslint/typescript-estree@4.33.0(typescript@4.9.5)': + dependencies: + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/visitor-keys': 4.33.0 + debug: 4.4.0 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.3 + tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@4.33.0': + dependencies: + '@typescript-eslint/types': 4.33.0 + eslint-visitor-keys: 2.1.0 + + abab@2.0.6: {} + + acorn-globals@6.0.0: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + + acorn-jsx@5.3.2(acorn@7.4.1): + dependencies: + acorn: 7.4.1 + + acorn-walk@7.2.0: {} + + acorn@7.4.1: {} + + acorn@8.14.0: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.5 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-colors@4.1.3: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@2.0.0: + dependencies: + micromatch: 3.1.10 + normalize-path: 2.1.1 + transitivePeerDependencies: + - supports-color + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + arr-diff@4.0.0: {} + + arr-flatten@1.1.0: {} + + arr-union@3.1.0: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.3 + is-array-buffer: 3.0.5 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + is-string: 1.1.1 + + array-union@2.1.0: {} + + array-unique@0.3.2: {} + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + is-array-buffer: 3.0.5 + + assign-symbols@1.0.0: {} + + astral-regex@2.0.0: {} + + asynckit@0.4.0: {} + + atob@2.1.2: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + babel-jest@26.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 26.6.2(@babel/core@7.26.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-jest@27.5.1(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.26.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.25.9 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@26.6.2: + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-plugin-jest-hoist@27.5.1: + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.40.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) + + babel-preset-jest@26.6.2(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + babel-plugin-jest-hoist: 26.6.2 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + + babel-preset-jest@27.5.1(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + + balanced-match@1.0.2: {} + + base@0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@2.3.2: + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browser-process-hrtime@1.0.0: {} + + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001692 + electron-to-chromium: 1.5.80 + node-releases: 2.0.19 + update-browserslist-db: 1.1.2(browserslist@4.24.4) + + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + bundle-require@5.1.0(esbuild@0.24.2): + dependencies: + esbuild: 0.24.2 + load-tsconfig: 0.2.5 + + cac@6.7.14: {} + + cache-base@1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + + call-bind-apply-helpers@1.0.1: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.7 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.7 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001692: {} + + capture-exit@2.0.0: + dependencies: + rsvp: 4.8.5 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + chokidar@4.0.3: + dependencies: + readdirp: 4.0.2 + + ci-info@2.0.0: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@0.6.0: {} + + class-utils@0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + + clean-stack@2.2.0: {} + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-truncate@2.1.0: + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + collection-visit@1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@4.1.1: {} + + commander@6.2.1: {} + + compare-versions@3.6.0: {} + + component-emitter@1.3.1: {} + + concat-map@0.0.1: {} + + consola@3.3.3: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + copy-descriptor@0.1.1: {} + + core-js-compat@3.40.0: + dependencies: + browserslist: 4.24.4 + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssom@0.3.8: {} + + cssom@0.4.4: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + + data-urls@2.0.0: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decimal.js@10.4.3: {} + + decode-uri-component@0.2.2: {} + + dedent@0.7.0: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + define-property@0.2.5: + dependencies: + is-descriptor: 0.1.7 + + define-property@1.0.0: + dependencies: + is-descriptor: 1.0.3 + + define-property@2.0.2: + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + + delayed-stream@1.0.0: {} + + detect-newline@3.1.0: {} + + diff-sequences@26.6.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + domexception@2.0.1: + dependencies: + webidl-conversions: 5.0.0 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.80: {} + + emittery@0.7.2: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-abstract@1.23.9: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.0 + math-intrinsics: 1.1.0 + object-inspect: 1.13.3 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.18 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-prettier@8.10.0(eslint@7.32.0): + dependencies: + eslint: 7.32.0 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@7.32.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-es@3.0.1(eslint@7.32.0): + dependencies: + eslint: 7.32.0 + eslint-utils: 2.1.0 + regexpp: 3.2.0 + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@7.32.0) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-node@11.1.0(eslint@7.32.0): + dependencies: + eslint: 7.32.0 + eslint-plugin-es: 3.0.1(eslint@7.32.0) + eslint-utils: 2.1.0 + ignore: 5.3.2 + minimatch: 3.1.2 + resolve: 1.22.10 + semver: 6.3.1 + + eslint-plugin-promise@4.3.1: {} + + eslint-plugin-simple-import-sort@7.0.0(eslint@7.32.0): + dependencies: + eslint: 7.32.0 + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-utils@2.1.0: + dependencies: + eslint-visitor-keys: 1.3.0 + + eslint-utils@3.0.0(eslint@7.32.0): + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + + eslint-visitor-keys@1.3.0: {} + + eslint-visitor-keys@2.1.0: {} + + eslint@7.32.0: + dependencies: + '@babel/code-frame': 7.12.11 + '@eslint/eslintrc': 0.4.3 + '@humanwhocodes/config-array': 0.5.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0 + doctrine: 3.0.0 + enquirer: 2.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + 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.4 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.6.3 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.9.0 + text-table: 0.2.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + + espree@7.3.1: + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + exec-sh@0.3.6: {} + + execa@1.0.0: + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + execa@4.1.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expand-brackets@2.1.4: + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + expect@26.6.2: + dependencies: + '@jest/types': 26.6.2 + ansi-styles: 4.3.0 + jest-get-type: 26.3.0 + jest-matcher-utils: 26.6.2 + jest-message-util: 26.6.2 + jest-regex-util: 26.0.0 + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend-shallow@3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + + extglob@2.0.4: + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-uri@3.0.5: {} + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-versions@4.0.0: + dependencies: + semver-regex: 3.1.4 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.2: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + for-in@1.0.2: {} + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data@3.0.2: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + fragment-cache@0.2.1: + dependencies: + map-cache: 0.2.2 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functional-red-black-tree@1.0.1: {} + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.2.7: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 + + get-stream@4.1.0: + dependencies: + pump: 3.0.2 + + get-stream@5.2.0: + dependencies: + pump: 3.0.2 + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + + get-value@2.0.6: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + growly@1.3.0: + optional: true + + has-bigints@1.1.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + has-value@0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + + has-value@1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + + has-values@0.1.4: {} + + has-values@1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hosted-git-info@2.8.9: {} + + html-encoding-sniffer@2.0.1: + dependencies: + whatwg-encoding: 1.0.5 + + html-escaper@2.0.2: {} + + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + human-signals@1.1.1: {} + + husky@4.3.8: + dependencies: + chalk: 4.1.2 + ci-info: 2.0.0 + compare-versions: 3.6.0 + cosmiconfig: 7.1.0 + find-versions: 4.0.0 + opencollective-postinstall: 2.0.3 + pkg-dir: 5.0.0 + please-upgrade-node: 3.2.0 + slash: 3.0.0 + which-pm-runs: 1.1.0 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + ignore@4.0.6: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + is-accessor-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + + is-arrayish@0.2.1: {} + + is-async-function@2.1.0: + dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-boolean-object@1.2.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-buffer@1.1.6: {} + + is-callable@1.2.7: {} + + is-ci@2.0.0: + dependencies: + ci-info: 2.0.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-descriptor@0.1.7: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-descriptor@1.0.3: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-docker@2.2.1: + optional: true + + is-extendable@0.1.1: {} + + is-extendable@1.0.1: + dependencies: + is-plain-object: 2.0.4 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.3 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-number@3.0.0: + dependencies: + kind-of: 3.2.2 + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-potential-custom-element-name@1.0.1: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-regexp@1.0.0: {} + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.3 + + is-stream@1.1.0: {} + + is-stream@2.0.1: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.3 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + + is-typedarray@1.0.0: {} + + is-unicode-supported@0.1.0: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.1.0: + dependencies: + call-bound: 1.0.3 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + + is-windows@1.0.2: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + optional: true + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@4.0.3: + dependencies: + '@babel/core': 7.26.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.26.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-changed-files@26.6.2: + dependencies: + '@jest/types': 26.6.2 + execa: 4.1.0 + throat: 5.0.0 + + jest-cli@26.6.3: + dependencies: + '@jest/core': 26.6.3 + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.2.0 + is-ci: 2.0.0 + jest-config: 26.6.3 + jest-util: 26.6.2 + jest-validate: 26.6.2 + prompts: 2.4.2 + yargs: 15.4.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jest-config@26.6.3: + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 26.6.3 + '@jest/types': 26.6.2 + babel-jest: 26.6.3(@babel/core@7.26.0) + chalk: 4.1.2 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-environment-jsdom: 26.6.2 + jest-environment-node: 26.6.2 + jest-get-type: 26.3.0 + jest-jasmine2: 26.6.3 + jest-regex-util: 26.0.0 + jest-resolve: 26.6.2 + jest-util: 26.6.2 + jest-validate: 26.6.2 + micromatch: 4.0.8 + pretty-format: 26.6.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-diff@26.6.2: + dependencies: + chalk: 4.1.2 + diff-sequences: 26.6.2 + jest-get-type: 26.3.0 + pretty-format: 26.6.2 + + jest-docblock@26.0.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@26.6.2: + dependencies: + '@jest/types': 26.6.2 + chalk: 4.1.2 + jest-get-type: 26.3.0 + jest-util: 26.6.2 + pretty-format: 26.6.2 + + jest-environment-jsdom@26.6.2: + dependencies: + '@jest/environment': 26.6.2 + '@jest/fake-timers': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + jest-mock: 26.6.2 + jest-util: 26.6.2 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-environment-node@26.6.2: + dependencies: + '@jest/environment': 26.6.2 + '@jest/fake-timers': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + jest-mock: 26.6.2 + jest-util: 26.6.2 + + jest-fetch-mock@3.0.3: + dependencies: + cross-fetch: 3.2.0 + promise-polyfill: 8.3.0 + transitivePeerDependencies: + - encoding + + jest-get-type@26.3.0: {} + + jest-haste-map@26.6.2: + dependencies: + '@jest/types': 26.6.2 + '@types/graceful-fs': 4.1.9 + '@types/node': 22.10.5 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 26.0.0 + jest-serializer: 26.6.2 + jest-util: 26.6.2 + jest-worker: 26.6.2 + micromatch: 4.0.8 + sane: 4.1.0 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + + jest-haste-map@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.9 + '@types/node': 22.10.5 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-jasmine2@26.6.3: + dependencies: + '@babel/traverse': 7.26.4 + '@jest/environment': 26.6.2 + '@jest/source-map': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + chalk: 4.1.2 + co: 4.6.0 + expect: 26.6.2 + is-generator-fn: 2.1.0 + jest-each: 26.6.2 + jest-matcher-utils: 26.6.2 + jest-message-util: 26.6.2 + jest-runtime: 26.6.3 + jest-snapshot: 26.6.2 + jest-util: 26.6.2 + pretty-format: 26.6.2 + throat: 5.0.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jest-leak-detector@26.6.2: + dependencies: + jest-get-type: 26.3.0 + pretty-format: 26.6.2 + + jest-matcher-utils@26.6.2: + dependencies: + chalk: 4.1.2 + jest-diff: 26.6.2 + jest-get-type: 26.3.0 + pretty-format: 26.6.2 + + jest-message-util@26.6.2: + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 26.6.2 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 26.6.2 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@26.6.2: + dependencies: + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + + jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): + optionalDependencies: + jest-resolve: 26.6.2 + + jest-regex-util@26.0.0: {} + + jest-regex-util@27.5.1: {} + + jest-resolve-dependencies@26.6.3: + dependencies: + '@jest/types': 26.6.2 + jest-regex-util: 26.0.0 + jest-snapshot: 26.6.2 + transitivePeerDependencies: + - supports-color + + jest-resolve@26.6.2: + dependencies: + '@jest/types': 26.6.2 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-pnp-resolver: 1.2.3(jest-resolve@26.6.2) + jest-util: 26.6.2 + read-pkg-up: 7.0.1 + resolve: 1.22.10 + slash: 3.0.0 + + jest-runner@26.6.3: + dependencies: + '@jest/console': 26.6.2 + '@jest/environment': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + chalk: 4.1.2 + emittery: 0.7.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 26.6.3 + jest-docblock: 26.0.0 + jest-haste-map: 26.6.2 + jest-leak-detector: 26.6.2 + jest-message-util: 26.6.2 + jest-resolve: 26.6.2 + jest-runtime: 26.6.3 + jest-util: 26.6.2 + jest-worker: 26.6.2 + source-map-support: 0.5.21 + throat: 5.0.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jest-runtime@26.6.3: + dependencies: + '@jest/console': 26.6.2 + '@jest/environment': 26.6.2 + '@jest/fake-timers': 26.6.2 + '@jest/globals': 26.6.2 + '@jest/source-map': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + cjs-module-lexer: 0.6.0 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-config: 26.6.3 + jest-haste-map: 26.6.2 + jest-message-util: 26.6.2 + jest-mock: 26.6.2 + jest-regex-util: 26.0.0 + jest-resolve: 26.6.2 + jest-snapshot: 26.6.2 + jest-util: 26.6.2 + jest-validate: 26.6.2 + slash: 3.0.0 + strip-bom: 4.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jest-serializer@26.6.2: + dependencies: + '@types/node': 22.10.5 + graceful-fs: 4.2.11 + + jest-serializer@27.5.1: + dependencies: + '@types/node': 22.10.5 + graceful-fs: 4.2.11 + + jest-snapshot@26.6.2: + dependencies: + '@babel/types': 7.26.3 + '@jest/types': 26.6.2 + '@types/babel__traverse': 7.20.6 + '@types/prettier': 2.7.3 + chalk: 4.1.2 + expect: 26.6.2 + graceful-fs: 4.2.11 + jest-diff: 26.6.2 + jest-get-type: 26.3.0 + jest-haste-map: 26.6.2 + jest-matcher-utils: 26.6.2 + jest-message-util: 26.6.2 + jest-resolve: 26.6.2 + natural-compare: 1.4.0 + pretty-format: 26.6.2 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + jest-util@26.6.2: + dependencies: + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + chalk: 4.1.2 + graceful-fs: 4.2.11 + is-ci: 2.0.0 + micromatch: 4.0.8 + + jest-util@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/node': 22.10.5 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@26.6.2: + dependencies: + '@jest/types': 26.6.2 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 26.3.0 + leven: 3.1.0 + pretty-format: 26.6.2 + + jest-watcher@26.6.2: + dependencies: + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.10.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 26.6.2 + string-length: 4.0.2 + + jest-worker@26.6.2: + dependencies: + '@types/node': 22.10.5 + merge-stream: 2.0.0 + supports-color: 7.2.0 + + jest-worker@27.5.1: + dependencies: + '@types/node': 22.10.5 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@26.6.3: + dependencies: + '@jest/core': 26.6.3 + import-local: 3.2.0 + jest-cli: 26.6.3 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + joycon@3.1.1: {} + + js-big-decimal@2.2.0: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + jsdom@16.7.0: + dependencies: + abab: 2.0.6 + acorn: 8.14.0 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.4.3 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.2 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.16 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.10 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@4.0.0: + dependencies: + is-buffer: 1.1.6 + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + lint-staged@10.5.4: + dependencies: + chalk: 4.1.2 + cli-truncate: 2.1.0 + commander: 6.2.1 + cosmiconfig: 7.1.0 + debug: 4.4.0 + dedent: 0.7.0 + enquirer: 2.4.1 + execa: 4.1.0 + listr2: 3.14.0(enquirer@2.4.1) + log-symbols: 4.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + please-upgrade-node: 3.2.0 + string-argv: 0.3.1 + stringify-object: 3.3.0 + transitivePeerDependencies: + - supports-color + + listr2@3.14.0(enquirer@2.4.1): + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.4.1 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + optionalDependencies: + enquirer: 2.4.1 + + load-tsconfig@0.2.5: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.debounce@4.0.8: {} + + lodash.merge@4.6.2: {} + + lodash.sortby@4.7.0: {} + + lodash.truncate@4.4.2: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-update@4.0.0: + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@4.0.0: + dependencies: + semver: 7.6.3 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + map-cache@0.2.2: {} + + map-visit@1.0.0: + dependencies: + object-visit: 1.0.1 + + math-intrinsics@1.1.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@3.1.10: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mixin-deep@1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + + mkdirp@1.0.4: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanomatch@1.2.13: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + natural-compare@1.4.0: {} + + nice-try@1.0.5: {} + + node-fetch@2.6.2: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-int64@0.4.0: {} + + node-notifier@8.0.2: + dependencies: + growly: 1.3.0 + is-wsl: 2.2.0 + semver: 7.6.3 + shellwords: 0.1.1 + uuid: 8.3.2 + which: 2.0.2 + optional: true + + node-releases@2.0.19: {} + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-path@2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + + normalize-path@3.0.0: {} + + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nwsapi@2.2.16: {} + + object-assign@4.1.1: {} + + object-copy@0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + + object-inspect@1.13.3: {} + + object-keys@1.1.1: {} + + object-visit@1.0.1: + dependencies: + isobject: 3.0.1 + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.0.0 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + + object.pick@1.3.0: + dependencies: + isobject: 3.0.1 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + opencollective-postinstall@2.0.3: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.2.7 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-each-series@2.2.0: {} + + p-finally@1.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse5@6.0.1: {} + + pascalcase@0.1.1: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pkg-dir@5.0.0: + dependencies: + find-up: 5.0.0 + + please-upgrade-node@3.2.0: + dependencies: + semver-compare: 1.0.0 + + posix-character-classes@0.1.1: {} + + possible-typed-array-names@1.0.0: {} + + postcss-load-config@6.0.1: + dependencies: + lilconfig: 3.1.3 + + prelude-ls@1.2.1: {} + + prettier@2.8.8: {} + + pretty-format@26.6.2: + dependencies: + '@jest/types': 26.6.2 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 17.0.2 + + progress@2.0.3: {} + + promise-polyfill@8.3.0: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + punycode@2.3.1: {} + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + react-is@17.0.2: {} + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + readdirp@4.0.2: {} + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.26.0 + + regex-not@1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + regexpp@3.2.0: {} + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + remove-trailing-separator@1.1.0: {} + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-main-filename@2.0.0: {} + + requires-port@1.0.0: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-url@0.2.1: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + ret@0.1.15: {} + + reusify@1.0.4: {} + + rfdc@1.4.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup@4.30.1: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.30.1 + '@rollup/rollup-android-arm64': 4.30.1 + '@rollup/rollup-darwin-arm64': 4.30.1 + '@rollup/rollup-darwin-x64': 4.30.1 + '@rollup/rollup-freebsd-arm64': 4.30.1 + '@rollup/rollup-freebsd-x64': 4.30.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 + '@rollup/rollup-linux-arm-musleabihf': 4.30.1 + '@rollup/rollup-linux-arm64-gnu': 4.30.1 + '@rollup/rollup-linux-arm64-musl': 4.30.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 + '@rollup/rollup-linux-riscv64-gnu': 4.30.1 + '@rollup/rollup-linux-s390x-gnu': 4.30.1 + '@rollup/rollup-linux-x64-gnu': 4.30.1 + '@rollup/rollup-linux-x64-musl': 4.30.1 + '@rollup/rollup-win32-arm64-msvc': 4.30.1 + '@rollup/rollup-win32-ia32-msvc': 4.30.1 + '@rollup/rollup-win32-x64-msvc': 4.30.1 + fsevents: 2.3.3 + + rsvp@4.8.5: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.1: + dependencies: + tslib: 2.8.1 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safe-regex@1.1.0: + dependencies: + ret: 0.1.15 + + safer-buffer@2.1.2: {} + + sane@4.1.0: + dependencies: + '@cnakazawa/watch': 1.0.4 + anymatch: 2.0.0 + capture-exit: 2.0.0 + exec-sh: 0.3.6 + execa: 1.0.0 + fb-watchman: 2.0.2 + micromatch: 3.1.10 + minimist: 1.2.8 + walker: 1.0.8 + transitivePeerDependencies: + - supports-color + + saxes@5.0.1: + dependencies: + xmlchars: 2.2.0 + + semver-compare@1.0.0: {} + + semver-regex@3.1.4: {} + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.6.3: {} + + set-blocking@2.0.0: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.7 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + + set-value@2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@1.0.0: {} + + shebang-regex@3.0.0: {} + + shellwords@0.1.1: + optional: true + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slice-ansi@3.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + snapdragon-node@2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + + snapdragon-util@3.0.1: + dependencies: + kind-of: 3.2.2 + + snapdragon@0.8.2: + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + + source-map-resolve@0.5.3: + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-url@0.4.1: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.20 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 + + spdx-license-ids@3.0.20: {} + + split-string@3.1.0: + dependencies: + extend-shallow: 3.0.2 + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + static-extend@0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + + string-argv@0.3.1: {} + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.0.0 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + strip-bom@4.0.0: {} + + strip-eof@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-tree@3.2.4: {} + + table@6.9.0: + dependencies: + ajv: 8.17.1 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + terminal-link@2.1.1: + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + throat@5.0.0: {} + + through@2.3.8: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.10: + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + + tmpl@1.0.5: {} + + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + + to-regex-range@2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + to-regex@3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + + tough-cookie@4.1.4: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tr46@0.0.3: {} + + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tr46@2.1.0: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + + ts-interface-checker@0.1.13: {} + + ts-jest@26.5.6(jest@26.6.3)(typescript@4.9.5): + dependencies: + bs-logger: 0.2.6 + buffer-from: 1.1.2 + fast-json-stable-stringify: 2.1.0 + jest: 26.6.3 + jest-util: 26.6.2 + json5: 2.2.3 + lodash: 4.17.21 + make-error: 1.3.6 + mkdirp: 1.0.4 + semver: 7.6.3 + typescript: 4.9.5 + yargs-parser: 20.2.9 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@1.14.1: {} + + tslib@2.8.1: {} + + tsup@8.3.5(typescript@4.9.5): + dependencies: + bundle-require: 5.1.0(esbuild@0.24.2) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.3.3 + debug: 4.4.0 + esbuild: 0.24.2 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1 + resolve-from: 5.0.0 + rollup: 4.30.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 + tree-kill: 1.2.2 + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + tsutils@3.21.0(typescript@4.9.5): + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.0.0 + reflect.getprototypeof: 1.0.10 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@4.9.5: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.3 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + undici-types@6.20.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + union-value@1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + + universalify@0.2.0: {} + + unset-value@1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + + update-browserslist-db@1.1.2(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urix@0.1.0: {} + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + use@3.1.1: {} + + uuid@8.3.2: + optional: true + + v8-compile-cache@2.4.0: {} + + v8-to-istanbul@7.1.2: + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.4 + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + w3c-hr-time@1.0.2: + dependencies: + browser-process-hrtime: 1.0.0 + + w3c-xmlserializer@2.0.0: + dependencies: + xml-name-validator: 3.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + webidl-conversions@3.0.1: {} + + webidl-conversions@4.0.2: {} + + webidl-conversions@5.0.0: {} + + webidl-conversions@6.1.0: {} + + whatwg-encoding@1.0.5: + dependencies: + iconv-lite: 0.4.24 + + whatwg-mimetype@2.3.0: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + whatwg-url@8.7.0: + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.1 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.3 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.0 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.0 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.18 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-module@2.0.1: {} + + which-pm-runs@1.1.0: {} + + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.10: {} + + xml-name-validator@3.0.0: {} + + xmlchars@2.2.0: {} + + y18n@4.0.3: {} + + yallist@3.1.1: {} + + yaml@1.10.2: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@20.2.9: {} + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yocto-queue@0.1.0: {} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts new file mode 100644 index 0000000000000..958f2659b9868 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts @@ -0,0 +1,512 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelDetailsMap, ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "claude-instant-1", + }, + cost: { + prompt_token: 0.00000163, + completion_token: 0.0000551, + }, + }, + { + model: { + operator: "equals", + value: "claude-v1", + }, + cost: { + prompt_token: 0.000008, + completion_token: 0.000024, + }, + }, + + { + model: { + operator: "equals", + value: "claude-2", + }, + cost: { + prompt_token: 0.000008, + completion_token: 0.000024, + }, + }, + + { + model: { + operator: "equals", + value: "claude-instant-1.2", + }, + cost: { + prompt_token: 0.00000163, + completion_token: 0.00000551, + }, + }, + { + model: { + operator: "equals", + value: "claude-2.0", + }, + cost: { + prompt_token: 0.00001102, + completion_token: 0.00003268, + }, + }, + { + model: { + operator: "equals", + value: "claude-3-opus-20240229", + }, + cost: { + prompt_token: 0.000015, + completion_token: 0.000075, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "claude-3-sonnet-20240229", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "claude-3-5-sonnet-20240620", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "claude-3-5-sonnet-20241022", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "claude-3-haiku-20240307", + }, + cost: { + prompt_token: 0.00000025, + completion_token: 0.00000125, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "claude-3-5-haiku-20241022", + }, + cost: { + prompt_token: 0.000001, + completion_token: 0.000005, + }, + showInPlayground: true, + }, +]; + +export const modelDetails: ModelDetailsMap = { + "claude-3-opus": { + matches: ["claude-3-opus-20240229"], + searchTerms: ["claude 3 opus", "claude-3-opus", "opus"], + info: { + maxTokens: 200000, + releaseDate: "2024-03-04", + description: + "Claude 3 Opus is Anthropic's most advanced model, demonstrating exceptional performance across complex tasks with near-perfect recall in long-context scenarios and sophisticated capabilities in coding, analysis, and creative work.", + tradeOffs: [ + "Premium pricing reflects advanced capabilities", + "Higher latency due to model complexity", + "Resource-intensive for optimal performance", + ], + benchmarks: { + mmlu: 0.868, + hellaswag: 0.954, + bbh: 0.868, + math: 0.952, + }, + capabilities: [ + "Near-perfect recall with 200k context window", + "Advanced mathematical reasoning and problem-solving", + "Superior code generation and debugging", + "Complex document analysis and summarization", + "Sophisticated data extraction and interpretation", + "Multi-step reasoning tasks", + "Advanced pattern recognition", + ], + strengths: [ + "Exceptional context handling (>99% accuracy in NIAH tests)", + "Strong performance in mathematical tasks (95.2% accuracy)", + "Advanced code generation capabilities (68.4% success rate)", + "Precise document summarization", + "Focused and actionable responses", + "Self-awareness in identifying artificial content", + "Consistent performance across diverse tasks", + ], + weaknesses: [ + "Occasional struggles with PDF data extraction", + "Challenges with heat map interpretation", + "Potential for hallucination in visual analysis", + "May return errors for certain coding edge cases", + "Higher latency compared to lighter models", + ], + recommendations: [ + "Large-context processing applications", + "Complex mathematical and analytical tasks", + "Advanced software development projects", + "Detailed document analysis and summarization", + "Research and academic applications", + "Enterprise-grade AI solutions", + "Tasks requiring high accuracy and reliability", + ], + }, + }, + "claude-3-sonnet": { + matches: [ + "claude-3-sonnet-20240229", + "claude-3-5-sonnet-20240620", + "claude-3-5-sonnet-20241022", + ], + searchTerms: [ + "claude 3 sonnet", + "claude-3-sonnet", + "sonnet", + "claude 3.5 sonnet", + ], + info: { + maxTokens: 200000, + releaseDate: "2024-03-04", + description: + "Claude 3 Sonnet offers a strong balance of intelligence and speed, suitable for most use cases.", + tradeOffs: [ + "Lower cost than Opus", + "Slightly reduced capabilities compared to Opus", + ], + benchmarks: { + mmlu: 0.887, // 88.7% on MMLU + hellaswag: 0.89, // 89% on HellaSwag + bbh: 0.931, + }, + capabilities: [ + "General reasoning and analysis", + "Code generation and review", + "Content creation and editing", + "Task automation", + "Data analysis", + ], + strengths: [ + "Balanced performance profile", + "Reliable output quality", + "Good response speed", + "Strong general knowledge", + "Versatile across many tasks", + ], + weaknesses: [ + "May need guidance on complex tasks", + "Less specialized than Opus", + "Moderate processing speed", + ], + recommendations: [ + "General purpose development", + "Content creation and editing", + "Business analysis", + "Educational applications", + "Daily productivity tasks", + ], + }, + }, + "claude-3-haiku": { + matches: ["claude-3-haiku-20240307", "claude-3-5-haiku-20241022"], + searchTerms: [ + "claude 3 haiku", + "claude-3-haiku", + "haiku", + "claude 3.5 haiku", + ], + info: { + maxTokens: 200000, + releaseDate: "2024-03-04", + description: + "Claude 3 Haiku is optimized for rapid response times and high throughput, delivering impressive speed while maintaining reliable performance. It excels in scenarios requiring quick interactions and efficient processing of straightforward tasks.", + tradeOffs: [ + "Optimized for speed and efficiency", + "Excellent performance-to-cost ratio", + "Best suited for high-throughput applications", + "Balance of speed and reliability", + ], + benchmarks: { + mmlu: 0.752, + hellaswag: 0.859, + bbh: 0.737, + }, + capabilities: [ + "High-speed token generation (134 tokens/sec)", + "Low latency responses (0.43s to first token)", + "Efficient streaming support", + "Function/tool calling", + "JSON mode support", + "Parallel query processing", + "Context window handling up to 200k tokens", + ], + strengths: [ + "Superior output speed (134.2 tokens/second)", + "Minimal latency (0.43s TTFT)", + "Consistent performance across context lengths", + "Efficient resource utilization", + "Cost-effective processing", + "Reliable API features", + "Stable performance over time", + ], + weaknesses: [ + "Performance varies with input length", + "Latency increases with context size", + "Lower quality index compared to larger models", + "Variable speed with parallel processing", + "Response time sensitivity to input complexity", + ], + recommendations: [ + "Real-time applications", + "Customer service automation", + "Quick content checks", + "Simple queries and responses", + "High-volume, straightforward tasks", + ], + }, + }, + "claude-2": { + matches: ["claude-2", "claude-2.0"], + searchTerms: ["claude 2", "claude-2"], + info: { + maxTokens: 200000, + releaseDate: "2023-07-11", + description: + "Claude 2 is Anthropic's previous generation model, offering reliable performance for various tasks.", + tradeOffs: [ + "More affordable than Claude 3", + "Less capable than newer models", + ], + benchmarks: {}, + capabilities: [ + "General text generation", + "Basic analysis", + "Code assistance", + "Content creation", + "Task automation", + ], + strengths: [ + "Stable performance", + "Reliable outputs", + "Good general knowledge", + "Cost-effective", + "Proven track record", + ], + weaknesses: [ + "Older architecture", + "Limited advanced features", + "Less refined outputs", + ], + recommendations: [ + "Legacy applications", + "Basic automation", + "General text processing", + "Simple analysis tasks", + "Standard content creation", + ], + }, + }, + "claude-instant": { + matches: ["claude-instant-1", "claude-instant-1.2"], + searchTerms: ["claude instant", "claude-instant"], + info: { + maxTokens: 100000, + releaseDate: "2023-08-09", + description: + "Claude Instant is Anthropic's faster, lighter previous generation model.", + tradeOffs: [ + "Fastest response times in Claude 2 series", + "Most affordable", + "Reduced capabilities", + ], + benchmarks: { + mmlu: 0.734, + }, + capabilities: [ + "Quick responses", + "Basic text processing", + "Simple queries", + "Lightweight tasks", + "Efficient processing", + ], + strengths: [ + "Fast processing speed", + "Resource efficient", + "Cost-effective", + "Consistent performance", + "Low latency", + ], + weaknesses: [ + "Basic capabilities only", + "Limited analysis depth", + "Simpler responses", + ], + recommendations: [ + "Quick response systems", + "Basic chatbots", + "Simple automation", + "High-volume processing", + "Efficient text handling", + ], + }, + }, + "claude-3.5-sonnet": { + matches: ["claude-3-5-sonnet-20240620", "claude-3-5-sonnet-20241022"], + searchTerms: ["claude 3.5 sonnet", "claude-3-5-sonnet"], + info: { + maxTokens: 200000, + releaseDate: "2024-06-20", + description: + "Claude 3.5 Sonnet is Anthropic's latest model, delivering enhanced performance with optimized speed and efficiency. It excels in graduate-level reasoning, undergraduate knowledge, and code generation while maintaining high throughput.", + tradeOffs: [ + "Balanced performance-to-cost ratio", + "Optimized for production workloads", + "High throughput with moderate latency", + "Strong accuracy with reasonable resource usage", + ], + benchmarks: { + mmlu: 0.887, + hellaswag: 0.89, + bbh: 0.931, + multilingual_math: 0.916, // 91.6% on multilingual math tasks + reasoning_over_text: 0.871, // 87.1% on reasoning over text + }, + capabilities: [ + "Advanced graduate-level reasoning", + "Strong undergraduate knowledge base", + "Superior code generation and review", + "Complex data extraction and analysis", + "Multi-step problem solving", + "High-accuracy classification tasks", + "Efficient document processing", + ], + strengths: [ + "Exceptional coding performance", + "High precision in classification (85%)", + "Strong data extraction capabilities", + "Efficient throughput (~79 tokens/second)", + "Reliable performance on complex tasks", + "Excellent multilingual math processing", + "Superior text reasoning abilities", + ], + weaknesses: [ + "Lower performance on abstract reasoning puzzles", + "Struggles with numerical and date-related questions", + "May introduce regressions in certain classification scenarios", + "Requires clear prompting for optimal performance", + "Variable performance on complex extraction tasks", + ], + recommendations: [ + "Production-grade applications requiring reliability", + "Code generation and review systems", + "Complex data extraction pipelines", + "High-accuracy classification systems", + "Document analysis and processing", + "Educational and academic applications", + "Enterprise-scale deployments", + ], + }, + }, + "claude-3.5-haiku": { + matches: ["claude-3-5-haiku-20241022"], + searchTerms: ["claude 3.5 haiku", "claude-3-5-haiku"], + info: { + maxTokens: 200000, + releaseDate: "2024-10-22", + description: + "Claude 3.5 Haiku represents a significant advancement in high-throughput, cost-effective AI processing. It delivers enhanced performance over its predecessor while maintaining exceptional speed and efficiency, making it ideal for large-scale applications requiring quick responses.", + tradeOffs: [ + "Optimized for maximum throughput", + "Enhanced speed-to-performance ratio", + "Improved cost efficiency", + "Better balance of speed and accuracy", + ], + benchmarks: { + quality_index: 62, // Improved Quality Index over Claude 3 Haiku + throughput: 145, // tokens per second + ttft: 0.39, // Time to First Token in seconds + }, + capabilities: [ + "Enhanced token generation speed (145 tokens/sec)", + "Reduced latency (0.39s to first token)", + "Improved parallel processing", + "Advanced streaming capabilities", + "Robust function calling", + "Enhanced JSON mode reliability", + "Efficient context handling up to 200k tokens", + "Improved error handling", + ], + strengths: [ + "Superior throughput (145 tokens/second)", + "Minimal startup latency (0.39s TTFT)", + "Enhanced stability under load", + "Improved response consistency", + "Better error recovery", + "More reliable streaming", + "Enhanced parallel processing capabilities", + "Optimized resource utilization", + ], + weaknesses: [ + "Performance degradation with very long contexts", + "Variability in complex reasoning tasks", + "May struggle with nuanced analysis", + "Limited creative capabilities", + "Reduced performance in edge cases", + ], + recommendations: [ + "High-volume API services", + "Real-time chat systems", + "Large-scale data processing", + "Streaming applications", + "Cost-sensitive deployments", + "Quick-response systems", + "Parallel processing workflows", + "Resource-constrained environments", + ], + }, + }, +}; + +const reverseModelMap: { [key: string]: string } = {}; + +for (const parentModel in modelDetails) { + const details = modelDetails[parentModel]; + details.matches.forEach((modelName) => { + reverseModelMap[modelName] = parentModel; + }); +} + +export const anthropicProvider = { + costs, + modelDetails, + reverseModelMap, +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts new file mode 100644 index 0000000000000..570a7385d8117 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts @@ -0,0 +1,18 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "meta.llama3-8b-instruct-v1%3A0", + }, + cost: { + prompt_token: 0.00022, + completion_token: 0.00072, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts new file mode 100644 index 0000000000000..fedde26a87662 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts @@ -0,0 +1,98 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "gpt-4-turbo-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: "equals", + value: "gpt-45-turbo", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: "equals", + value: "gpt4-turbo-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: "equals", + value: "gpt-4-preview-1106", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: "equals", + value: "gpt-35-turbo-1106", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: "equals", + value: "gpt35", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: "equals", + value: "gpt-35-turbo-0613", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: "equals", + value: "gpt-35-16k", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + }, + { + model: { + operator: "equals", + value: "gpt-4-vision", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts new file mode 100644 index 0000000000000..aaed678e857e6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts @@ -0,0 +1,19 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "cohere/command-r", + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000015, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts new file mode 100644 index 0000000000000..0962a3f8ded87 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts @@ -0,0 +1,208 @@ +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "accounts/fireworks/models/mixtral-8x7b-instruct", + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000005, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/mixtral-8x22b-instruct", + }, + cost: { + prompt_token: 0.0000012, + completion_token: 0.0000012, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/yi-large", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000003, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/sd3", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/sd3-medium", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/stable-diffusion-xl-1024-v1-0", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/playground-v2-1024px-aesthetic", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/playground-v2-5-1024px-aesthetic", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/SSD-1B", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/japanese-stable-diffusion-xl", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/sd3-turbo", + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/sd3-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/sd3-medium-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: + "accounts/fireworks/models/stable-diffusion-xl-1024-v1-0-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: + "accounts/fireworks/models/playground-v2-1024px-aesthetic-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: + "accounts/fireworks/models/playground-v2-5-1024px-aesthetic-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/SSD-1B-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: + "accounts/fireworks/models/japanese-stable-diffusion-xl-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/sd3-turbo-ControlNet", + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: "equals", + value: "accounts/fireworks/models/llama-v3p1-405b-instruct", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000003, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts new file mode 100644 index 0000000000000..d26aaa9c3bd72 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts @@ -0,0 +1,80 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "includes", + value: "gemini-pro", + }, + cost: { + prompt_token: 0.000000125, + completion_token: 0.000000375, + }, + }, + { + model: { + operator: "equals", + value: "gemini-1.0-pro-vision-001", + }, + cost: { + prompt_token: 0.000000125, + completion_token: 0.000000375, + }, + }, + { + model: { + operator: "equals", + value: "gemini-1.0-pro", + }, + cost: { + prompt_token: 0.000000125, + completion_token: 0.000000375, + }, + }, + { + model: { + operator: "includes", + value: "gemini-1.5-flash", + }, + cost: { + prompt_token: 0.00000035, + completion_token: 0.00000105, + }, + }, + { + model: { + operator: "equals", + value: "gemini-flash-1.5-8b", + }, + cost: { + prompt_token: 3.75e-8, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: "includes", + value: "gemini-1.5-pro", + }, + cost: { + prompt_token: 0.0000035, + completion_token: 0.0000105, + }, + }, + { + model: { + operator: "equals", + value: "claude-3-5-sonnet-v2@20241022", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: false, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts new file mode 100644 index 0000000000000..9348571d1129e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts @@ -0,0 +1,89 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "llama2-70b-4096", + }, + cost: { + prompt_token: 0.0000007, + completion_token: 0.0000008, + }, + }, + { + model: { + operator: "equals", + value: "mixtral-8x7b-32768", + }, + cost: { + prompt_token: 0.00000024, + completion_token: 0.00000024, + }, + }, + { + model: { + operator: "equals", + value: "gemma-7b-it", + }, + cost: { + prompt_token: 0.00000007, + completion_token: 0.00000007, + }, + }, + { + model: { + operator: "equals", + value: "gemma2-9b-it", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: "equals", + value: "llama3-70b-8192", + }, + cost: { + prompt_token: 0.00000059, + completion_token: 0.00000079, + }, + }, + { + model: { + operator: "equals", + value: "llama3-8b-8192", + }, + cost: { + prompt_token: 0.00000005, + completion_token: 0.00000008, + }, + }, + { + model: { + operator: "equals", + value: "llama3-groq-70b-8192-tool-use-preview", + }, + cost: { + prompt_token: 0.00000089, + completion_token: 0.00000089, + }, + }, + { + model: { + operator: "equals", + value: "llama3-groq-8b-8192-tool-use-preview", + }, + cost: { + prompt_token: 0.00000019, + completion_token: 0.00000019, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts new file mode 100644 index 0000000000000..30668e2213d1b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts @@ -0,0 +1,237 @@ +import { costs as fineTunedOpenAICosts } from "./openai/fine-tuned-models"; +import { costs as togetherAIChatCosts } from "./togetherai/chat"; +import { costs as togetherAIChatLlamaCosts } from "./togetherai/chat/llama"; +import { costs as togetherAICompletionCosts } from "./togetherai/completion"; +import { costs as togetherAICompletionLlamaCosts } from "./togetherai/completion"; +import { costs as azureCosts } from "./azure"; +import { costs as googleCosts } from "./google"; +import { costs as cohereCosts } from "./cohere"; +import { costs as mistralCosts } from "./mistral"; +import { costs as openRouterCosts } from "./openrouter"; +import { costs as fireworksAICosts } from "./fireworks"; +import { costs as groqCosts } from "./groq"; +import { ModelDetailsMap, ModelRow } from "../interfaces/Cost"; +import { costs as qstashCosts } from "./qstash"; +import { openAIProvider } from "./openai"; +import { anthropicProvider } from "./anthropic"; +import { costs as awsBedrockCosts } from "./awsBedrock"; + +const openAiPattern = /^https:\/\/api\.openai\.com/; +const anthropicPattern = /^https:\/\/api\.anthropic\.com/; +const azurePattern = + /^(https?:\/\/)?([^.]*\.)?(openai\.azure\.com|azure-api\.net)(\/.*)?$/; +const localProxyPattern = /^http:\/\/127\.0\.0\.1:\d+\/v\d+\/?$/; +const heliconeProxyPattern = /^https:\/\/oai\.hconeai\.com/; +const amdbartekPattern = /^https:\/\/.*\.amdbartek\.dev/; +const anyscalePattern = /^https:\/\/api\.endpoints\.anyscale\.com/; +const cloudflareAiGatewayPattern = /^https:\/\/gateway\.ai\.cloudflare\.com/; +const twoYFV = /^https:\/\/api\.2yfv\.com/; +const togetherPattern = /^https:\/\/api\.together\.xyz/; +const lemonFox = /^https:\/\/api\.lemonfox\.ai/; +const fireworks = /^https:\/\/api\.fireworks\.ai/; +const perplexity = /^https:\/\/api\.perplexity\.ai/; +const googleapis = /^https:\/\/(.*\.)?googleapis\.com/; +// openrouter.ai or api.openrouter.ai +const openRouter = /^https:\/\/(api\.)?openrouter\.ai/; +//api.wisdominanutshell.academy +const wisdomInANutshell = /^https:\/\/api\.wisdominanutshell\.academy/; +// api.groq.com +const groq = /^https:\/\/api\.groq\.com/; +// cohere.ai +const cohere = /^https:\/\/api\.cohere\.ai/; +// api.mistral.ai +const mistral = /^https:\/\/api\.mistral\.ai/; +// https://api.deepinfra.com +const deepinfra = /^https:\/\/api\.deepinfra\.com/; +//https://qstash.upstash.io/llm +const qstash = /^https:\/\/qstash\.upstash\.io/; +//https://www.firecrawl.dev/ +const firecrawl = /^https:\/\/api\.firecrawl\.dev/; +// https://bedrock-runtime.{some-region}.amazonaws.com/{something-after} +const awsBedrock = /^https:\/\/bedrock-runtime\.[a-z0-9-]+\.amazonaws\.com\/.*/; + +export const providersNames = [ + "OPENAI", + "ANTHROPIC", + "AZURE", + "LOCAL", + "HELICONE", + "AMDBARTEK", + "ANYSCALE", + "CLOUDFLARE", + "2YFV", + "TOGETHER", + "LEMONFOX", + "FIREWORKS", + "PERPLEXITY", + "GOOGLE", + "OPENROUTER", + "WISDOMINANUTSHELL", + "GROQ", + "COHERE", + "MISTRAL", + "DEEPINFRA", + "QSTASH", + "FIRECRAWL", + "AWS", +] as const; + +export type ProviderName = (typeof providersNames)[number]; + +export type ModelNames = (typeof modelNames)[number]; + +export const providers: { + pattern: RegExp; + provider: ProviderName; + costs?: ModelRow[]; + modelDetails?: ModelDetailsMap; +}[] = [ + { + pattern: openAiPattern, + provider: "OPENAI", + costs: [...openAIProvider.costs, ...fineTunedOpenAICosts], + modelDetails: openAIProvider.modelDetails, + }, + { + pattern: anthropicPattern, + provider: "ANTHROPIC", + costs: anthropicProvider.costs, + modelDetails: anthropicProvider.modelDetails, + }, + { + pattern: azurePattern, + provider: "AZURE", + costs: [...azureCosts, ...openAIProvider.costs], + }, + { + pattern: localProxyPattern, + provider: "LOCAL", + }, + { + pattern: heliconeProxyPattern, + provider: "HELICONE", + }, + { + pattern: amdbartekPattern, + provider: "AMDBARTEK", + }, + { + pattern: anyscalePattern, + provider: "ANYSCALE", + }, + { + pattern: cloudflareAiGatewayPattern, + provider: "CLOUDFLARE", + }, + { + pattern: twoYFV, + provider: "2YFV", + }, + { + pattern: togetherPattern, + provider: "TOGETHER", + costs: [ + ...togetherAIChatCosts, + ...togetherAIChatLlamaCosts, + ...togetherAICompletionCosts, + ...togetherAICompletionLlamaCosts, + ], + }, + { + pattern: lemonFox, + provider: "LEMONFOX", + }, + { + pattern: fireworks, + provider: "FIREWORKS", + costs: fireworksAICosts, + }, + { + pattern: perplexity, + provider: "PERPLEXITY", + }, + { + pattern: googleapis, + provider: "GOOGLE", + costs: googleCosts, + }, + { + pattern: openRouter, + provider: "OPENROUTER", + costs: openRouterCosts, + }, + { + pattern: wisdomInANutshell, + provider: "WISDOMINANUTSHELL", + }, + { + pattern: groq, + provider: "GROQ", + costs: groqCosts, + }, + { + pattern: cohere, + provider: "COHERE", + costs: cohereCosts, + }, + { + pattern: mistral, + provider: "MISTRAL", + costs: mistralCosts, + }, + { + pattern: deepinfra, + provider: "DEEPINFRA", + }, + { + pattern: qstash, + provider: "QSTASH", + costs: qstashCosts, + }, + { + pattern: firecrawl, + provider: "FIRECRAWL", + }, + { + pattern: awsBedrock, + provider: "AWS", + costs: awsBedrockCosts, + }, +]; + +export const playgroundModels: { + name: string; + provider: ProviderName; +}[] = + (providers + .map((provider) => { + return provider.costs + ?.filter((cost) => cost.showInPlayground) + .map((cost) => ({ + name: cost.model.value, + provider: provider.provider, + })); + }) + .flat() + .filter((model) => model !== undefined) as { + name: string; + provider: ProviderName; + }[]) ?? []; + +// eslint-disable-next-line @typescript-eslint/no-non-null-assertion +export const defaultProvider = providers.find( + (provider) => provider.provider === "OPENAI" +)!; + +export const allCosts = providers.flatMap((provider) => provider.costs ?? []); + +export const approvedDomains = providers.map((provider) => provider.pattern); + +export const modelNames = allCosts.map((cost) => cost.model.value); + +export const parentModelNames = providers.reduce((acc, provider) => { + if (provider.modelDetails) { + acc[provider.provider] = Object.keys(provider.modelDetails); + } + return acc; +}, {} as Record); diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts new file mode 100644 index 0000000000000..0b053ca97b122 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts @@ -0,0 +1,69 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "open-mistral-7b", + }, + cost: { + prompt_token: 0.00000025, + completion_token: 0.00000025, + }, + }, + { + model: { + operator: "equals", + value: "open-mixtral-8x7b", + }, + cost: { + prompt_token: 0.0000007, + completion_token: 0.0000007, + }, + }, + { + model: { + operator: "equals", + value: "mistral-small-latest", + }, + cost: { + prompt_token: 0.000002, + completion_token: 0.000006, + }, + }, + { + model: { + operator: "equals", + value: "mistral-medium-latest", + }, + cost: { + prompt_token: 0.0000027, + completion_token: 0.0000081, + }, + }, + { + model: { + operator: "equals", + value: "mistral-large-latest", + }, + cost: { + prompt_token: 0.000008, + completion_token: 0.000024, + }, + }, + { + model: { + operator: "equals", + value: "mistral-embed", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts new file mode 100644 index 0000000000000..c63f8d3a4e978 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts @@ -0,0 +1,39 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "startsWith", + value: "ft:gpt-3.5-turbo-", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000006, + }, + }, + { + model: { + operator: "startsWith", + value: "ft:gpt-4o-mini-2024-07-18:", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000012, + }, + }, + { + model: { + operator: "startsWith", + value: "ft:gpt-4o-2024-08-06:", + }, + cost: { + prompt_token: 0.00000375, + completion_token: 0.000015, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts new file mode 100644 index 0000000000000..ca1f0ac031d60 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts @@ -0,0 +1,856 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelDetailsMap, ModelRow } from "../../interfaces/Cost"; + +const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "ada", + }, + cost: { + prompt_token: 0.0000004, + completion_token: 0.0000004, + }, + }, + { + model: { + operator: "equals", + value: "text-ada-001", + }, + cost: { + prompt_token: 0.0000004, + completion_token: 0.0000004, + }, + }, + { + model: { + operator: "equals", + value: "babbage", + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000005, + }, + }, + { + model: { + operator: "equals", + value: "curie", + }, + cost: { + prompt_token: 0.000002, + completion_token: 0.000002, + }, + }, + { + model: { + operator: "equals", + value: "text-curie-001", + }, + cost: { + prompt_token: 0.000002, + completion_token: 0.000002, + }, + }, + { + model: { + operator: "equals", + value: "davinci", + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: "equals", + value: "text-davinci-001", + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: "equals", + value: "text-davinci-002", + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: "equals", + value: "text-davinci-003", + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-0301", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-35-turbo", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-1106", + }, + cost: { + prompt_token: 0.000001, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-instruct", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-instruct-0914", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4", + }, + cost: { + prompt_token: 0.00003, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-0314", + }, + cost: { + prompt_token: 0.00003, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-0613", + }, + cost: { + prompt_token: 0.00003, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-32k", + }, + cost: { + prompt_token: 0.00006, + completion_token: 0.00012, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-32k-0314", + }, + cost: { + prompt_token: 0.00006, + completion_token: 0.00012, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-32k-0613", + }, + cost: { + prompt_token: 0.00006, + completion_token: 0.00012, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-0125-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-1106-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-1106-vision-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4o", + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000015, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4o-2024-05-13", + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000015, + }, + showInPlayground: true, + }, + + { + model: { + operator: "equals", + value: "gpt-4o-mini", + }, + cost: { + prompt_token: 0.00000015, + completion_token: 0.0000006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4o-mini-2024-07-18", + }, + cost: { + prompt_token: 0.00000015, + completion_token: 0.0000006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-0613", + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-35-turbo-16k", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-16k-0613", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-3.5-turbo-0125", + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000015, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-turbo", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-turbo-2024-04-09", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "gpt-4-turbo-0125-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "text-embedding-ada-002", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "text-embedding-ada", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "text-embedding-ada-002-v2", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "text-embedding-3-small", + }, + cost: { + prompt_token: 0.00000002, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "text-embedding-3-large", + }, + cost: { + prompt_token: 0.00000013, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "gpt-4-vision-preview", + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: "equals", + value: "gpt-35-turbo-16k-0613", + }, + showInPlayground: true, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + }, + { + model: { + operator: "equals", + value: "gpt-4o-2024-08-06", + }, + showInPlayground: true, + cost: { + prompt_token: 0.0000025, + completion_token: 0.00001, + }, + }, + { + model: { + operator: "equals", + value: "o1-preview", + }, + cost: { + prompt_token: 0.000015, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "o1-preview-2024-09-12", + }, + cost: { + prompt_token: 0.000015, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "o1-mini", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000012, + }, + showInPlayground: true, + }, + { + model: { + operator: "equals", + value: "o1-mini-2024-09-12", + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000012, + }, + showInPlayground: true, + }, +]; + +const modelDetails: ModelDetailsMap = { + "gpt-4": { + matches: [ + "gpt-4", + "gpt-4-0314", + "gpt-4-0613", + "gpt-4-32k", + "gpt-4-32k-0314", + "gpt-4-0125-preview", + "gpt-4-1106-preview", + ], + searchTerms: ["gpt 4", "gpt-4", "chat gpt 4", "4", "chat 4"], + info: { + maxTokens: 8192, + releaseDate: "2024-03-13", + description: + "GPT-4 is the latest and most advanced model in the GPT series, demonstrating sophisticated capabilities in complex reasoning, theory of mind, and narrative understanding.", + tradeOffs: [ + "More expensive than GPT-3.5 Turbo", + "Performance can vary even with temperature=0", + "May struggle with world-building in absurd scenarios", + ], + benchmarks: { + mmlu: 0.864, + ifeval: 0.67, + hellaswag: 0.953, + bbh: 0.831, + }, + capabilities: [ + "Advanced reasoning", + "Theory of mind", + "Complex narrative understanding", + "Chain-of-thought processing", + ], + strengths: [ + "Strong performance in theory of mind tasks", + "Ability to track and reason about multiple entities", + "Can explain its reasoning process", + ], + weaknesses: [ + "May struggle with highly abstract or unrealistic scenarios", + "Output can be non-deterministic even at temperature=0", + "Performance depends on how 'normal' the scenario is", + ], + recommendations: [ + "Complex reasoning and analysis tasks", + "Professional content creation and editing", + "Advanced coding and technical problem-solving", + "Multi-step planning and strategy development", + "Academic research and paper writing", + "Detailed technical documentation", + ], + }, + }, + "gpt-4o": { + matches: ["gpt-4o", "gpt-4o-2024-05-13"], + searchTerms: ["gpt 4o", "gpt-4o", "chat gpt 4o", "4o", "chat 4o"], + info: { + maxTokens: 128000, + releaseDate: "2024-05-13", + description: + "GPT-4 Optimized (GPT-4o) is designed for high performance in reasoning, creativity, and technical tasks while maintaining consistent output quality.", + tradeOffs: [ + "Higher resource requirements for optimal performance", + "Increased cost per token for premium capabilities", + "May require more specific prompting for best results", + "Larger context window increases memory usage", + "Response time varies with complexity of task", + ], + benchmarks: { + mmlu: 0.887, + ifeval: 0.902, + hellaswag: 0.942, + bbh: 0.913, + }, + capabilities: [ + "Advanced reasoning and problem-solving", + "Strong coding abilities", + "Mathematical computation", + "Creative content generation", + "Technical analysis", + ], + strengths: [ + "Consistent output quality", + "Strong technical performance", + "Reliable response generation", + "Broad knowledge base", + ], + weaknesses: [ + "May produce overconfident responses", + "Requires clear prompt engineering", + "Performance varies with task complexity", + ], + recommendations: [ + "Technical and analytical projects", + "Software development tasks", + "Mathematical problem-solving", + "Content creation and analysis", + ], + }, + }, + "gpt-4o-mini": { + matches: ["gpt-4o-mini", "gpt-4o-mini-2024-07-18"], + searchTerms: [ + "gpt 4o mini", + "gpt-4o-mini", + "chat gpt 4o mini", + "chat 4o mini", + ], + info: { + maxTokens: 128000, + releaseDate: "2024-07-18", + description: + "GPT-4o Mini is a cost-optimized variant of GPT-4o, designed for high-efficiency processing while maintaining strong performance. It excels in rapid inference and resource-efficient operations, making it ideal for production deployments requiring a balance of cost and capability.", + tradeOffs: [ + "Lower cost per token compared to GPT-4o", + "Reduced latency for faster processing", + "Smaller model size for efficient deployment", + "Optimized for common tasks and queries", + "Balance of performance and resource usage", + ], + benchmarks: { + mmlu: 0.82, + ifeval: 0.872, + hellaswag: 0.885, + truthfulqa: 0.793, + gsm8k: 0.846, + }, + capabilities: [ + "Efficient natural language processing", + "Quick response generation", + "Code understanding and generation", + "Task-specific optimization", + "Resource-efficient inference", + "Consistent output quality", + "Scalable deployment support", + ], + strengths: [ + "Cost-effective processing", + "Low latency responses", + "Efficient resource utilization", + "Strong performance on common tasks", + "Reliable output quality", + "Optimized for production use", + "Excellent scaling characteristics", + ], + weaknesses: [ + "Lower performance on complex reasoning", + "Reduced capability in specialized domains", + "Limited context understanding vs larger models", + "May struggle with nuanced tasks", + "Less suitable for cutting-edge research", + ], + recommendations: [ + "High-volume production deployments", + "Cost-sensitive applications", + "Real-time processing needs", + "Standard NLP tasks", + "Efficient API integrations", + "Resource-constrained environments", + "Scalable system architectures", + ], + }, + }, + "gpt-4-turbo": { + matches: [ + "gpt-4-turbo", + "gpt-4-turbo-2024-04-09", + "gpt-4-turbo-0125-preview", + ], + searchTerms: [ + "gpt 4 turbo", + "gpt-4-turbo", + "chat gpt 4 turbo", + "4 turbo", + "chat 4 turbo", + ], + info: { + maxTokens: 128000, + releaseDate: "2024-04-09", + description: + "GPT-4 Turbo is a more recent model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: { + bbh: 0.876, + hellaswag: 0.942, + mmlu: 0.865, + }, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + "gpt-3.5-turbo": { + matches: [ + "gpt-3.5-turbo", + "gpt-3.5-turbo-0301", + "gpt-35-turbo", + "gpt-3.5-turbo-1106", + "gpt-3.5-turbo-instruct", + "gpt-3.5-turbo-instruct-0914", + "gpt-3.5-turbo-0613", + "gpt-3.5-turbo-16k", + "gpt-3.5-turbo-16k-0613", + "gpt-35-turbo-16k", + "gpt-35-turbo-16k-0613", + "gpt-3.5-turbo-0125", + ], + searchTerms: ["gpt 3.5", "gpt-3.5", "chat gpt 3.5", "chat 3.5"], + info: { + maxTokens: 16385, + releaseDate: "2023-11-06", + description: + "GPT-3.5 Turbo is a more recent model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: { + hellaswag: 0.855, + mmlu: 0.698, + }, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + "text-embedding-3": { + matches: ["text-embedding-3-small", "text-embedding-3-large"], + searchTerms: ["text embedding 3", "text-embedding-3"], + info: { + maxTokens: 3072, + releaseDate: "2022-12-15", + description: + "Text Embedding 3 is a model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: {}, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + "text-embedding-ada": { + matches: [ + "text-embedding-ada-002", + "text-embedding-ada", + "text-embedding-ada-002-v2", + ], + searchTerms: ["text embedding ada", "text-embedding-ada"], + info: { + maxTokens: 1536, + releaseDate: "2022-12-15", + description: + "Text Embedding Ada is a model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: {}, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + "o1-preview": { + matches: ["o1-preview", "o1-preview-2024-09-12"], + searchTerms: [ + "o1 preview", + "o1-preview", + "chat gpt o1", + "chat gpt o1 preview", + "chat o1", + "chat o1 preview", + ], + info: { + maxTokens: 128000, + releaseDate: "2024-09-12", + description: + "O1 Preview is a model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: { + mmlu: 0.908, + }, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + "o1-mini": { + matches: ["o1-mini", "o1-mini-2024-09-12"], + searchTerms: ["o1 mini", "o1-mini", "chat gpt o1 mini", "chat o1 mini"], + info: { + maxTokens: 128000, + releaseDate: "2024-09-12", + description: + "O1 Mini is a model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: {}, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + "gpt-4-vision-preview": { + matches: ["gpt-4-vision-preview", "gpt-4-1106-vision-preview"], + searchTerms: [ + "gpt 4 vision", + "gpt-4-vision", + "gpt 4 vision preview", + "chat gpt 4 vision", + "chat 4 vision", + ], + info: { + maxTokens: 128000, + releaseDate: "2023-11-06", + description: + "GPT-4 Vision is a model that offers a balance between cost and performance.", + tradeOffs: ["More expensive than GPT-3.5 Turbo"], + benchmarks: { + bbh: 0.876, + hellaswag: 0.942, + mmlu: 0.865, + }, + capabilities: ["Vision"], + strengths: ["Can process images"], + weaknesses: ["More expensive than GPT-3.5 Turbo"], + recommendations: ["Use for tasks that require image processing"], + }, + }, +}; + +const reverseModelMap: { [key: string]: string } = {}; + +for (const parentModel in modelDetails) { + const details = modelDetails[parentModel]; + details.matches.forEach((modelName) => { + reverseModelMap[modelName] = parentModel; + }); +} + +export const openAIProvider = { + costs, + modelDetails, + reverseModelMap, +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts new file mode 100644 index 0000000000000..2c6ae74fe3af0 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts @@ -0,0 +1,2159 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "sao10k/l3.3-euryale-70b", + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "inflatebot/mn-mag-mell-r1", + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: "equals", + value: "openai/o1", + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: "equals", + value: "eva-unit-01/eva-llama-3.33-70b", + }, + cost: { + prompt_token: 4e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: "equals", + value: "x-ai/grok-2-vision-1212", + }, + cost: { + prompt_token: 2e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "x-ai/grok-2-1212", + }, + cost: { + prompt_token: 2e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r7b-12-2024", + }, + cost: { + prompt_token: 3.75e-8, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-2.0-flash-exp:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-exp-1206:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.3-70b-instruct", + }, + cost: { + prompt_token: 1.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "amazon/nova-lite-v1", + }, + cost: { + prompt_token: 6e-8, + completion_token: 2.4e-7, + }, + }, + { + model: { + operator: "equals", + value: "amazon/nova-micro-v1", + }, + cost: { + prompt_token: 3.5e-8, + completion_token: 1.4e-7, + }, + }, + { + model: { + operator: "equals", + value: "amazon/nova-pro-v1", + }, + cost: { + prompt_token: 8e-7, + completion_token: 3.2e-6, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwq-32b-preview", + }, + cost: { + prompt_token: 1.3e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-exp-1121:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "google/learnlm-1.5-pro-experimental:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "eva-unit-01/eva-qwen-2.5-72b", + }, + cost: { + prompt_token: 4e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o-2024-11-20", + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-large-2411", + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-large-2407", + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/pixtral-large-2411", + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: "equals", + value: "x-ai/grok-vision-beta", + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-exp-1114:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "infermatic/mn-inferor-12b", + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2.5-coder-32b-instruct", + }, + cost: { + prompt_token: 8e-8, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: "equals", + value: "raifle/sorcererlm-8x22b", + }, + cost: { + prompt_token: 4.5e-6, + completion_token: 4.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "eva-unit-01/eva-qwen-2.5-32b", + }, + cost: { + prompt_token: 2.6e-6, + completion_token: 3.4e-6, + }, + }, + { + model: { + operator: "equals", + value: "thedrummer/unslopnemo-12b", + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-haiku-20241022:beta", + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-haiku-20241022", + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-haiku:beta", + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-haiku", + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: "equals", + value: "neversleep/llama-3.1-lumimaid-70b", + }, + cost: { + prompt_token: 3.375e-6, + completion_token: 4.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthracite-org/magnum-v4-72b", + }, + cost: { + prompt_token: 1.875e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-sonnet:beta", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-sonnet", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "x-ai/grok-beta", + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/ministral-8b", + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/ministral-3b", + }, + cost: { + prompt_token: 4e-8, + completion_token: 4e-8, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2.5-7b-instruct", + }, + cost: { + prompt_token: 2.7e-7, + completion_token: 2.7e-7, + }, + }, + { + model: { + operator: "equals", + value: "nvidia/llama-3.1-nemotron-70b-instruct", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "inflection/inflection-3-pi", + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "inflection/inflection-3-productivity", + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-flash-1.5-8b", + }, + cost: { + prompt_token: 3.75e-8, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: "equals", + value: "anthracite-org/magnum-v2-72b", + }, + cost: { + prompt_token: 3e-6, + completion_token: 3e-6, + }, + }, + { + model: { + operator: "equals", + value: "liquid/lfm-40b", + }, + cost: { + prompt_token: 1.5e-7, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: "equals", + value: "thedrummer/rocinante-12b", + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-3b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-3b-instruct", + }, + cost: { + prompt_token: 1.8e-8, + completion_token: 3e-8, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-1b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-1b-instruct", + }, + cost: { + prompt_token: 1e-8, + completion_token: 2e-8, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-90b-vision-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-90b-vision-instruct", + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-11b-vision-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.2-11b-vision-instruct", + }, + cost: { + prompt_token: 5.5e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2.5-72b-instruct", + }, + cost: { + prompt_token: 2.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2-vl-72b-instruct", + }, + cost: { + prompt_token: 4e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "neversleep/llama-3.1-lumimaid-8b", + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/o1-mini-2024-09-12", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.2e-5, + }, + }, + { + model: { + operator: "equals", + value: "openai/o1-preview", + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: "equals", + value: "openai/o1-preview-2024-09-12", + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: "equals", + value: "openai/o1-mini", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.2e-5, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/pixtral-12b", + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r-08-2024", + }, + cost: { + prompt_token: 1.425e-7, + completion_token: 5.7e-7, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r-plus-08-2024", + }, + cost: { + prompt_token: 2.375e-6, + completion_token: 9.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2-vl-7b-instruct", + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-flash-1.5-exp", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "sao10k/l3.1-euryale-70b", + }, + cost: { + prompt_token: 3.5e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-flash-1.5-8b-exp", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "ai21/jamba-1-5-large", + }, + cost: { + prompt_token: 2e-6, + completion_token: 8e-6, + }, + }, + { + model: { + operator: "equals", + value: "ai21/jamba-1-5-mini", + }, + cost: { + prompt_token: 2e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/phi-3.5-mini-128k-instruct", + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: "equals", + value: "nousresearch/hermes-3-llama-3.1-70b", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "nousresearch/hermes-3-llama-3.1-405b", + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3.1-sonar-huge-128k-online", + }, + cost: { + prompt_token: 5e-6, + completion_token: 5e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/chatgpt-4o-latest", + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "sao10k/l3-lunaris-8b", + }, + cost: { + prompt_token: 3e-8, + completion_token: 6e-8, + }, + }, + { + model: { + operator: "equals", + value: "aetherwiing/mn-starcannon-12b", + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o-2024-08-06", + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-405b", + }, + cost: { + prompt_token: 2e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "nothingiisreal/mn-celeste-12b", + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3.1-sonar-small-128k-chat", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-pro-1.5-exp", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3.1-sonar-large-128k-chat", + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3.1-sonar-large-128k-online", + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3.1-sonar-small-128k-online", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-405b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-405b-instruct", + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-405b-instruct:nitro", + }, + cost: { + prompt_token: 1.462e-5, + completion_token: 1.462e-5, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-8b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-8b-instruct", + }, + cost: { + prompt_token: 2e-8, + completion_token: 5e-8, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-70b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-70b-instruct", + }, + cost: { + prompt_token: 1.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3.1-70b-instruct:nitro", + }, + cost: { + prompt_token: 3.25e-6, + completion_token: 3.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-nemo", + }, + cost: { + prompt_token: 4e-8, + completion_token: 9e-8, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/codestral-mamba", + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 2.5e-7, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o-mini", + }, + cost: { + prompt_token: 1.5e-7, + completion_token: 6e-7, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o-mini-2024-07-18", + }, + cost: { + prompt_token: 1.5e-7, + completion_token: 6e-7, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2-7b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2-7b-instruct", + }, + cost: { + prompt_token: 5.4e-8, + completion_token: 5.4e-8, + }, + }, + { + model: { + operator: "equals", + value: "google/gemma-2-27b-it", + }, + cost: { + prompt_token: 2.7e-7, + completion_token: 2.7e-7, + }, + }, + { + model: { + operator: "equals", + value: "alpindale/magnum-72b", + }, + cost: { + prompt_token: 1.875e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "google/gemma-2-9b-it:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "google/gemma-2-9b-it", + }, + cost: { + prompt_token: 3e-8, + completion_token: 6e-8, + }, + }, + { + model: { + operator: "equals", + value: "01-ai/yi-large", + }, + cost: { + prompt_token: 3e-6, + completion_token: 3e-6, + }, + }, + { + model: { + operator: "equals", + value: "ai21/jamba-instruct", + }, + cost: { + prompt_token: 5e-7, + completion_token: 7e-7, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-sonnet-20240620:beta", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3.5-sonnet-20240620", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "sao10k/l3-euryale-70b", + }, + cost: { + prompt_token: 3.5e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "cognitivecomputations/dolphin-mixtral-8x22b", + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: "equals", + value: "qwen/qwen-2-72b-instruct", + }, + cost: { + prompt_token: 3.4e-7, + completion_token: 3.9e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-7b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-7b-instruct", + }, + cost: { + prompt_token: 3e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-7b-instruct:nitro", + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-7b-instruct-v0.3", + }, + cost: { + prompt_token: 3e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: "equals", + value: "nousresearch/hermes-2-pro-llama-3-8b", + }, + cost: { + prompt_token: 3e-8, + completion_token: 3e-8, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/phi-3-mini-128k-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/phi-3-mini-128k-instruct", + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/phi-3-medium-128k-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/phi-3-medium-128k-instruct", + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: "equals", + value: "neversleep/llama-3-lumimaid-70b", + }, + cost: { + prompt_token: 3.375e-6, + completion_token: 4.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-flash-1.5", + }, + cost: { + prompt_token: 7.5e-8, + completion_token: 3e-7, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3-sonar-large-32k-online", + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: "equals", + value: "deepseek/deepseek-chat", + }, + cost: { + prompt_token: 1.4e-7, + completion_token: 2.8e-7, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3-sonar-small-32k-chat", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "perplexity/llama-3-sonar-large-32k-chat", + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o-2024-05-13", + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-guard-2-8b", + }, + cost: { + prompt_token: 1.8e-7, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o", + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4o:extended", + }, + cost: { + prompt_token: 6e-6, + completion_token: 1.8e-5, + }, + }, + { + model: { + operator: "equals", + value: "neversleep/llama-3-lumimaid-8b:extended", + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: "equals", + value: "neversleep/llama-3-lumimaid-8b", + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3-8b-instruct:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3-8b-instruct", + }, + cost: { + prompt_token: 3e-8, + completion_token: 6e-8, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3-8b-instruct:extended", + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3-8b-instruct:nitro", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3-70b-instruct", + }, + cost: { + prompt_token: 2.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-3-70b-instruct:nitro", + }, + cost: { + prompt_token: 7.92e-7, + completion_token: 7.92e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mixtral-8x22b-instruct", + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/wizardlm-2-8x22b", + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: "equals", + value: "microsoft/wizardlm-2-7b", + }, + cost: { + prompt_token: 5.5e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-pro-1.5", + }, + cost: { + prompt_token: 1.25e-6, + completion_token: 5e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-turbo", + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r-plus", + }, + cost: { + prompt_token: 2.85e-6, + completion_token: 1.425e-5, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r-plus-04-2024", + }, + cost: { + prompt_token: 2.85e-6, + completion_token: 1.425e-5, + }, + }, + { + model: { + operator: "equals", + value: "databricks/dbrx-instruct", + }, + cost: { + prompt_token: 1.08e-6, + completion_token: 1.08e-6, + }, + }, + { + model: { + operator: "equals", + value: "sophosympatheia/midnight-rose-70b", + }, + cost: { + prompt_token: 8e-7, + completion_token: 8e-7, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command", + }, + cost: { + prompt_token: 9.5e-7, + completion_token: 1.9e-6, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r", + }, + cost: { + prompt_token: 4.75e-7, + completion_token: 1.425e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3-haiku:beta", + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 1.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3-haiku", + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 1.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3-opus:beta", + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 7.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3-opus", + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 7.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3-sonnet:beta", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-3-sonnet", + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: "equals", + value: "cohere/command-r-03-2024", + }, + cost: { + prompt_token: 4.75e-7, + completion_token: 1.425e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-large", + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-3.5-turbo-0613", + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-turbo-preview", + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: "equals", + value: "nousresearch/nous-hermes-2-mixtral-8x7b-dpo", + }, + cost: { + prompt_token: 5.4e-7, + completion_token: 5.4e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-small", + }, + cost: { + prompt_token: 2e-7, + completion_token: 6e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-tiny", + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 2.5e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-medium", + }, + cost: { + prompt_token: 2.75e-6, + completion_token: 8.1e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-7b-instruct-v0.2", + }, + cost: { + prompt_token: 1.8e-7, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: "equals", + value: "cognitivecomputations/dolphin-mixtral-8x7b", + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-pro-vision", + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "google/gemini-pro", + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mixtral-8x7b", + }, + cost: { + prompt_token: 5.4e-7, + completion_token: 5.4e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mixtral-8x7b-instruct", + }, + cost: { + prompt_token: 2.4e-7, + completion_token: 2.4e-7, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mixtral-8x7b-instruct:nitro", + }, + cost: { + prompt_token: 5.4e-7, + completion_token: 5.4e-7, + }, + }, + { + model: { + operator: "equals", + value: "openchat/openchat-7b:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "openchat/openchat-7b", + }, + cost: { + prompt_token: 5.5e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: "equals", + value: "neversleep/noromaid-20b", + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-2:beta", + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-2", + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-2.1:beta", + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-2.1", + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: "equals", + value: "teknium/openhermes-2.5-mistral-7b", + }, + cost: { + prompt_token: 1.7e-7, + completion_token: 1.7e-7, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-vision-preview", + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: "equals", + value: "lizpreciatior/lzlv-70b-fp16-hf", + }, + cost: { + prompt_token: 3.5e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: "equals", + value: "undi95/toppy-m-7b:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "undi95/toppy-m-7b:nitro", + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: "equals", + value: "undi95/toppy-m-7b", + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: "equals", + value: "alpindale/goliath-120b", + }, + cost: { + prompt_token: 9.375e-6, + completion_token: 9.375e-6, + }, + }, + { + model: { + operator: "equals", + value: "openrouter/auto", + }, + cost: { + prompt_token: -1.0, + completion_token: -1.0, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-3.5-turbo-1106", + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-1106-preview", + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: "equals", + value: "google/palm-2-chat-bison-32k", + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "google/palm-2-codechat-bison-32k", + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "jondurbin/airoboros-l2-70b", + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: "equals", + value: "xwin-lm/xwin-lm-70b", + }, + cost: { + prompt_token: 3.75e-6, + completion_token: 3.75e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-3.5-turbo-instruct", + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "mistralai/mistral-7b-instruct-v0.1", + }, + cost: { + prompt_token: 1.8e-7, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: "equals", + value: "pygmalionai/mythalion-13b", + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-3.5-turbo-16k", + }, + cost: { + prompt_token: 3e-6, + completion_token: 4e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-32k", + }, + cost: { + prompt_token: 6e-5, + completion_token: 0.00012, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-32k-0314", + }, + cost: { + prompt_token: 6e-5, + completion_token: 0.00012, + }, + }, + { + model: { + operator: "equals", + value: "nousresearch/nous-hermes-llama2-13b", + }, + cost: { + prompt_token: 1.7e-7, + completion_token: 1.7e-7, + }, + }, + { + model: { + operator: "equals", + value: "mancer/weaver", + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: "equals", + value: "huggingfaceh4/zephyr-7b-beta:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-2.0:beta", + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: "equals", + value: "anthropic/claude-2.0", + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: "equals", + value: "undi95/remm-slerp-l2-13b", + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: "equals", + value: "undi95/remm-slerp-l2-13b:extended", + }, + cost: { + prompt_token: 1.125e-6, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: "equals", + value: "google/palm-2-chat-bison", + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "google/palm-2-codechat-bison", + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: "equals", + value: "gryphe/mythomax-l2-13b:free", + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: "equals", + value: "gryphe/mythomax-l2-13b", + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: "equals", + value: "gryphe/mythomax-l2-13b:nitro", + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: "equals", + value: "gryphe/mythomax-l2-13b:extended", + }, + cost: { + prompt_token: 1.125e-6, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/llama-2-13b-chat", + }, + cost: { + prompt_token: 1.98e-7, + completion_token: 1.98e-7, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-3.5-turbo", + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-3.5-turbo-0125", + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4", + }, + cost: { + prompt_token: 3e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: "equals", + value: "openai/gpt-4-0314", + }, + cost: { + prompt_token: 3e-5, + completion_token: 6e-5, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts new file mode 100644 index 0000000000000..a8aca9915a543 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts @@ -0,0 +1,29 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "includes", + value: "llama", + }, + cost: { + prompt_token: 3e-7, + completion_token: 3e-7, + }, + }, + { + model: { + operator: "includes", + value: "mistral", + }, + cost: { + prompt_token: 3e-7, + completion_token: 3e-7, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts new file mode 100644 index 0000000000000..48d570e4f17f3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts @@ -0,0 +1,503 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "allenai/OLMo-7B-Instruct", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "allenai/OLMo-7B-Twin-2T", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "allenai/OLMo-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Austism/chronos-hermes-13b", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "deepseek-ai/deepseek-coder-33b-instruct", + }, + cost: { + prompt_token: 0.0000008, + completion_token: 0.0000008, + }, + }, + + { + model: { + operator: "equals", + value: "garage-bAInd/Platypus2-70B-instruct", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "google/gemma-2b-it", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "google/gemma-7b-it", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Gryphe/MythoMax-L2-13b", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "lmsys/vicuna-13b-v1.5", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "lmsys/vicuna-7b-v1.5", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "mistralai/Mistral-7B-Instruct-v0.1", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "mistralai/Mistral-7B-Instruct-v0.2", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "mistralai/Mixtral-8x7B-Instruct-v0.1", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "NousResearch/Nous-Capybara-7B-V1p9", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "NousResearch/Nous-Hermes-2-Yi-34B", + }, + cost: { + prompt_token: 0.0000008, + completion_token: 0.0000008, + }, + }, + + { + model: { + operator: "equals", + value: "openchat/openchat-3.5-1210", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Open-Orca/Mistral-7B-OpenOrca", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-0.5B-Chat", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-1.8B-Chat", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-4B-Chat", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-7B-Chat", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-14B-Chat", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "snorkelai/Snorkel-Mistral-PairRM-DPO", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/alpaca-7b", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "teknium/OpenHermes-2-Mistral-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "teknium/OpenHermes-2p5-Mistral-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/RedPajama-INCITE-Chat-3B-v1", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/RedPajama-INCITE-7B-Chat", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/StripedHyena-Nous-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Undi95/ReMM-SLERP-L2-13B", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "Undi95/Toppy-M-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "WizardLM/WizardLM-13B-V1.2", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "upstage/SOLAR-10.7B-Instruct-v1.0", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.0000035, + completion_token: 0.0000035, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-8B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-70B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-8B-Instruct-Lite", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-70B-Instruct-Lite", + }, + cost: { + prompt_token: 0.00000054, + completion_token: 0.00000054, + }, + }, + + { + model: { + operator: "equals", + value: "microsoft/WizardLM-2-8x22B", + }, + cost: { + prompt_token: 0.0000012, + completion_token: 0.0000012, + }, + }, + + { + model: { + operator: "equals", + value: "mistralai/Mixtral-8x22B-Instruct-v0.1", + }, + cost: { + prompt_token: 0.0000024, + completion_token: 0.0000024, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts new file mode 100644 index 0000000000000..32db21c26d7be --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts @@ -0,0 +1,210 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "codellama/CodeLlama-13b-Instruct-hf", + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, + }, + + { + model: { + operator: "equals", + value: "codellama/CodeLlama-34b-Instruct-hf", + }, + cost: { + prompt_token: 0.000000776, + completion_token: 0.000000776, + }, + }, + + { + model: { + operator: "equals", + value: "codellama/CodeLlama-70b-Instruct-hf", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "codellama/CodeLlama-7b-Instruct-hf", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-2-70b-chat-hf", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-2-13b-chat-hf", + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-2-7b-chat-hf", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-3-70b-chat-hf", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-3-8b-chat-hf", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "NousResearch/Nous-Hermes-llama-2-7b", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "NousResearch/Nous-Hermes-Llama2-13b", + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/Llama-2-7B-32K-Instruct", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000005, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-70B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-8B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-70B-Instruct-Lite", + }, + cost: { + prompt_token: 0.00000054, + completion_token: 0.00000054, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-8B-Instruct-Lite", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts new file mode 100644 index 0000000000000..47510b10a8c4c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts @@ -0,0 +1,228 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "zero-one-ai/Yi-34B", + }, + cost: { + prompt_token: 0.0000008, + completion_token: 0.0000008, + }, + }, + + { + model: { + operator: "equals", + value: "zero-one-ai/Yi-6B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "google/gemma-2b", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "google/gemma-7b", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "microsoft/phi-2", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Nexusflow/NexusRaven-V2-13B", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-0.5B", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-1.8B", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-4B", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-14B", + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: "equals", + value: "Qwen/Qwen1.5-72B", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/GPT-JT-Moderation-6B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/RedPajama-INCITE-Base-3B-v1", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/RedPajama-INCITE-7B-Base", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/RedPajama-INCITE-Instruct-3B-v1", + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/RedPajama-INCITE-7B-Instruct", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/StripedHyena-Hessian-7B", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "mistralai/Mistral-7B-v0.1", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "mistralai/Mixtral-8x7B-v0.1", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts new file mode 100644 index 0000000000000..95cc78e736992 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts @@ -0,0 +1,134 @@ +/** + * + * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs + */ + +import { ModelRow } from "../../../interfaces/Cost"; + +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "meta-llama/Llama-2-70b-hf", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-2-13b-hf", + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-2-7b-hf", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3-70B", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: "equals", + value: "meta-llama/Llama-3-8b-hf", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: "equals", + value: "togethercomputer/LLaMA-2-7B-32K", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: "equals", + value: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000005, + }, + }, + { + model: { + operator: "includes", + value: "togethercomputer/Meta-Llama-3.1-8B-Instruct-Reference", + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.00000018, + }, + }, + { + model: { + operator: "includes", + value: "togethercomputer/Meta-Llama-3.1-70B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: "includes", + value: "togethercomputer/Meta-Llama-3.1-405B-Instruct-Turbo", + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000005, + }, + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py new file mode 100644 index 0000000000000..30181663890db --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py @@ -0,0 +1,136 @@ +price_brackets = { + (0, 4): 0.1, # Up to 4B + (4.1, 8): 0.2, # 4.1B - 8B + (8.1, 21): 0.3, # 8.1B - 21B + (21.1, 41): 0.8, # 21.1B - 41B + (41.1, 73): 0.9, # 41B - 70B +} + + +llama_price_brackets = { + (6.9, 7.1): 0.2, # Up to 4B + (12.9, 13.1): 0.225, # 4.1B - 8B + (33.9, 34.1): 0.776, # 4.1B - 8B + (69.9, 70.1): 0.9, # 8.1B - 21B +} + + +# Model data provided by the user +lang_models = [ + ("zero-one-ai/Yi-34B", 34), + ("zero-one-ai/Yi-6B", 6), + ("google/gemma-2b", 2), + ("google/gemma-7b", 7), + ("meta-llama/Llama-2-70b-hf", 70), + ("meta-llama/Llama-2-13b-hf", 13), + ("meta-llama/Llama-2-7b-hf", 7), + ("microsoft/phi-2", 2), + ("Nexusflow/NexusRaven-V2-13B", 13), + ("Qwen/Qwen1.5-0.5B", 0.5), + ("Qwen/Qwen1.5-1.8B", 1.8), + ("Qwen/Qwen1.5-4B", 4), + ("Qwen/Qwen1.5-7B", 7), + ("Qwen/Qwen1.5-14B", 14), + ("Qwen/Qwen1.5-72B", 72), + ("togethercomputer/GPT-JT-Moderation-6B", 6), + ("togethercomputer/LLaMA-2-7B-32K", 7), + ("togethercomputer/RedPajama-INCITE-Base-3B-v1", 3), + ("togethercomputer/RedPajama-INCITE-7B-Base", 7), + ("togethercomputer/RedPajama-INCITE-Instruct-3B-v1", 3), + ("togethercomputer/RedPajama-INCITE-7B-Instruct", 7), + ("togethercomputer/StripedHyena-Hessian-7B", 7), + ("mistralai/Mistral-7B-v0.1", 7), + ("mistralai/Mixtral-8x7B-v0.1", 46.7), +] +chat_models = [ + ("allenai/OLMo-7B-Instruct", 7), + ("allenai/OLMo-7B-Twin-2T", 7), + ("allenai/OLMo-7B", 7), + ("Austism/chronos-hermes-13b", 13), + ("deepseek-ai/deepseek-coder-33b-instruct", 33), + ("garage-bAInd/Platypus2-70B-instruct", 70), + ("google/gemma-2b-it", 2), + ("google/gemma-7b-it", 7), + ("Gryphe/MythoMax-L2-13b", 13), + ("lmsys/vicuna-13b-v1.5", 13), + ("lmsys/vicuna-7b-v1.5", 7), + ("codellama/CodeLlama-13b-Instruct-hf", 13), + ("codellama/CodeLlama-34b-Instruct-hf", 34), + ("codellama/CodeLlama-70b-Instruct-hf", 70), + ("codellama/CodeLlama-7b-Instruct-hf", 7), + ("meta-llama/Llama-2-70b-chat-hf", 70), + ("meta-llama/Llama-2-13b-chat-hf", 13), + ("meta-llama/Llama-2-7b-chat-hf", 7), + ("mistralai/Mistral-7B-Instruct-v0.1", 7), + ("mistralai/Mistral-7B-Instruct-v0.2", 7), + ("mistralai/Mixtral-8x7B-Instruct-v0.1", 46.7), + ("NousResearch/Nous-Capybara-7B-V1p9", 7), + ("NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO", 46.7), + ("NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT", 46.7), + ("NousResearch/Nous-Hermes-llama-2-7b", 7), + ("NousResearch/Nous-Hermes-Llama2-13b", 13), + ("NousResearch/Nous-Hermes-2-Yi-34B", 34), + ("openchat/openchat-3.5-1210", 7), + ("Open-Orca/Mistral-7B-OpenOrca", 7), + ("Qwen/Qwen1.5-0.5B-Chat", 0.5), + ("Qwen/Qwen1.5-1.8B-Chat", 1.8), + ("Qwen/Qwen1.5-4B-Chat", 4), + ("Qwen/Qwen1.5-7B-Chat", 7), + ("Qwen/Qwen1.5-14B-Chat", 14), + ("Qwen/Qwen1.5-72B-Chat", 72), + ("snorkelai/Snorkel-Mistral-PairRM-DPO", 7), + ("togethercomputer/alpaca-7b", 7), + ("teknium/OpenHermes-2-Mistral-7B", 7), + ("teknium/OpenHermes-2p5-Mistral-7B", 7), + ("togethercomputer/Llama-2-7B-32K-Instruct", 7), + ("togethercomputer/RedPajama-INCITE-Chat-3B-v1", 3), + ("togethercomputer/RedPajama-INCITE-7B-Chat", 7), + ("togethercomputer/StripedHyena-Nous-7B", 7), + ("Undi95/ReMM-SLERP-L2-13B", 13), + ("Undi95/Toppy-M-7B", 7), + ("WizardLM/WizardLM-13B-V1.2", 13), + ("upstage/SOLAR-10.7B-Instruct-v1.0", 10.7), +] + +''' +export const costs: ModelRow[] = [ + { + model: { + operator: "equals", + value: "zero-one-ai/Yi-34B-Chat", + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, +]; +''' + +models = [c for c in lang_models if "llama" not in c[0].lower()] + +for model, context_length in models: + + found = False + + for (low, high), cost in price_brackets.items(): + if context_length >= low and context_length <= high: + print(''' +{ + model: { + operator: "equals", + value: "'''+model+'''", + }, + cost: { + prompt_token: '''+format(cost/1_000_000, '.15f')+''', + completion_token: '''+format(cost/1_000_000, '.15f')+''', + }, +}, + ''') + found = True + + if not found: + # Throw error + print("Error: ", model, context_length) + exit(1) + found = False diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js new file mode 100644 index 0000000000000..2e14512da4140 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js @@ -0,0 +1,57 @@ +const { createEvent, getMeta, resetMeta, clone } = require("@posthog/plugin-scaffold/test/utils"); + +const { processEvent } = require("./index"); + +beforeEach(() => { + // Making sure plugin meta has our custom test config + resetMeta({ + config: { + greeting: "Dzień dobry!", + }, + }); +}); + +test("processEvent adds properties", async () => { + // Create a random event + const event0 = createEvent({ event: "$ai_generation", properties: { + $ai_provider: "openai", + $ai_model: "gpt-4-turbo-2024-04-09", + $ai_input_tokens: 100, + $ai_output_tokens: 200 + } + }); + + // Must clone the event since `processEvent` will mutate it + const event1 = await processEvent(clone(event0), getMeta()); + expect(event1).toEqual({ + ...event0, + properties: { + ...event0.properties, + $ai_input_cost_usd: 0.001, + $ai_output_cost_usd: 0.006, + $ai_total_cost_usd: 0.007 + }, + }); + + // Floating point fun + const event2 = createEvent({ event: "$ai_generation", properties: { + $ai_provider: "openai", + $ai_model: "gpt-4o-mini", + $ai_input_tokens: 25, + $ai_output_tokens: 100 + } + }); + + // Must clone the event since `processEvent` will mutate it + const event3 = await processEvent(clone(event2), getMeta()); + expect(event3).toEqual({ + ...event2, + properties: { + ...event2.properties, + $ai_input_cost_usd: 0.00000375, + $ai_output_cost_usd: 0.00006, + $ai_total_cost_usd: 0.00006375 + }, + }); + +}); diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts new file mode 100644 index 0000000000000..c1c2605df4921 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts @@ -0,0 +1,58 @@ +/* global module */ +/* eslint no-undef: "error" */ + +import { ModelRow } from './inter' +import { Plugin, PluginEvent, PluginMeta, RetryError } from '@posthog/plugin-scaffold' +import { defaultProvider, providers } from './ai-cost-data/mappings' +import bigDecimal from 'js-big-decimal' + + +// Plugin method that processes event +export async function processEvent(event: PluginEvent): Promise { + if (event.event !== '$ai_generation' || !event.properties) { + return event + } + + if (!event.properties['$ai_provider'] || !event.properties['$ai_model']) { + return event + } + + const provider = providers.find((provider) => event.properties['$ai_provider'] === provider.provider.toLowerCase()) + if(!provider || !provider.costs) { + return event + } + + const cost = findCostFromModel( + provider.costs, + event.properties['$ai_model'] + ) + if(!cost) { + return event + } + + if(event.properties['$ai_input_tokens']) { + event.properties['$ai_input_cost_usd'] = parseFloat(bigDecimal.multiply(cost.cost.prompt_token, event.properties['$ai_input_tokens'])) + } + + if(event.properties['$ai_output_tokens']) { + event.properties['$ai_output_cost_usd'] = parseFloat(bigDecimal.multiply(cost.cost.completion_token, event.properties['$ai_output_tokens'])) + } + + if(event.properties['$ai_input_cost_usd'] && event.properties['$ai_output_cost_usd']) { + event.properties['$ai_total_cost_usd'] = parseFloat(bigDecimal.add(event.properties['$ai_input_cost_usd'], event.properties['$ai_output_cost_usd'])) + } + return event +} + + +const findCostFromModel = (costs: ModelRow[], aiModel: string): ModelRow | undefined => { + return costs.find((cost) => { + const valueLower = cost.model.value.toLowerCase(); + if (cost.model.operator === "startsWith") { + return aiModel.startsWith(valueLower); + } else if (cost.model.operator === "includes") { + return aiModel.includes(valueLower); + } + return valueLower === aiModel; + }); +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts new file mode 100644 index 0000000000000..4f48f8f40ef59 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts @@ -0,0 +1,54 @@ +interface TextOperator { + operator: "equals" | "startsWith" | "includes"; + value: string; + } + + export interface ModelDetails { + matches: string[]; + searchTerms: string[]; + info: { + releaseDate: string; + maxTokens?: number; + description: string; + tradeOffs: string[]; + benchmarks: { + [key: string]: number; + }; + capabilities: string[]; + strengths: string[]; + weaknesses: string[]; + recommendations: string[]; + }; + } + + export type ModelDetailsMap = { + [key: string]: ModelDetails; + }; + + export interface ModelRow { + model: TextOperator; + cost: { + prompt_token: number; + completion_token: number; + }; + showInPlayground?: boolean; + targetUrl?: string; + dateRange?: { + start: string; + end: string; + }; + } + + export interface ModelRow { + model: TextOperator; + cost: { + prompt_token: number; + completion_token: number; + }; + showInPlayground?: boolean; + targetUrl?: string; + dateRange?: { + start: string; + end: string; + }; + } \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json new file mode 100644 index 0000000000000..4b9aa4797246c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true + }, + "exclude": ["**.test.ts"] +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json new file mode 100644 index 0000000000000..55ced51c3cf49 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json @@ -0,0 +1,5 @@ +{ + "noExternal": ["*", "js-big-decimal"], + "treeshake": true, + "minify": true +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js new file mode 100644 index 0000000000000..7014226ee89d6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'simple-import-sort'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml new file mode 100644 index 0000000000000..70b0c1167f190 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml @@ -0,0 +1,68 @@ +name: CI + +on: + - pull_request + +jobs: + lint: + name: Code formatting & linting + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v1 + + - name: Set up Node 16 + uses: actions/setup-node@v1 + with: + node-version: 16 + + - uses: actions/cache@v2 + id: node-modules-cache + with: + path: | + node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules + + - name: Install dependencies + if: steps.node-modules-cache.outputs.cache-hit != 'true' + run: yarn install --frozen-lockfile + + - name: Check formatting with Prettier + run: yarn format:check + + - name: Lint with ESLint + run: yarn lint + + - name: Check Typescript + run: | + yarn typescript:check + + test: + name: Test + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v1 + + - name: Set up Node 16 + uses: actions/setup-node@v1 + with: + node-version: 16 + + - uses: actions/cache@v2 + id: node-modules-cache + with: + path: | + node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules + + - name: Install dependencies + if: steps.node-modules-cache.outputs.cache-hit != 'true' + run: yarn install --frozen-lockfile + + - name: Run test + run: | + yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore new file mode 100644 index 0000000000000..12ac647202705 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json new file mode 100644 index 0000000000000..f89ed5f1d985a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": true +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE new file mode 100644 index 0000000000000..38ec4a72865a7 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Paolo D'Amico + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md new file mode 100644 index 0000000000000..ed93ea26363bc --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md @@ -0,0 +1,37 @@ +Unduplicator app logo + +# PostHog Community App: Unduplicator + +This app helps prevent duplicate events from being ingested into PostHog. It's particularly helpful if you're backfilling information while you're already ingesting ongoing events. The app crafts an event UUID based on key properties for the event so if the event is _the same_ (see below for definition) it'll end with the same UUID. + +When events areprocessed by ClickHouse, the DB will automatically dedupe events which have the same `toDate(timestamp)`, +`event`, `distinct_id` and `uuid` combo, effectively making sure duplicates are not stored. + +The app has two modes (which essentially define what's considered a duplicate event). Either mode will scope duplicates to a **each project**, duplicates across projects are still permitted. + +- **Event and Timestamp**. An event will be treated as duplicate if the timestamp, event name and user's distinct ID matches exactly, regardless of what internal properties are included. +- **All Properties**. An event will be treated as duplicate only all properties match exactly, as well as the timestamp, event name and user's distinct ID. + +## 🚀 Usage + +To use it simply install the app from the repository URL: https://github.com/paolodamico/posthog-app-unduplicator or search for it in the PostHog App Library. + +## 🧑‍💻 Development & testing + +Contributions are welcomed! Feel free to open a PR or an issue. To develop locally and contribute to this package, you can simply follow these instructions after clonning the repo. + +- Install dependencies + ```bash + yarn install + ``` +- Run tests + ```bash + yarn test + ``` +- Install app in your local instance by going to `/project/apps` in your PostHog instance, clicking on the "Advanced" tab and entering the full path where you cloned the repo. Please note that running apps locally on PostHog is currently buggy (see [posthog#7170](https://github.com/PostHog/posthog/issues/7170)). + +## 🧑‍⚖️ License + +This repository is MIT licensed. Please review the LICENSE file in this repository. + +Copyright (C) 2022 Paolo D'Amico. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts new file mode 100644 index 0000000000000..0dc41eb54dbf9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts @@ -0,0 +1,16 @@ +/* eslint-disable no-var */ + +interface ApiMethodOptions { + data?: Record // any data to send with the request, GET and DELETE will set these as URL params + host?: string // posthog host, defaults to https://app.posthog.com + projectApiKey?: string // specifies the project to interact with + personalApiKey?: string // authenticates the user +} + +interface APIInterface { + get: (path: string, options?: ApiMethodOptions) => Promise> +} + +declare namespace posthog { + var api: APIInterface +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts new file mode 100644 index 0000000000000..56686be0d7ce9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts @@ -0,0 +1,127 @@ +import { Plugin, PluginMeta } from '@posthog/plugin-scaffold' +// @ts-ignore +import { createPageview, resetMeta } from '@posthog/plugin-scaffold/test/utils' +import { createHash } from 'crypto' +import given from 'given2' + +import * as unduplicatesPlugin from '.' +const { processEvent } = unduplicatesPlugin as Required + +given('getResponse', () => ({ results: [], next: null })) + +global.posthog = { + api: { + get: jest.fn(() => + Promise.resolve({ + json: () => Promise.resolve(given.getResponse), + }) + ), + }, +} + +const defaultMeta = { + config: { + dedupMode: 'Event and Timestamp', + }, +} + +describe('`Event and Timestamp` mode', () => { + test('event UUID is properly generated', async () => { + const meta = resetMeta() as PluginMeta + const event = await processEvent({ ...createPageview(), timestamp: '2020-02-02T23:59:59.999999Z' }, meta) + expect(event?.uuid).toEqual('1b2b7e1a-c059-5116-a6d2-eb1c1dd793bc') + }) + test('same key properties produces the same UUID', async () => { + const meta = resetMeta() as PluginMeta + const event1 = await processEvent( + { ...createPageview(), event: 'myPageview', timestamp: '2020-05-02T20:59:59.999999Z', ignoreMe: 'yes' }, + meta + ) + const event2 = await processEvent( + { + ...createPageview(), + event: 'myPageview', + timestamp: '2020-05-02T20:59:59.999999Z', + differentProperty: 'indeed', + }, + meta + ) + expect(event1?.uuid).toBeTruthy() + expect(event1?.uuid).toEqual(event2?.uuid) + }) + test('different key properties produces a different UUID', async () => { + const meta = resetMeta() as PluginMeta + const event1 = await processEvent({ ...createPageview(), timestamp: '2020-05-02T20:59:59.999999Z' }, meta) + const event2 = await processEvent( + { + ...createPageview(), + timestamp: '2020-05-02T20:59:59.999888Z', // note milliseconds are different + }, + meta + ) + expect(event1?.uuid).toBeTruthy() + expect(event1?.uuid).not.toEqual(event2?.uuid) + }) +}) + +describe('`All Properties` mode', () => { + test('event UUID is properly generated (all props)', async () => { + const meta = resetMeta({ + config: { ...defaultMeta.config, dedupMode: 'All Properties' }, + }) as PluginMeta + const event = await processEvent({ ...createPageview(), timestamp: '2020-02-02T23:59:59.999999Z' }, meta) + expect(event?.uuid).toEqual('5a4e6d35-a9e4-50e2-9d97-4f7cc04e8b30') + }) + test('same key properties produces the same UUID (all props)', async () => { + const meta = resetMeta({ + config: { ...defaultMeta.config, dedupMode: 'All Properties' }, + }) as PluginMeta + const event1 = await processEvent( + { + ...createPageview(), + event: 'myPageview', + timestamp: '2020-05-02T20:59:59.999999Z', + properties: { + ...createPageview().properties, + customProp1: true, + customProp2: 'lgtm!', + }, + }, + meta + ) + const event2 = await processEvent( + { + ...createPageview(), + event: 'myPageview', + timestamp: '2020-05-02T20:59:59.999999Z', + properties: { + ...createPageview().properties, + customProp1: true, + customProp2: 'lgtm!', + }, + }, + meta + ) + expect(event1?.uuid).toBeTruthy() + expect(event1?.uuid).toEqual(event2?.uuid) + }) + test('different properties produce a different UUID (all props)', async () => { + const meta = resetMeta({ + config: { ...defaultMeta.config, dedupMode: 'All Properties' }, + }) as PluginMeta + const event1 = await processEvent( + { ...createPageview(), timestamp: '2020-05-02T20:59:59.999999Z', properties: { customProp: '2' } }, + meta + ) + const event2 = await processEvent( + { + ...createPageview(), + timestamp: '2020-05-02T20:59:59.999999Z', + properties: { customProp: '1' }, + }, + meta + ) + expect(event1?.uuid).toBeTruthy() + expect(event1?.uuid).not.toEqual(event2?.uuid) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts new file mode 100644 index 0000000000000..77cc118671248 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts @@ -0,0 +1,84 @@ +import { Plugin, PluginEvent } from '@posthog/plugin-scaffold' +import { createHash } from 'crypto' + +// From UUID Namespace RFC (https://datatracker.ietf.org/doc/html/rfc4122) +const NAMESPACE_OID = '6ba7b812-9dad-11d1-80b4-00c04fd430c8' + +interface UnduplicatesPluginInterface { + config: { + dedupMode: 'Event and Timestamp' | 'All Properties' + } +} + +const stringifyEvent = (event: PluginEvent): string => { + return `(${event.uuid}; project #${event.team_id}). Event "${event.event}" @ ${event.timestamp} for user ${event.distinct_id}.` +} + +const byteToHex: string[] = [] + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).slice(1)) +} + +function stringifyUUID(arr: Buffer) { + // Forked from https://github.com/uuidjs/uuid (MIT) + // Copyright (c) 2010-2020 Robert Kieffer and other contributors + return ( + byteToHex[arr[0]] + + byteToHex[arr[1]] + + byteToHex[arr[2]] + + byteToHex[arr[3]] + + '-' + + byteToHex[arr[4]] + + byteToHex[arr[5]] + + '-' + + byteToHex[arr[6]] + + byteToHex[arr[7]] + + '-' + + byteToHex[arr[8]] + + byteToHex[arr[9]] + + '-' + + byteToHex[arr[10]] + + byteToHex[arr[11]] + + byteToHex[arr[12]] + + byteToHex[arr[13]] + + byteToHex[arr[14]] + + byteToHex[arr[15]] + ).toLowerCase() +} + +const plugin: Plugin = { + processEvent: async (event, { config }) => { + if (!event.timestamp) { + // posthog-js sends events without a timestamp, but with an offset and a UUID. + // Because the UUID is generated by the SDK, we can silently ignore these events. + // For other SDKs, log an info log with the library name. + const lib = event.properties?.$lib || 'unknown' + if (lib !== 'web') { + console.info( + `Received event from "${lib}" without a timestamp, the event will not be processed because deduping will not work.` + ) + } + + return event + } + + // Create a hash of the relevant properties of the event + const stringifiedProps = config.dedupMode === 'All Properties' ? `_${JSON.stringify(event.properties)}` : '' + const hash = createHash('sha1') + const eventKeyBuffer = hash + .update( + `${NAMESPACE_OID}_${event.team_id}_${event.distinct_id}_${event.event}_${event.timestamp}${stringifiedProps}` + ) + .digest() + + // Convert to UUID v5 spec + eventKeyBuffer[6] = (eventKeyBuffer[6] & 0x0f) | 0x50 + eventKeyBuffer[8] = (eventKeyBuffer[8] & 0x3f) | 0x80 + + event.uuid = stringifyUUID(eventKeyBuffer) + return event + }, +} + +module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js new file mode 100644 index 0000000000000..f84941f24873d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js @@ -0,0 +1,14 @@ +const { pathsToModuleNameMapper } = require('ts-jest/utils') +const { compilerOptions } = require('./tsconfig') + +const moduleNameMapper = undefined +if (compilerOptions.paths) { + moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) +} + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + moduleNameMapper, + setupFilesAfterEnv: ['given2/setup'], +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..59b528c09ba324960baa05c96015e04632a7d909 GIT binary patch literal 37485 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 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json new file mode 100644 index 0000000000000..42996371a2db2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json @@ -0,0 +1,47 @@ +{ + "name": "posthog-plugin-unduplicates", + "version": "0.0.1", + "description": "Prevent duplicates in your data by rejecting duplicate events at ingestion.", + "main": "index.ts", + "repository": "github:paolodamico/posthog-plugin-unduplicates", + "homepage": "https://github.com/paolodamico/posthog-plugin-unduplicates#readme", + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "typescript:check": "tsc" + }, + "author": "", + "license": "MIT", + "devDependencies": { + "@posthog/plugin-scaffold": "^0.12.10", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "given2": "^2.1.7", + "husky": "~4.3.6", + "jest": "^26.6.3", + "lint-staged": "~10.5.3", + "prettier": "^2.2.1", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + }, + "dependencies": {} +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json new file mode 100644 index 0000000000000..2ab0263f60168 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json @@ -0,0 +1,16 @@ +{ + "name": "Unduplicates", + "url": "https://github.com/paolodamico/posthog-plugin-unduplicates", + "description": "Prevent duplicates in your data when ingesting.", + "main": "index.ts", + "posthogVersion": ">=1.25.0", + "config": [ + { + "key": "dedupMode", + "name": "Dedup Mode", + "type": "choice", + "required": true, + "choices": ["Event and Timestamp", "All Properties"] + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json new file mode 100644 index 0000000000000..c7548c6c974c2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true, + "skipLibCheck": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock new file mode 100644 index 0000000000000..16e66ba96f3ff --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock @@ -0,0 +1,4837 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@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.0.0", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" + integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.10" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.10" + "@babel/types" "^7.17.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" + integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== + dependencies: + "@babel/types" "^7.17.10" + "@jridgewell/gen-mapping" "^0.1.0" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" + integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@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.8.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helpers@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" + integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.9" + "@babel/types" "^7.17.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" + integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" + integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== + +"@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.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-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-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.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-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/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" + integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.10" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.10" + "@babel/types" "^7.17.10" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" + integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + 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== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" + integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.13" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" + integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@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": + 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" + +"@posthog/plugin-scaffold@^0.12.10": + version "0.12.10" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" + integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^26.0.19": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/json-schema@^7.0.7": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/node@*": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.32.tgz#51d59d7a90ef2d0ae961791e0900cad2393a0149" + integrity sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" + integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.12.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.12.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== + +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" + +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@^6.10.0, ajv@^6.12.4: + 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.1: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +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-regex@^5.0.0, 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@^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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.5: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + 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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + 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== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.20.2: + version "4.20.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" + +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" + +buffer-from@1.x, 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== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +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" + +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@^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.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001332: + version "1.0.30001340" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz#029a2f8bfc025d4820fafbfaa6259fd7778340c7" + integrity sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +chalk@^2.0.0: + 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.1.0: + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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-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@^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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +colorette@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: + 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@^2.2.0, debug@^2.3.3, 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@^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.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@^0.1.3, 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.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +electron-to-chromium@^1.4.118: + version "1.4.137" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" + integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5, 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" + +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" + +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" + integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.4.1" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^8.1.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.3: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.22.1: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" + has "^1.0.3" + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.21.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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.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: + 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== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +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-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + 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: + 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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.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-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 "^3.1.2" + +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@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + 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" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +functions-have-names@^1.2.2: + 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== + +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: + 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.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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +given2@^2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/given2/-/given2-2.1.7.tgz#4c2c7883d7ee1069d077c10551ef2e607943ebd3" + integrity sha512-fI3VamsjN2euNVguGpSt2uExyDSMfJoK+SwDxbmV+Thf3v4oF6KKZAFE3LHHuT+PYyMwCsJYXO01TW3euFdPGA== + +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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +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.6.0, globals@^13.9.0: + version "13.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" + integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.3: + 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" + +graceful-fs@^4.2.4: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +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 sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, 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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-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" + +https-proxy-agent@^5.0.0: + 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" + +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== + +husky@~4.3.6: + 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 "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-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.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + 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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + 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-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@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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: + 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-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +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 sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +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-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +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-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-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.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.0.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json5@2.x, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +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== + +lint-staged@~10.5.3: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + 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" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +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.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash@4.x, lodash@^4.7.0: + 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" + +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" + +make-dir@^3.0.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-error@1.x: + 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-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, 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: + 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: + 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" + +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== + +minimatch@^3.0.4, 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" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" + integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +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.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +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: + 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" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.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-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-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +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: + 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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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-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== + +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.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +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" + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "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@^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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +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" + +rxjs@^7.5.1: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-regex@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" + integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.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== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "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== + 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: + 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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stack-utils@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^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.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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.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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +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== + +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +ts-jest@^26.4.4: + 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" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +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-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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-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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.1.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== + +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" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + 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" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.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-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + +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, which@^2.0.2: + 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" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +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== + +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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x: + 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-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.4.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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig new file mode 100644 index 0000000000000..b0b709a63cc2d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js new file mode 100644 index 0000000000000..8d554700cc96b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js @@ -0,0 +1,11 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + extends: ['plugin:@typescript-eslint/recommended'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes new file mode 100644 index 0000000000000..dfe0770424b2a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md new file mode 100644 index 0000000000000..3fe0f6f335209 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md @@ -0,0 +1,7 @@ +## Changes + +... + +## Checklist + +- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml new file mode 100644 index 0000000000000..3edb1b8e5ebc4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: CI + +on: + - push + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x, 16.x, 18.x, 19.x] + + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn test + + code-quality: + name: Code quality + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x, 16.x, 18.x, 19.x] + + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn lint diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore new file mode 100644 index 0000000000000..abd8ee954280e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore @@ -0,0 +1,76 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# environment variables file +.env +.environment + +# next.js build output +.next + +# editors +.vscode +.idea + +# yalc +.yalc +yalc* + +# macOS +.DS_Store + +# output +dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore new file mode 100644 index 0000000000000..1521c8b7652b1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore @@ -0,0 +1 @@ +dist diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md new file mode 100644 index 0000000000000..746148de993e7 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md @@ -0,0 +1,44 @@ +# URL parameters to event properties + +[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) + +A PostHog app to convert specific url search/query parameters to event properties allowing you to more easily compare them in insights. + +You can specify a list of parameters to convert. Converted parameters are stored as event properties, but you can configure the plugin to set them as (initial) user properties as well. Properties are created using the parameter name and an optional prefix and suffix. (Initial user properties also get `initial_` prepended to the property name.) + +If a configured parameter is found one time, it will store the data as-is. If the parameter is found more than once, it will gather all the values found into an array, and store that in the property in JSON format. Or, you can set it to always store the data as a JSON array. + +Support [PostHog](https://posthog.com/) and give it a try today. + +## Developing Locally + +To develop this app locally, you'll need to clone it and then run specs. Please make sure you've got Node and Yarn installed. Pull requests welcome! + +``` +git clone https://github.com/PostHog/posthog-app-url-parameters-to-event-properties +yarn install +yarn test --watch +``` + +From there, edit away and enjoy! + +## Installation + +1. Open PostHog. +1. Go to the Plugins page from the sidebar. +1. Head to the Advanced tab. +1. "Install from GitHub, GitLab or npm" using this repository's URL. + +## Roadmap + +This app is early stage, but please consider starting a discussion or leaving an issue if there are features you'd like to see added. + +## Contributing + +Contributions of code, issues, reviews and documentation are welcome! + +## Acknoledgements + +Thanks to the awesome @posthog community! + +Thanks to @everald for the initial app! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts new file mode 100644 index 0000000000000..e9ff9c4c3e530 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts @@ -0,0 +1,683 @@ +import { PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' +import { ParamsToPropertiesPlugin, PluginConfig, processEvent, setupPlugin } from './index' + +/** + * Given a url, construct a page view event. + * + * @param $current_url The current url of the page view + * @returns A new PostHog page view event + */ +function buildPageViewEvent($current_url: string): PluginEvent { + const event: PluginEvent = { + properties: { $current_url }, + distinct_id: 'distinct_id', + ip: '1.2.3.4', + site_url: 'posthog.com', + team_id: 0, + now: '2022-06-17T20:21:31.778000+00:00', + event: '$pageview', + uuid: '01817354-06bb-0000-d31c-2c4eed374100', + } + + return event +} + +const defaultConfig: PluginConfig = { + parameters: 'myUrlParameter', + prefix: '', + suffix: '', + setAsUserProperties: 'false', + setAsInitialUserProperties: 'false', + ignoreCase: 'false', + alwaysJson: 'false', +} + +const pluginJSON = require('./plugin.json') + +function buildMockMeta(partialConfig: Partial = {}): PluginMeta { + const config: PluginConfig = { ...defaultConfig, ...partialConfig } + return { + global: { + ignoreCase: config.ignoreCase === 'true', + setAsInitialUserProperties: config.setAsInitialUserProperties === 'true', + setAsUserProperties: config.setAsUserProperties === 'true', + alwaysJson: config.alwaysJson === 'true', + parameters: new Set( + config.parameters ? config.parameters.split(',').map((parameter) => parameter.trim()) : null + ), + }, + config: config, + } as PluginMeta +} + +describe('ParamsToPropertiesPlugin', () => { + let mockMeta: PluginMeta + + beforeEach(() => { + jest.clearAllMocks() + + mockMeta = buildMockMeta() + }) + + describe('setupPlugin', () => { + it('should set one item to whitelist', () => { + const meta = { + global: { + parameters: new Set(), + }, + config: { + parameters: 'one_item', + prefix: '', + suffix: '', + setAsUserProperties: 'false', + setAsInitialUserProperties: 'false', + ignoreCase: 'false', + alwaysJson: 'false', + }, + } as PluginMeta + + expect(meta.global.parameters.size).toBe(0) + + setupPlugin(meta) + + expect(meta.global.parameters.size).toBe(1) + }) + + it('should set three item to whitelist', () => { + const meta = { + global: { + parameters: new Set(), + }, + config: { + parameters: 'one_item, two_item,three_item', + prefix: '', + suffix: '', + setAsUserProperties: 'false', + setAsInitialUserProperties: 'false', + ignoreCase: 'false', + alwaysJson: 'false', + }, + } as PluginMeta + + expect(meta.global.parameters.size).toBe(0) + + setupPlugin(meta) + + expect(meta.global.parameters.size).toBe(3) + expect(meta.global.parameters.has('one_item')).toBeTruthy() + expect(meta.global.parameters.has('two_item')).toBeTruthy() + expect(meta.global.parameters.has('three_item')).toBeTruthy() + }) + + it('should clear global whitelist when config is missing whitelist', () => { + const meta = { + global: { + parameters: new Set(['one_item']), + }, + config: { + prefix: '', + suffix: '', + setAsUserProperties: 'false', + setAsInitialUserProperties: 'false', + ignoreCase: 'false', + alwaysJson: 'false', + }, + } as PluginMeta + + expect(meta.global.parameters.size).toBe(1) + + setupPlugin(meta) + + expect(meta.global.parameters.size).toBe(0) + }) + }) + + describe('plugin.json', () => { + it('should contain all properties of PluginConfig', () => { + expect(pluginJSON.config).toBeDefined() + if (pluginJSON.config) { + const fields = new Set() + for (const item of pluginJSON.config) { + fields.add(item.key) + } + + expect(fields.has('ignoreCase')).toBeTruthy() + expect(fields.has('prefix')).toBeTruthy() + expect(fields.has('setAsInitialUserProperties')).toBeTruthy() + expect(fields.has('setAsUserProperties')).toBeTruthy() + expect(fields.has('suffix')).toBeTruthy() + expect(fields.has('parameters')).toBeTruthy() + expect(fields.has('alwaysJson')).toBeTruthy() + expect(fields.size).toEqual(7) + } + }) + + it('should match types of all properties of PluginConfig', () => { + expect(pluginJSON.config).toBeDefined() + if (pluginJSON.config) { + const fields = new Map() + for (const item of pluginJSON.config) { + fields.set(item.key, item.type) + } + + expect(fields.get('ignoreCase')).toEqual('choice') + expect(fields.get('prefix')).toEqual('string') + expect(fields.get('setAsInitialUserProperties')).toEqual('choice') + expect(fields.get('setAsUserProperties')).toEqual('choice') + expect(fields.get('suffix')).toEqual('string') + expect(fields.get('parameters')).toEqual('string') + expect(fields.get('alwaysJson')).toEqual('choice') + } + }) + }) + + describe('processEvent', () => { + it("shouldn't change properties count", () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1') + if (sourceEvent.properties) { + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, mockMeta) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount) + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + expect(mockMeta.global.alwaysJson).toBeFalsy() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, mockMeta) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + expect(processedEvent.properties.myUrlParameter).toEqual('1') + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 2 property', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent( + sourceEvent, + buildMockMeta({ parameters: 'plugin, myUrlParameter' }) + ) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 2) + expect(processedEvent.properties['plugin']).toBeDefined() + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property and 1 $set property', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + expect(sourceEvent.properties['$set']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta({ setAsUserProperties: 'true' })) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 2) + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + expect(processedEvent.properties['$set']).toBeDefined() + expect(processedEvent.properties.$set['myUrlParameter']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property and 1 $set_once property', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + expect(sourceEvent.properties['$set_once']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta({ setAsInitialUserProperties: 'true' })) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 2) + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + expect(processedEvent.properties['$set_once']).toBeDefined() + expect(processedEvent.properties.$set_once['initial_myUrlParameter']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property, 1 $set property and 1 $set_once property', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + expect(sourceEvent.properties['$set']).not.toBeDefined() + expect(sourceEvent.properties['$set_once']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent( + sourceEvent, + buildMockMeta({ setAsUserProperties: 'true', setAsInitialUserProperties: 'true' }) + ) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 3) + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + expect(processedEvent.properties['$set']).toBeDefined() + expect(processedEvent.properties['$set_once']).toBeDefined() + expect(processedEvent.properties.$set['myUrlParameter']).toBeDefined() + expect(processedEvent.properties.$set_once['initial_myUrlParameter']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property with prefix', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['prefix_myUrlParameter']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta({ prefix: 'prefix_' })) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['prefix_myUrlParameter']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property with suffix', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter_suffix']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta({ suffix: '_suffix' })) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['myUrlParameter_suffix']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property with prefix and suffix', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['prefix_myUrlParameter_suffix']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent( + sourceEvent, + buildMockMeta({ prefix: 'prefix_', suffix: '_suffix' }) + ) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['prefix_myUrlParameter_suffix']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it("shouldn't add properties when $current_url is undefined", () => { + const sourceEvent = { + ...buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1'), + ...{ properties: { $current_url: undefined } }, + } + + if (sourceEvent.properties) { + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, mockMeta) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount) + expect(processedEvent.properties['myUrlParameter']).not.toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it("shouldn't add properties when properties is undefined", () => { + const sourceEvent = { + ...buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1'), + ...{ properties: undefined }, + } + + expect(sourceEvent.properties).not.toBeDefined() + + const processedEvent = processEvent(sourceEvent, mockMeta) + expect(processedEvent.properties).not.toBeDefined() + }) + + it('should add 1 property regardless of case', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta({ ignoreCase: 'true' })) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it("shouldn't add properties respecting case missmatch", () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta()) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount) + expect(processedEvent.properties['myUrlParameter']).not.toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property regardless of case with prefix and suffix', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent( + sourceEvent, + buildMockMeta({ ignoreCase: 'true', prefix: 'prefix_', suffix: '_suffix' }) + ) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['prefix_myUrlParameter_suffix']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + + it('should add 1 property, 1 $set property and 1 $set_once property regardless of case with prefix and suffix', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + expect(sourceEvent.properties['$set']).not.toBeDefined() + expect(sourceEvent.properties['$set_once']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent( + sourceEvent, + buildMockMeta({ + ignoreCase: 'true', + prefix: 'prefix_', + suffix: '_suffix', + setAsUserProperties: 'true', + setAsInitialUserProperties: 'true', + }) + ) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 3) + expect(processedEvent.properties['prefix_myUrlParameter_suffix']).toBeDefined() + expect(processedEvent.properties['$set']).toBeDefined() + expect(processedEvent.properties.$set['prefix_myUrlParameter_suffix']).toBeDefined() + expect(processedEvent.properties['$set_once']).toBeDefined() + expect(processedEvent.properties.$set_once['initial_prefix_myUrlParameter_suffix']).toBeDefined() + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + ;[ + { + label: '', + ignoreCase: 'false', + prefix: '', + suffix: '', + setAsUserProperties: '', + setAsInitialUserProperties: '', + }, + { + label: 'ignoring case', + ignoreCase: 'true', + prefix: '', + suffix: '', + setAsUserProperties: '', + setAsInitialUserProperties: '', + }, + { + label: 'with a prefix', + ignoreCase: 'false', + prefix: 'prefix_', + suffix: '', + setAsUserProperties: '', + setAsInitialUserProperties: '', + }, + { + label: 'with a suffix', + ignoreCase: 'false', + prefix: '', + suffix: '_suffix', + setAsUserProperties: '', + setAsInitialUserProperties: '', + }, + { + label: 'with a prefix and a suffix', + ignoreCase: 'false', + prefix: 'prefix_', + suffix: '_suffix', + setAsUserProperties: '', + setAsInitialUserProperties: '', + }, + { + label: 'with a $set property', + ignoreCase: 'false', + prefix: '', + suffix: '', + setAsUserProperties: 'true', + setAsInitialUserProperties: '', + }, + { + label: 'with a $set_once property', + ignoreCase: 'false', + prefix: '', + suffix: '', + setAsUserProperties: '', + setAsInitialUserProperties: 'true', + }, + { + label: 'with a $set and a $set_once property', + ignoreCase: 'false', + prefix: '', + suffix: '', + setAsUserProperties: 'true', + setAsInitialUserProperties: 'true', + }, + { + label: 'with a prefix, a suffix, a $set, and a $set_once property', + ignoreCase: 'false', + prefix: 'preefix_', + suffix: '_suffax', + setAsUserProperties: 'true', + setAsInitialUserProperties: 'true', + }, + ].forEach((testOptions) => { + it(`should add 1 multivalue property ${testOptions['label']}`, () => { + const testParameterBase = 'multiValueParam' + const testMockMeta = buildMockMeta({ + ignoreCase: testOptions['ignoreCase'] === 'true' ? 'true' : 'false', + prefix: testOptions['prefix'], + suffix: testOptions['suffix'], + setAsUserProperties: testOptions['setAsUserProperties'] === 'true' ? 'true' : 'false', + setAsInitialUserProperties: testOptions['setAsInitialUserProperties'] === 'true' ? 'true' : 'false', + parameters: testParameterBase, + }) + const testData = JSON.stringify(['1', '2']) + + let testParameter = testParameterBase + + if (testOptions['prefix'].length > 0) { + testParameter = `${testOptions['prefix']}${testParameter}` + } + + if (testOptions['suffix'].length > 0) { + testParameter = `${testParameter}${testOptions['suffix']}` + } + + const eventParameter = + testOptions['ignoreCase'] === 'true' ? testParameterBase.toUpperCase() : testParameterBase + const sourceEvent = buildPageViewEvent( + `https://posthog.com/test?plugin=1&${eventParameter}=1&${eventParameter}=2` + ) + + if (sourceEvent.properties) { + expect(sourceEvent.properties[testParameter]).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const addlPropsCount = + 1 + + (testOptions['setAsUserProperties'] === 'true' ? 1 : 0) + + (testOptions['setAsInitialUserProperties'] === 'true' ? 1 : 0) + const processedEvent = processEvent(sourceEvent, testMockMeta) + + if (processedEvent.properties) { + // the setAs options are additive + + if (testOptions['setAsUserProperties'] === 'true') { + expect(Object.keys(processedEvent.properties.$set)).toBeDefined() + expect(Object.keys(processedEvent.properties.$set).length).toEqual(1) + expect(processedEvent.properties.$set[testParameter]).toBeDefined() + expect(processedEvent.properties.$set[testParameter]).toEqual(testData) + } + + if (testOptions['setAsInitialUserProperties'] === 'true') { + expect(Object.keys(processedEvent.properties.$set_once)).toBeDefined() + expect(Object.keys(processedEvent.properties.$set_once).length).toEqual(1) + expect(processedEvent.properties.$set_once[`initial_${testParameter}`]).toBeDefined() + expect(processedEvent.properties.$set_once[`initial_${testParameter}`]).toEqual(testData) + } + + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual( + sourcePropertiesCount + addlPropsCount + ) + expect(processedEvent.properties[testParameter]).toBeDefined() + expect(processedEvent.properties[testParameter]).toEqual(testData) + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + }) + }) + + it('should add 1 property stored as JSON when alwaysJson = true', () => { + const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') + + if (sourceEvent.properties) { + expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() + + const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length + const processedEvent = processEvent(sourceEvent, buildMockMeta({ alwaysJson: 'true' })) + + if (processedEvent.properties) { + expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) + expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) + expect(processedEvent.properties['myUrlParameter']).toBeDefined() + expect(processedEvent.properties.myUrlParameter).toEqual(JSON.stringify(['1'])) + } else { + expect(processedEvent.properties).toBeDefined() + } + } else { + expect(sourceEvent.properties).toBeDefined() + } + }) + +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts new file mode 100644 index 0000000000000..73eb562074edf --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts @@ -0,0 +1,83 @@ +import { Plugin, PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' +import { URLSearchParams } from 'url' + +export type PluginConfig = { + ignoreCase: 'true' | 'false' + prefix: string + setAsInitialUserProperties: 'true' | 'false' + setAsUserProperties: 'true' | 'false' + suffix: string + parameters: string + alwaysJson: 'true' | 'false' +} + +export type ParamsToPropertiesPlugin = Plugin<{ + global: { + ignoreCase: boolean + setAsInitialUserProperties: boolean + setAsUserProperties: boolean + alwaysJson: boolean + parameters: Set + } + config: PluginConfig +}> + +function convertSearchParams(params: URLSearchParams): URLSearchParams { + return new URLSearchParams([...params].map(([key, value]) => [key.toLowerCase(), value]) as [string, string][]) +} + +export const setupPlugin = (meta: PluginMeta): void => { + const { global, config } = meta + + global.ignoreCase = config.ignoreCase === 'true' + global.setAsInitialUserProperties = config.setAsInitialUserProperties === 'true' + global.setAsUserProperties = config.setAsUserProperties === 'true' + global.alwaysJson = config.alwaysJson === 'true' + global.parameters = new Set( + config.parameters ? config.parameters.split(',').map((parameter) => parameter.trim()) : null + ) +} + +export const processEvent = (event: PluginEvent, meta: PluginMeta): PluginEvent => { + if (event.properties?.$current_url) { + const url = new URL(event.properties.$current_url) + const params = meta.global.ignoreCase + ? convertSearchParams(new URLSearchParams(url.searchParams)) + : new URLSearchParams(url.searchParams) + + for (const name of meta.global.parameters) { + let value: string | Array = '' + + if (meta.global.ignoreCase) { + for (const key of params.keys()) { + if (key.toLowerCase() === name.toLowerCase()) { + value = params.getAll(key) + } + } + } else { + value = params.getAll(name) + } + + if (value.length > 0) { + const key = `${meta.config.prefix}${name}${meta.config.suffix}` + + // if we've only got one, then just store the first string as a string + // unless we want them all JSON-ified + const storeValue = value.length === 1 && !meta.global.alwaysJson ? value[0] : JSON.stringify(value) + + event.properties[key] = storeValue + if (meta.global.setAsUserProperties) { + event.properties.$set = event.properties.$set || {} + event.properties.$set[key] = storeValue + } + + if (meta.global.setAsInitialUserProperties) { + event.properties.$set_once = event.properties.$set_once || {} + event.properties.$set_once[`initial_${key}`] = storeValue + } + } + } + } + + return event +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js new file mode 100644 index 0000000000000..06d73c640b44a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..18d853a69d860e5f9a8de32af476bcc66889473a GIT binary patch literal 360574 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 CN~(g5Fe_IY?J3sR1wQ~OGC&*p!oqA-(h`i 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⩔?R|B}0#OG0bJ?ZxMk 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 I@j-ci(J#8bwgGapOlg8L(&(DmL0m+W&s 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 RjtT$(002ovPDHLkV1kWCL8kx! literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json new file mode 100644 index 0000000000000..af205115308e4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json @@ -0,0 +1,47 @@ +{ + "name": "posthog-app-url-parameters-to-event-properties", + "displayName": "URL parameters to event properties", + "version": "0.0.1", + "private": false, + "description": "Converts URL query parameters to event properties", + "keywords": [ + "posthog", + "plugin", + "url", + "parameter" + ], + "author": "Benjamin Werker ", + "license": "MIT", + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc" + }, + "devDependencies": { + "@posthog/plugin-scaffold": "^0.12.10", + "@types/jest": "^29.0.4", + "@typescript-eslint/eslint-plugin": "^5.53.0", + "@typescript-eslint/parser": "^5.53.0", + "eslint": "^8.34.0", + "eslint-config-prettier": "^8.6.0", + "husky": "^8.0.3", + "jest": "^29.4.3", + "lint-staged": "^13.1.2", + "prettier": "^2.8.4", + "ts-jest": "^29.0.5", + "typescript": "^4.9.5" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit" + } + }, + "lint-staged": { + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write", + "*.{ts,tsx}": "tsc --noEmit" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json new file mode 100644 index 0000000000000..6e84ab12d58a4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json @@ -0,0 +1,61 @@ +{ + "name": "URL parameters to event properties", + "url": "https://github.com/PostHog/posthog-app-url-parameters-to-event-properties", + "description": "Converts URL query parameters to event properties", + "main": "index.ts", + "config": [ + { + "key": "parameters", + "name": "URL query parameters to convert", + "type": "string", + "default": "", + "hint": "Comma separated list of URL query parameters to capture. Leaving this blank will capture nothing." + }, + { + "key": "prefix", + "name": "Prefix", + "type": "string", + "default": "", + "hint": "Add a prefix to the property name e.g. set it to 'prefix_' to get followerId -> prefix_followerId" + }, + { + "key": "suffix", + "name": "Suffix", + "type": "string", + "default": "", + "hint": "Add a suffix to the property name e.g. set it to '_suffix' to get followerId -> followerId_suffix" + }, + { + "key": "ignoreCase", + "name": "Ignore the case of URL parameters", + "type": "choice", + "choices": ["true", "false"], + "default": "false", + "hint": "Ignores the case of parameters e.g. when set to true than followerId would match FollowerId, followerID, FoLlOwErId and similar" + }, + { + "key": "setAsUserProperties", + "name": "Add to user properties", + "type": "choice", + "choices": ["true", "false"], + "default": "false", + "hint": "Additionally adds the property to the user properties" + }, + { + "key": "setAsInitialUserProperties", + "name": "Add to user initial properties", + "type": "choice", + "choices": ["true", "false"], + "default": "false", + "hint": "Additionally adds the property to the user initial properties. This will add a prefix of 'initial_' before the already fully composed property e.g. initial_prefix_followerId_suffix" + }, + { + "key": "alwaysJson", + "name": "Always JSON stringify the property data", + "type": "choice", + "choices": ["true", "false"], + "default": "false", + "hint": "If set, always store the resulting data as a JSON array. (Otherwise, single parameters get stored as-is, and multi-value parameters get stored as a JSON array.)" + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json new file mode 100644 index 0000000000000..5d90033b66a1b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "CommonJS", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "resolveJsonModule": true + }, + "exclude": ["node_modules", "*.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock new file mode 100644 index 0000000000000..8a3dfa8091631 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock @@ -0,0 +1,3099 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.20.5": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" + integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" + integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.0" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.21.0" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" + integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== + dependencies: + "@babel/types" "^7.21.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.21.0": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" + +"@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.19.0", "@babel/helper-plugin-utils@^7.8.0": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + +"@babel/helpers@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" + integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" + integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== + +"@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.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-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.7.2": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@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.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-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.7.2": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/template@^7.20.7", "@babel/template@^7.3.3": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" + integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.1" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.2" + "@babel/types" "^7.21.2" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" + integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + 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== + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.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" + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.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@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@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.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.3.tgz#1f25a99f7f860e4c46423b5b1038262466fadde1" + integrity sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A== + dependencies: + "@jest/types" "^29.4.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + slash "^3.0.0" + +"@jest/core@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.3.tgz#829dd65bffdb490de5b0f69e97de8e3b5eadd94b" + integrity sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ== + dependencies: + "@jest/console" "^29.4.3" + "@jest/reporters" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.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.4.3" + jest-config "^29.4.3" + jest-haste-map "^29.4.3" + jest-message-util "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-resolve-dependencies "^29.4.3" + jest-runner "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" + jest-watcher "^29.4.3" + micromatch "^4.0.4" + pretty-format "^29.4.3" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.3.tgz#9fe2f3169c3b33815dc4bd3960a064a83eba6548" + integrity sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA== + dependencies: + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/node" "*" + jest-mock "^29.4.3" + +"@jest/expect-utils@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.3.tgz#95ce4df62952f071bcd618225ac7c47eaa81431e" + integrity sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ== + dependencies: + jest-get-type "^29.4.3" + +"@jest/expect@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.3.tgz#d31a28492e45a6bcd0f204a81f783fe717045c6e" + integrity sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ== + dependencies: + expect "^29.4.3" + jest-snapshot "^29.4.3" + +"@jest/fake-timers@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.3.tgz#31e982638c60fa657d310d4b9d24e023064027b0" + integrity sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw== + dependencies: + "@jest/types" "^29.4.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-util "^29.4.3" + +"@jest/globals@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.3.tgz#63a2c4200d11bc6d46f12bbe25b07f771fce9279" + integrity sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/types" "^29.4.3" + jest-mock "^29.4.3" + +"@jest/reporters@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.3.tgz#0a68a0c0f20554760cc2e5443177a0018969e353" + integrity sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" + "@jridgewell/trace-mapping" "^0.3.15" + "@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 "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== + dependencies: + "@sinclair/typebox" "^0.25.16" + +"@jest/source-map@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.15" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.3.tgz#e13d973d16c8c7cc0c597082d5f3b9e7f796ccb8" + integrity sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA== + dependencies: + "@jest/console" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.3.tgz#0862e876a22993385a0f3e7ea1cc126f208a2898" + integrity sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw== + dependencies: + "@jest/test-result" "^29.4.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.4.3" + slash "^3.0.0" + +"@jest/transform@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.3.tgz#f7d17eac9cb5bb2e1222ea199c7c7e0835e0c037" + integrity sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.4.3" + "@jridgewell/trace-mapping" "^0.3.15" + 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.4.3" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" + integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== + dependencies: + "@jest/schemas" "^29.4.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" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@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/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@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" + +"@posthog/plugin-scaffold@^0.12.10": + version "0.12.10" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" + integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== + +"@sinclair/typebox@^0.25.16": + version "0.25.24" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== + +"@sinonjs/commons@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" + integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" + integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== + dependencies: + "@sinonjs/commons" "^2.0.0" + +"@types/babel__core@^7.1.14": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" + integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== + 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.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.18.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.3": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" + integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.0.4": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.4.0.tgz#a8444ad1704493e84dbf07bb05990b275b3b9206" + integrity sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/node@*": + version "18.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" + integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== + +"@types/prettier@^2.1.5": + version "2.7.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== + +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^17.0.8": + version "17.0.22" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" + integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz#24b8b4a952f3c615fe070e3c461dd852b5056734" + integrity sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw== + dependencies: + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/type-utils" "5.53.0" + "@typescript-eslint/utils" "5.53.0" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" + integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== + dependencies: + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/typescript-estree" "5.53.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" + integrity sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w== + dependencies: + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/visitor-keys" "5.53.0" + +"@typescript-eslint/type-utils@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz#41665449935ba9b4e6a1ba6e2a3f4b2c31d6cf97" + integrity sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw== + dependencies: + "@typescript-eslint/typescript-estree" "5.53.0" + "@typescript-eslint/utils" "5.53.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" + integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== + +"@typescript-eslint/typescript-estree@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" + integrity sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w== + dependencies: + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/visitor-keys" "5.53.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.53.0.tgz#e55eaad9d6fffa120575ffaa530c7e802f13bce8" + integrity sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/typescript-estree" "5.53.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f" + integrity sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w== + dependencies: + "@typescript-eslint/types" "5.53.0" + eslint-visitor-keys "^3.3.0" + +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@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +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@^6.10.0, ajv@^6.12.4: + 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" + +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-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@^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: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@^3.0.3: + 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" + +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== + +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== + +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== + +babel-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.3.tgz#478b84d430972b277ad67dd631be94abea676792" + integrity sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw== + dependencies: + "@jest/transform" "^29.4.3" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.4.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.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.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.3.tgz#ad1dfb5d31940957e00410ef7d9b2aa94b216101" + integrity sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +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.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.3.tgz#bb926b66ae253b69c6e3ef87511b8bb5c53c5b52" + integrity sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw== + dependencies: + babel-plugin-jest-hoist "^29.4.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== + +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" + +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" + +browserslist@^4.21.3: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +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" + +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== + +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@^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: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001449: + version "1.0.30001457" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301" + integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA== + +chalk@^2.0.0: + 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: + 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== + +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +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: + 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-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@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.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" + +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.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +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== + +colorette@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +commander@^9.4.1: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + +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== + +convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +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== + +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" + +debug@^4.1.0, debug@^4.1.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" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +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.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== + +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== + +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== + +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" + +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" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.4.284: + version "1.4.311" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.311.tgz#953bc9a4767f5ce8ec125f9a1ad8e00e8f67e479" + integrity sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw== + +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== + +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" + +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-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== + +eslint-config-prettier@^8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" + integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== + +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.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== + dependencies: + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + 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.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + 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" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + 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.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esprima@^4.0.0: + 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: + version "1.4.2" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" + integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== + 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: + 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== + +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" + +execa@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" + integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^3.0.1" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.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.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.3.tgz#5e47757316df744fe3b8926c3ae8a3ebdafff7fe" + integrity sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg== + dependencies: + "@jest/expect-utils" "^29.4.3" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + +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-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + 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== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +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" + +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" + +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" + +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" + +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@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +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: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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.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-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-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +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.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@^7.1.3, glob@^7.1.4: + 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" + +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.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +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" + +graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +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@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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== + +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@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" + integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== + +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== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +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-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +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-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-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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + 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-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.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-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== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.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.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.3.tgz#7961fe32536b9b6d5c28dfa0abcfab31abcf50a7" + integrity sha512-Vn5cLuWuwmi2GNNbokPOEcvrXGSGrqVnPEZV7rC6P7ck07Dyw9RFnvWglnupSh+hGys0ajGtw/bc2ZgweljQoQ== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.3.tgz#fff7be1cf5f06224dd36a857d52a9efeb005ba04" + integrity sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" + p-limit "^3.1.0" + pretty-format "^29.4.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.3.tgz#fe31fdd0c90c765f392b8b7c97e4845071cd2163" + integrity sha512-PiiAPuFNfWWolCE6t3ZrDXQc6OsAuM3/tVW0u27UWc1KE+n/HSn5dSE6B2juqN7WP+PP0jAcnKtGmI4u8GMYCg== + dependencies: + "@jest/core" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.3.tgz#fca9cdfe6298ae6d04beef1624064d455347c978" + integrity sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.4.3" + "@jest/types" "^29.4.3" + babel-jest "^29.4.3" + 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.4.3" + jest-environment-node "^29.4.3" + jest-get-type "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runner "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.4.3" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.3.tgz#42f4eb34d0bf8c0fb08b0501069b87e8e84df347" + integrity sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" + +jest-docblock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.3.tgz#a434c199a2f6151c5e3dc80b2d54586bdaa72819" + integrity sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q== + dependencies: + "@jest/types" "^29.4.3" + chalk "^4.0.0" + jest-get-type "^29.4.3" + jest-util "^29.4.3" + pretty-format "^29.4.3" + +jest-environment-node@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.3.tgz#579c4132af478befc1889ddc43c2413a9cdbe014" + integrity sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/node" "*" + jest-mock "^29.4.3" + jest-util "^29.4.3" + +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== + +jest-haste-map@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.3.tgz#085a44283269e7ace0645c63a57af0d2af6942e2" + integrity sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ== + dependencies: + "@jest/types" "^29.4.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.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.3.tgz#2b35191d6b35aa0256e63a9b79b0f949249cf23a" + integrity sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA== + dependencies: + jest-get-type "^29.4.3" + pretty-format "^29.4.3" + +jest-matcher-utils@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz#ea68ebc0568aebea4c4213b99f169ff786df96a0" + integrity sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg== + dependencies: + chalk "^4.0.0" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" + +jest-message-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.3.tgz#65b5280c0fdc9419503b49d4f48d4999d481cb5b" + integrity sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.4.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.4.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.3.tgz#23d84a20a74cdfff0510fdbeefb841ed57b0fe7e" + integrity sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg== + dependencies: + "@jest/types" "^29.4.3" + "@types/node" "*" + jest-util "^29.4.3" + +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.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== + +jest-resolve-dependencies@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.3.tgz#9ad7f23839a6d88cef91416bda9393a6e9fd1da5" + integrity sha512-uvKMZAQ3nmXLH7O8WAOhS5l0iWyT3WmnJBdmIHiV5tBbdaDZ1wqtNX04FONGoaFvSOSHBJxnwAVnSn1WHdGVaw== + dependencies: + jest-regex-util "^29.4.3" + jest-snapshot "^29.4.3" + +jest-resolve@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.3.tgz#3c5b5c984fa8a763edf9b3639700e1c7900538e2" + integrity sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.4.3" + jest-pnp-resolver "^1.2.2" + jest-util "^29.4.3" + jest-validate "^29.4.3" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.3.tgz#68dc82c68645eda12bea42b5beece6527d7c1e5e" + integrity sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA== + dependencies: + "@jest/console" "^29.4.3" + "@jest/environment" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.4.3" + jest-environment-node "^29.4.3" + jest-haste-map "^29.4.3" + jest-leak-detector "^29.4.3" + jest-message-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runtime "^29.4.3" + jest-util "^29.4.3" + jest-watcher "^29.4.3" + jest-worker "^29.4.3" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.3.tgz#f25db9874dcf35a3ab27fdaabca426666cc745bf" + integrity sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/globals" "^29.4.3" + "@jest/source-map" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.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.4.3" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.3.tgz#183d309371450d9c4a3de7567ed2151eb0e91145" + integrity sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw== + 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/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.4.3" + graceful-fs "^4.2.9" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + jest-haste-map "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + natural-compare "^1.4.0" + pretty-format "^29.4.3" + semver "^7.3.5" + +jest-util@^29.0.0, jest-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" + integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== + dependencies: + "@jest/types" "^29.4.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.3.tgz#a13849dec4f9e95446a7080ad5758f58fa88642f" + integrity sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw== + dependencies: + "@jest/types" "^29.4.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.4.3" + leven "^3.1.0" + pretty-format "^29.4.3" + +jest-watcher@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.3.tgz#e503baa774f0c2f8f3c8db98a22ebf885f19c384" + integrity sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA== + dependencies: + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.4.3" + string-length "^4.0.1" + +jest-worker@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" + integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== + dependencies: + "@types/node" "*" + jest-util "^29.4.3" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.3.tgz#1b8be541666c6feb99990fd98adac4737e6e6386" + integrity sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA== + dependencies: + "@jest/core" "^29.4.3" + "@jest/types" "^29.4.3" + import-local "^3.0.2" + jest-cli "^29.4.3" + +js-sdsl@^4.1.4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + +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@^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" + +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" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + 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-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== + +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== + +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== + +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" + +lilconfig@2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + +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== + +lint-staged@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.2.tgz#443636a0cfd834d5518d57d228130dc04c83d6fb" + integrity sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w== + dependencies: + cli-truncate "^3.1.0" + colorette "^2.0.19" + commander "^9.4.1" + debug "^4.3.4" + execa "^6.1.0" + lilconfig "2.0.6" + listr2 "^5.0.5" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-inspect "^1.12.2" + pidtree "^0.6.0" + string-argv "^0.3.1" + yaml "^2.1.3" + +listr2@^5.0.5: + version "5.0.7" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.7.tgz#de69ccc4caf6bea7da03c74f7a2ffecf3904bd53" + integrity sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.19" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.8.0" + through "^2.3.8" + wrap-ansi "^7.0.0" + +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" + +lodash.memoize@4.x: + 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== + +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" + +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" + +make-dir@^3.0.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-error@1.x: + 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" + +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== + +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" + +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== + +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" + +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== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +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== + +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-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +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== + +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.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + +object-inspect@^1.12.2: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +once@^1.3.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" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +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-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-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-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.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" + +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-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@^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-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== + +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.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== + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +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" + +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@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== + +pretty-format@^29.0.0, pretty-format@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" + integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== + dependencies: + "@jest/schemas" "^29.4.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +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" + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +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== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +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== + +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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" + integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== + +resolve@^1.20.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.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" + +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== + +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" + +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" + +rxjs@^7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + dependencies: + tslib "^2.1.0" + +semver@7.x, semver@^7.3.5, semver@^7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.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== + +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@^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== + +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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +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@^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== + +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" + +string-argv@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^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@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +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.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + +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-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-json-comments@^3.1.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== + +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== + +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== + +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== + +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" + +ts-jest@^29.0.5: + version "29.0.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.5.tgz#c5557dcec8fe434fcb8b70c3e21c6b143bfce066" + integrity sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA== + 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.x" + yargs-parser "^21.0.1" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +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== + +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + 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" + +v8-to-istanbul@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" + integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.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" + +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" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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" + +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@^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.1.3: + version "2.2.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== + +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@^17.3.1: + version "17.7.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" + integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== + 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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore new file mode 100644 index 0000000000000..f3c998024874a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore @@ -0,0 +1,5 @@ +node_modules +yarn-error.log +dist +.yalc +yalc.lock diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE new file mode 100644 index 0000000000000..b6ce7c378fd26 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 PostHog Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md new file mode 100644 index 0000000000000..0dd4a373768ef --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md @@ -0,0 +1,24 @@ +![Avo logo](logo.png) + +# Avo Inspector Plugin + +Send events to the [Avo Inspector](https://www.avo.app/docs/workspace/inspector#Overview) to detect inconsistencies. + +## About Avo Inspector + +_Excerpt from the [Avo docs](https://www.avo.app/docs/workspace/inspector#Overview)._ + +> The first step to better analytics governance is knowing what's wrong with your data today. +> +> We built the Inspector to help you understand how your current tracking is performing. The Inspector both identifies common issues in your existing tracking, such as inconsistent properties and types, and provides implementation status in the Avo Tracking Plan, so you always know the state of your tracking implementation in your app. + +## Questions? + +### [Join the PostHog community.](https://posthog.com/questions) + +## Debugging tips + +1. use `dev` env when testing as prod could show up hours later +2. `messageId` needs to unique based on testing to send curls (potentially used for deduping within Avo) +3. There's user and pass for an account in 1Password +4. Within the Avo click on Events under Inspector [link](https://www.avo.app/schemas/QtBfxYTrDv36SU3dsre0/inspector/events?order=Ascending&orderBy=EventName&shareId=tVkfNWEt5e) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts new file mode 100644 index 0000000000000..5dfd2038bd0c2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts @@ -0,0 +1,125 @@ +import { randomUUID } from 'crypto' +import { Plugin } from '@posthog/plugin-scaffold' + +interface AvoInspectorMeta { + global: { + defaultHeaders: Record, + excludeEvents: Set, + includeEvents: Set, + excludeProperties: Set, + includeProperties: Set, + } + config: { + appName: string + avoApiKey: string + environment: string + excludeEvents: string + includeEvents: string + excludeProperties: string + includeProperties: string + } +} +type AvoInspectorPlugin = Plugin + +export const setupPlugin: AvoInspectorPlugin['setupPlugin'] = async ({ config, global }) => { + global.defaultHeaders = { + env: config.environment, + 'api-key': config.avoApiKey, + 'content-type': 'application/json', + accept: 'application/json', + } + + global.excludeEvents = new Set( + config.excludeEvents ? config.excludeEvents.split(',').map((event) => event.trim()) : null + ) + global.includeEvents = new Set( + config.includeEvents ? config.includeEvents.split(',').map((event) => event.trim()) : null + ) + global.excludeProperties = new Set( + config.excludeProperties ? config.excludeProperties.split(',').map((event) => event.trim()) : null + ) + global.includeProperties = new Set( + config.includeProperties ? config.includeProperties.split(',').map((event) => event.trim()) : null + ) +} + +export const composeWebhook: AvoInspectorPlugin['onEvent'] = (event, { config, global }) => { + const isIncluded = global.includeEvents.length > 0 ? global.includeEvents.has(event.event) : true + const isExcluded = global.excludeEvents.has(event.event) + + if (event.event.startsWith("$") || (isExcluded || !isIncluded)) { + return + } + + const sessionId = randomUUID() + const now = new Date().toISOString() + + const avoEvent = { + apiKey: config.avoApiKey, + env: config.environment, + appName: config.appName, + sessionId: sessionId, + createdAt: now, + avoFunction: false, + eventId: null, + eventHash: null, + appVersion: '1.0.0', + libVersion: '1.0.0', + libPlatform: 'node', + trackingId: '', + samplingRate: 1, + type: 'event', + eventName: event.event, + messageId: event.uuid, + eventProperties: event.properties ? convertPosthogPropsToAvoProps(event.properties, global.excludeProperties, global.includeProperties) : [], + } + + return { + url: 'https://api.avo.app/inspector/posthog/v1/track', + headers: global.defaultHeaders, + body: JSON.stringify([avoEvent]), + method: 'POST', + } +} + +const convertPosthogPropsToAvoProps = (properties: Record, excludeProperties: Set, includeProperties: Set): Record[] => { + const avoProps = [] + + for (const [propertyName, propertyValue] of Object.entries(properties)) { + const isIncluded = includeProperties.size > 0 ? includeProperties.has(propertyName) : true + const isExcluded = excludeProperties.has(propertyName) + + if (propertyName.startsWith("$") || (isExcluded || !isIncluded)) { + continue; + } + + avoProps.push({ propertyName, propertyType: getPropValueType(propertyValue) }); + } + return avoProps +} + +// Compatible with the Avo Rudderstack integration +const getPropValueType = (propValue: any): string => { + let propType = typeof propValue + if (propValue == null) { + return 'null' + } else if (propType === 'string') { + return 'string' + } else if (propType === 'number' || propType === 'bigint') { + if ((propValue + '').indexOf('.') >= 0) { + return 'float' + } else { + return 'int' + } + } else if (propType === 'boolean') { + return 'boolean' + } else if (propType === 'object') { + if (Array.isArray(propValue)) { + return 'list' + } else { + return 'object' + } + } else { + return propType + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-avo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..62409d28bd67a7da67d9ec3b8b9af99fd86c8d05 GIT binary patch literal 15862 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 E06X+co&W#< literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json new file mode 100644 index 0000000000000..75adbcfa82294 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json @@ -0,0 +1,17 @@ +{ + "name": "posthog-avo-plugin", + "private": true, + "version": "1.0.0", + "description": "Export PostHog events to Avo inspector.", + "devDependencies": { + "@posthog/plugin-contrib": "^0.0.3", + "@posthog/plugin-scaffold": "^0.12.10", + "@types/generic-pool": "^3.1.9", + "aws-sdk": "^2.885.0", + "generic-pool": "^3.7.8", + "@types/node": "^17.0.24", + "@types/node-fetch": "^2.6.1", + "node-fetch": "^3.2.3" + }, + "dependencies": {} +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-avo/plugin.json new file mode 100644 index 0000000000000..42cebddde8423 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/plugin.json @@ -0,0 +1,65 @@ +{ + "name": "Avo Inspector Plugin", + "url": "https://github.com/posthog/posthog-avo-plugin", + "description": "Export PostHog events to Avo inspector.", + "main": "index.ts", + "posthogVersion": ">= 1.24.0", + "config": [ + { + "key": "avoApiKey", + "hint": "", + "name": "Avo API Key", + "type": "string", + "default": "", + "required": true + }, + { + "key": "environment", + "hint": "", + "name": "Environment", + "type": "string", + "default": "dev", + "required": false + }, + { + "key": "appName", + "hint": "", + "name": "App name", + "type": "string", + "default": "PostHog", + "required": false + }, + { + "key": "excludeEvents", + "hint": "Comma-separated list of events that will not be sent to Avo.", + "name": "Events to exclude", + "type": "string", + "default": "", + "required": false + }, + { + "key": "includeEvents", + "hint": "Comma separated list of events to send to Avo (will send all if left empty).", + "name": "Events to include", + "type": "string", + "default": "", + "required": false + }, + { + "key": "excludeProperties", + "hint": "Comma-separated list of event properties that will not be sent to Avo.", + "name": "Properties to exclude", + "type": "string", + "default": "", + "required": false + }, + { + "key": "includeProperties", + "hint": "Comma separated list of event properties to send to Avo (will send all if left empty).", + "name": "Properties to include", + "type": "string", + "default": "", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json new file mode 100644 index 0000000000000..8c2108edaf372 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ES2019"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock new file mode 100644 index 0000000000000..0a9889569dc9c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock @@ -0,0 +1,220 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@posthog/plugin-contrib@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@posthog/plugin-contrib/-/plugin-contrib-0.0.3.tgz#d0772c6dd9ec9944ebee9dc475e1e781256b0b5f" + integrity sha512-0HrE8AuPv3OLZA93RrJDbljn9u5D/wmiIkBCeckU3LL67LNozDIJgKsY4Td91zgc+b4Rlx/X0MJNp2l6BHbQqg== + +"@posthog/plugin-scaffold@^0.12.10": + version "0.12.10" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" + integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== + +"@types/generic-pool@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@types/generic-pool/-/generic-pool-3.1.9.tgz#cc82ee0d92561fce713f8f9a7b2380eda8a89dcb" + integrity sha512-IkXMs8fhV6+E4J8EWv8iL7mLvApcLLQUH4m1Rex3KCPRqT+Xya0DDHIeGAokk/6VXe9zg8oTWyr+FGyeuimEYQ== + dependencies: + "@types/node" "*" + +"@types/node-fetch@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" + integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*": + 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@^17.0.24": + version "17.0.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.24.tgz#20ba1bf69c1b4ab405c7a01e950c4f446b05029f" + integrity sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sdk@^2.885.0: + version "2.885.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.885.0.tgz#f8d8d7e2d31d517c3cea90dc2dbbfb9b6332eb98" + integrity sha512-V7fS53HkLYap+mt00frWB516HZV34C5pHNhBs/Het3Vgl7A0GbCpJs07G4FOIT9ioJ38+k9McscOzXG++1rWMQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^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" + +data-uri-to-buffer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" + integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.5.tgz#0077bf5f3fcdbd9d75a0b5362f77dbb743489863" + integrity sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + +generic-pool@^3.7.8: + version "3.7.8" + resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.7.8.tgz#202087bf5ec5e0b3bae39842a0ef98bcd4c1e450" + integrity sha512-Pz93INFSbhjEROVbM91rurD05G+Kx8833rG+lVU57mznEBpzkc1f5/g+d511a1Yf8dbAEsm7DDA3QLytMFbiGA== + +ieee754@1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +jmespath@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= + +mime-db@1.52.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: + 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" + +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.3.tgz#a03c9cc2044d21d1a021566bd52f080f333719a6" + integrity sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js new file mode 100644 index 0000000000000..7014226ee89d6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'simple-import-sort'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml new file mode 100644 index 0000000000000..7b7f69b1efaf4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml @@ -0,0 +1,23 @@ +name: CI + +on: + pull_request: + push: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v3 + - name: Set up node + uses: actions/setup-node@v1 + with: + node-version: '16' + - name: Install dependencies + run: yarn install + - name: Typecheck + run: yarn typecheck + - name: Run tests + run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore new file mode 100644 index 0000000000000..e82eb841636eb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore @@ -0,0 +1,19 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +node_modules/ +.npm + +# Editors +.vscode +.idea + +# Yalc +.yalc +yalc* + +# macOS +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md new file mode 100644 index 0000000000000..217bd0ba28b74 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md @@ -0,0 +1,90 @@ +# PostHog Braze Plugin + +[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) + +This plugins sends [Braze](https://braze.com) analytics data series to Posthog. + +The data series will be imported once a day, for a time window corrisponding to 00:00AM UTC to 12:00PM UTC of the previous day. + +Campaigns, Canvases, News Card Feeds and Segments will only be tracked if any activity was recorded in the last 24 hours time window. + +## API Key Permissions + +Depending on what kind of analytics you want to export from Braze to Posthog, you need to give your API Key the correct permissions. + +You can read more about Braze REST Api Key permissions [here](https://www.braze.com/docs/api/api_key/#how-can-i-use-it) + +Campaigns: + +``` +campaigns.list +campaign.data_series +campaigns.details +``` + +Canvas: + +``` +canvas.list +canvas.data_series +canvas.details +``` + +Custom Events: + +``` +events.list +events.data_series +``` + +KPIs: + +``` +kpi.mau.data_series +kpi.dau.data_series +kpi.new_users.data_series +kpi.uninstalls.data_series +``` + +News Feed Cards: + +``` +feed.list +feed.data_series +feed.details +``` + +Segments: + +``` +segments.list +segments.data_series +segments.details +``` + +Sessions: + +``` +sessions.data_series +``` + +## Plugin Parameters: + +- `Braze REST Endpoint` (required): The REST endpoint where your Braze instance is located, [see the docs here](https://www.braze.com/docs/api/basics) +- `API Key` (required): Your Braze API Key, [see the docs here](https://www.braze.com/docs/api/api_key/) +- `Import Campaigns` (required): Toggle [Campaign](https://www.braze.com/docs/user_guide/engagement_tools/campaigns) analytics imports +- `Import Custom Events` (required): Toggle [Custom Events](https://www.braze.com/docs/user_guide/data_and_analytics/custom_data) analytics imports +- `Import Canvas` (required): Toggle [Canvas](https://www.braze.com/docs/user_guide/engagement_tools/canvas) analytics imports +- `Import News Feed Cards` (required): Toggle [News Feed](https://www.braze.com/docs/user_guide/engagement_tools/news_feed) analytics imports +- `Import KPIs` (required): Toggle KPI imports (Daily New Users, DAU, MAU, Daily Uninstalls) +- `Import Segments` (required): Toggle [Segment](https://www.braze.com/docs/user_guide/engagement_tools/segments) analytics import +- `Import Sessions` (required): Toggle Sessions analytics import + +## Installation + +- Visit 'Project Plugins' under 'Settings' +- Enable plugins if you haven't already done so +- Click the 'Repository' tab next to 'Installed' +- Click 'Install' on this plugin +- Fill in required parameters (see above) +- Enable the plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/babel.config.js new file mode 100644 index 0000000000000..3e375eadd0fff --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/babel.config.js @@ -0,0 +1,12 @@ +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + ], +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts new file mode 100644 index 0000000000000..70644bf1192bd --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -0,0 +1,211 @@ +import { Plugin, PluginEvent, PluginMeta, Properties, RetryError } from '@posthog/plugin-scaffold' +import crypto from 'crypto' +import fetch, { RequestInit, Response } from 'node-fetch' + +export type FetchBraze = ( + endpoint: string, + options: Partial, + method: string, + requestId?: string +) => Promise | null> + +type BrazePlugin = Plugin<{ + global: { + fetchBraze: FetchBraze + } + config: { + brazeEndpoint: 'US-01' | 'US-02' | 'US-03' | 'US-04' | 'US-05' | 'US-06' | 'US-08' | 'EU-01' | 'EU-02' + apiKey: string + eventsToExport: string + userPropertiesToExport: string + eventsToExportUserPropertiesFrom: string + } +}> + +// NOTE: type is exported for tests +export type BrazeMeta = PluginMeta + +const ENDPOINTS_MAP = { + 'US-01': 'https://rest.iad-01.braze.com', + 'US-02': 'https://rest.iad-02.braze.com', + 'US-03': 'https://rest.iad-03.braze.com', + 'US-04': 'https://rest.iad-04.braze.com', + 'US-05': 'https://rest.iad-05.braze.com', + 'US-06': 'https://rest.iad-06.braze.com', + 'US-08': 'https://rest.iad-08.braze.com', + 'EU-01': 'https://rest.fra-01.braze.eu', + 'EU-02': 'https://rest.fra-02.braze.eu', +} + +export async function setupPlugin({ config, global }: BrazeMeta): Promise { + const brazeUrl = ENDPOINTS_MAP[config.brazeEndpoint] + // we define a global fetch function that handles authentication and API errors + global.fetchBraze = async (endpoint, options = {}, method = 'GET', requestId = '') => { + const headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${config.apiKey}`, + } + + let response: Response | undefined + + const startTime = Date.now() + + try { + response = await fetch(`${brazeUrl}${endpoint}`, { + method, + headers, + ...options, + timeout: 5000, + }) + } catch (e) { + console.error(e, endpoint, options.body, requestId) + throw new RetryError('Fetch failed, retrying.') + } finally { + const elapsedTime = (Date.now() - startTime) / 1000 + if (elapsedTime >= 5) { + console.warn( + `🐢 Slow request warning. Fetch took ${elapsedTime} seconds. Request ID: ${requestId}`, + endpoint + ) + } + } + + if (String(response.status)[0] === '5') { + throw new RetryError(`Service is down, retry later. Request ID: ${requestId}`) + } + + let responseJson: Record | null = null + + try { + responseJson = await response.json() + } catch (e) { + console.error('Error parsing Braze response as JSON: ', e, endpoint, options.body, requestId) + } + + if (responseJson?.['errors']) { + console.error('Braze API error (not retried): ', responseJson, endpoint, options.body, requestId) + } + return responseJson + } +} + +export function ISODateString(d: Date): string { + function pad(n: number) { + return n < 10 ? '0' + n : n + } + return ( + d.getUTCFullYear() + + '-' + + pad(d.getUTCMonth() + 1) + + '-' + + pad(d.getUTCDate()) + + 'T' + + pad(d.getUTCHours()) + + ':' + + pad(d.getUTCMinutes()) + + ':' + + pad(d.getUTCSeconds()) + + '.' + + pad(d.getUTCMilliseconds()) + + 'Z' + ) +} + +function getLastUTCMidnight() { + const now = new Date() + return new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0) +} + +type BrazeUserAlias = { alias_name: string; alias_label: string } + +type BrazeAttribute = { + external_id?: string + user_alias?: BrazeUserAlias + braze_id?: string + _update_existing_only?: boolean + push_token_import?: boolean +} & Record + +// NOTE: Reference: https://www.braze.com/docs/api/objects_filters/event_object/ +type BrazeEvent = { + external_id?: string + user_alias?: BrazeUserAlias + braze_id?: string + app_id?: string + name: string + time: string // ISO 8601 timestamp + properties?: Record + _update_existing_only?: boolean +} + +type BrazeUsersTrackBody = { + attributes: Array // NOTE: max length 75 + events: Array // NOTE: max length 75 +} + +const _generateBrazeRequestBody = (pluginEvent: PluginEvent, meta: BrazeMeta): BrazeUsersTrackBody => { + const { event, $set, properties, timestamp } = pluginEvent + + // If we have $set or properties.$set then attributes should be an array + // of one object. Otherwise it should be an empty array. + const userProperties: Properties = $set ?? properties?.$set ?? {} + const propertiesToExport = meta.config.userPropertiesToExport?.split(',') ?? [] + const filteredProperties = Object.keys(userProperties).reduce((filtered, key) => { + if (propertiesToExport.includes(key)) { + filtered[key] = userProperties[key] + } + return filtered + }, {} as Properties) + + const shouldImportAttributes = meta.config.eventsToExportUserPropertiesFrom?.split(',').includes(event) + + const attributes: Array = + shouldImportAttributes && Object.keys(filteredProperties).length + ? [{ ...filteredProperties, external_id: pluginEvent.distinct_id }] + : [] + + // If we have an event name in the exportEvents config option then we + // should export the event to Braze. + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { $set: _set, ...eventProperties } = properties ?? {} + const events: Array = meta.config.eventsToExport?.split(',').includes(event) + ? [ + { + properties: eventProperties, + external_id: pluginEvent.distinct_id, + name: event, + time: timestamp ? ISODateString(new Date(timestamp)) : ISODateString(getLastUTCMidnight()), + }, + ] + : [] + + return { + attributes, + events, + } +} + +export const onEvent = async (pluginEvent: PluginEvent, meta: BrazeMeta): Promise => { + // NOTE: We compute a unique ID for this request so we can identify the same request in the logs + const requestId = crypto.createHash('sha256').update(JSON.stringify(pluginEvent)).digest('hex') + const startTime = Date.now() + const oldestEventTimestamp = Date.now() + + const brazeRequestBody = _generateBrazeRequestBody(pluginEvent, meta) + if (brazeRequestBody.attributes.length === 0 && brazeRequestBody.events.length === 0) { + return + } + + await meta.global.fetchBraze( + '/users/track', + { + body: JSON.stringify(brazeRequestBody), + }, + 'POST', + `${requestId}` + ) + + const elapsedTime = (Date.now() - startTime) / 1000 + console.log(`🚀 Exported 1 event to Braze in ${elapsedTime} seconds.`) +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js new file mode 100644 index 0000000000000..29666131f9299 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + preset: 'ts-jest', + moduleDirectories: ['node_modules', 'src'], + transform: { + '^.+\\.(ts|tsx)?$': 'ts-jest', + '^.+\\.(js|jsx)$': 'babel-jest', + }, + transformIgnorePatterns: [], + globals: { + 'ts-jest': { + // Without isolatedModules, tests run realy slow, so we enable them + isolatedModules: true, + }, + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..99fd0bab6f62303cc04b8f9bb10710d9be8f337f GIT binary patch literal 79392 zcmcF~^;?wR^Zo`U-6bhqQqoeQz|t%o!qNguhlm18N!POAk|HcfEe(PQES=I4f`Wn~ zjR?~4U0>^nR#lNHpd}JAD>K+Jp0T?~hS9oWgbHws+%&i>~xbAxo*6;d$4iSxo^FF z(b;h__K=q0R+JGfG^;Ggr&yV0K05o!y+>7YC}FSW3gpWf=+<^d}?Q#Y*-aPIR=P zjnLI9`=gk|Xan3k(kj~}fNZQmG|%S$SJTG@WtiEaFj^T+C|D`sf|t*%Ev>9C)n5ZX zgyH3>Egq>V7gl0*a=cTK0DqtdS)9gv(9wgt>%l9KxhU*Is1p>LW%YLjVHF&di<*5{ zhSv5-CK^NZvCJi9Mrm5x+t253^HoTeVc`8!PrI(q(yq2|+x=b+;QUkf{LAiN zfiLH$PN~cF@MIcE3!3?rXGiseE8k->_g?JBsa{jvtTWU`3=*qcG=Gti!=U&h^In!r zg+S*ihUw|#o+Rs-Az77`GQ=n-8h2Q6qV0-iE+WDeZz_0f>I>8LI=%0k#8*z4l=#2? z_U`WaY~0Gx=U4atB&3B*cI+RnsUG&qwSPp2<48r&roJYRTEj8>it2w1 z1W$}tLin`SUgq6TJkhBfYw!d#?rfQ6 zVW44;<+$gX1#$*3Cl3B+^VdJ3x?XIF7oPD9S}=as5isKhBsb2zFRrfaVRb49_(dPv zNOU9Z^w=S}Tg9MCqo)b{zGM)dh~{Yv3%52V#t zqZ_8b&%$H#*&*8t)L320?%_db$luVmqkD63xDs|yA@?|Y1VG)?XSqQNr{3n8v*wXt z2RJ76yjjbaiQ3m9uQ7PY6;+kVD64I(2(OE!Q|qHlZ696iI-7nM9&A{wiFB7@`}9Bb zEJf!;$r zHj~Pzh<88zy5PejN5aa!BH7&#z`VoqU^ zsw{bjxX#5)(Zq~0y_;hEH0#xigK0IQ>9k_m1Tiz078nk$-dD~W?ca;JWh_H@^W&-V zn%mxi2B8jE$+8Axp%9%NC{eoJrJg`*yrhw4Fm75%&ua8Z#j=gs!@&aJ8^H8lUwur+= zX$sGnlEI_^M+&Yx10-AvuzY}oIoCxuDuYsSjIv^szBRAGYA z9~C6>sDv_14W%-Y-$!DoB!z}`S1!gbzRUuqyQ4BFxo|0aH^lp=!kavFc`vKMIS(8~ zgogXz-iXBylhoR^te}cqN4=@}gjwB{L$uO~n6)=V(Nbbs@(!rTUn~Fcl3j|{c|T~J#IZ@efWse=Q>4c4`6isoJd0128ADx|D+?CZBqyn zN&l{Eb?!O(SHFMdH!YFJ1CwQ9Me6vo4R_oew6@>PLNIrm5l}}4*1<4fwUKb3r9fFA zwc1DzK=PbT~_}yZ}N-7jK{T zAnT43n>9!h0n{nF_d|L7W|A+X@?R|ECGyC)c@L{1uF9P(2<|v?I}+R`5F>U1g0+ds zG!-SXfXPAx66Qt#P?4Ikm7jrcQsd2*?z*MYm@6ClV?JuAoL2*b%zO!Nz381#2?GeQ zI}<<3SKk*X{5#$}g!w8hDHD0LEFhUD36r%!8uH#A7!Vm|{xEHSl;-w@5<#O)yr?b( z5+Z(g|02u&juVNBe>8IVq7OcYSk!~S`}@q}^_&dtE}2d~6RK6x3Sy#nicF(Y6%L#J zsEn8&N#5g@%!A;OFMS_KB|EXE-RZp;SEflX_8m}c!na+G4|-&EJkkkh*p68VT@tPs ze*24O_~l|Uu+gf7n^zO*xqtR!jjV{38FmX>T=`Ez+nB`q4iq4m+6O+bmx!DD{Yox|Ses+-M z!NK{T#3}M$ZF~*=`4MPZ+N@dkMhZc1P!qEQTby>t1WN!aU4WI+cIS@_L-8@BfyvS} zNpp*bPvvLVSGsJOjX7afmXt9-v1>DYjW62(&3~_W%6nTBEiPu8CMQJ>;&> zV!mIYGw|?bUy}Xb8Qr>4^_Eg{3@uyGNPr6Dyf1fH%d8Z?TubJe!(_3JyTiF~R)14z zir%O8&uSklm>0^HX$2#J$?8yR}<2)GU)f0Mgqu>yna33@;F=R z#AxEH(!FFn0j7Z9<>USpFJ|+32$9rWv(!KAEJx)^h;ZEV`-`@I-zJy@h3Bh88+N$> z`O=8p;}QRZUl#V7=Tqsdphh7gR}<0xhg(}(g&`m6%_d-(sH+j~C8#3>064+{5Q=o- z2>TXOy*Owa^WV7s$hl}cstpTL3R;To~^rjv=NcSmYTJQ0yS39Zx8)$=LiSm z=!vM~0n|3dd{J=EtY4PI^pw^3FJ%q5iid$4xWd% z$S4KweiXTKwmqX`*=P#rV2Fl~u&9lwJ89te2i>kzDYC5tj-=1W^+D zF8f3T?xT;IrIvzWEgel+(C;f(vj${BlTxv2fO<`WMN^Tw3WDT#0A(2!+wV-D3-Jbi zaHAKItBptoxeigOaI}Se=FN3+o)~zXE6>lr)TZFV9dz3me)Ci_$Jj zsBPoMJiOlKNgbdBGvn^$xlc!G9Iu{a%Gd}!;y08EakU{IYcaj!wEEJNiq6FP`HZ_- zY&JuYn(Pcl8emSKde&e}>gm+*7g8d%6bftUhmvO;C19uK3j+jTTDOSNJpjr@y-dnb zWt>9(K~rt!nqMzP#$qRjh~+ayDyunjfA3?4SiV!lw(8KYXeprzUK8iw z*2u+g41)=IFSI*vtusX&6P4L>*$Bq&W?7y!r`4BoBa<`LWXC9_C6ub8ETr@YWaRn{ z^VjMKbt+y)3f3qLy9i5uc2(j7K%NQG;TP5<8o&R~II`&+SwkdYEzo3>|9l6ebkZ>HcEJB+qNXlD9t3>Kez2 zS4J_c=AV_kzBEp40ice?@5^lP;}WO*wZftA<>z!;x8V55#Wz3N9K zc5<_U^ayqPgPHv)c^wR=)_+LWnSH-2rGA^Jf~x^#plXfm#~Ssf3(z{cUtp?mxn_41 z`52|7gc2rDkEr2#;x*VDF>R@yy<3Ybqph1`US;~KTO*RS$c=ZlxlSf-Lb<|ilvctQ zzZRvt%)`hcrKx!kmeD`7E^oJu?-=2|z(WWvX<+#?9gwD;%}yfZ8!Zr?v&C{-YEnc_ z5B=B>7Oed%9kLtYul_CnlFdbt+)_PUbc<{ST^25{3owb5?|weGEHY0e*aLP3oh zeOlp1+~zR0N(MZF|0rKFdF9N?Xx)1bW}e1vs<9fT-58p#^VSlCiV@c+rBSWV)E1DB zDD7HwSWSx8b)F9WSp4(1r-czVIJ0scz#R7|WejkHolv+)(04|4;WmUb=dlkgxZ}yj zC)Hb~MAQIq(Zg(ZfC;HJktP?S<5<@t6_v4gOyElVQHvkBJ#wO~t!Qb~z{$qD37g7! z9V(z;UY3qVv)_|YlF!tnW7(#8HdVVH6QTUfPrb z3AR^%*6M8Wd6kZ$y!N#EoZslev%PXFildB0b#P;Jv9mP4*~&B4NiZgwknci0xC2G0 z=656}u5IgSspU$1Ym8DSmjGF1uSmA=DcS}}$%qQ9<2(bVU!{>7Wj#?o<#Bclp2Y1G z@k;sbK9duDMPPu>ZPg*f7a5#@iwsJ}f^8u44j?uB@Q1Ca!jjv}aWn>SsLckqbLKcqWB$w36?c%48}!@J;2x{=QSr*#_Tm{i(ge0TG^ zUF9gF>+EQwYYTgG*_{@CuG$&ASlG<$qyx#im@?N98W`SUcong|ZGVj~rd<8BxPQZ9 z7`AS8(zY}_xKbprFxX^k%y?zzPN?QyuU?l1%d{L5+FZrVOH<~cGPzlD9$UbIAEyjL zZqLEDZbEG%!$f~(*Uyp2GDnB$O+}+(i(D$FwcB1)nd}`O2;5&2x4%f3uzRs6=x1`M za>#1xMBXhIq+B@rHICXb8IpxX-8+LMN(#x;GrW8i@n>y6;zH#0F-A-I2xYT}%c`aW z48$*hpyrg++MjCingRiT>XPKSE7Z4dHExrR)nuX`IC|<0ykZBVC=qmHGJb?yj@1EX zwf04344|VlrOmHys%Ou9PUn-Jrgivh(9sSvYtrq9X(vk(tlSI26Ih9>gl76j512oB zxuyvbmgBV#@IUK+9kP@({(Su^;z%9U;PE2G4I70LijMHh#D-|F& z1Uq24sBbwVwQ(VEyFLGEw(ATh$Ily5Q8t)@O{GI?YvVVG=PReTVBK`h;ceX zy{A!*raw+F%o=zHIC-$X4hhPoh47gu-@+jE!le$s3V4)Pl<2Dde)%VSchFk}z?Dw< zGdZxX+j^)zLbq#t=>JAXMuz?KJFt{UQ$!G;&v9Iv_>y~8;#qULlpXtiKX;f z)lD1)>Pwf?_`N4lr>fJ8a(sMdi%>q30Tyk7IVbyKXcBsa@8P^AN(Ou!VTlZ zO$eAF9=}$c|JU*Vg8N<`k!u{v2spYz28;OS9#jKikGa)qqky*D)J}b0R|Ue4t@h8B z@pY3e-w{k|aOcrP#Cd%C%7-XIBMQ-c05uRURA&H)rkL)oW@XMlvUt9^sqDlhBi!f- zbe-3Mlu<*%|BAwHHR>oL#6$t}4Mf<6hgJTXT)J{EaBKF*6(V<7vMO@!87t*Wz2|JX zlv6#*7EnGlr>s+MB0#`icM@WJ{rSeKuStF91QZ;|cgm$M!f`v+Sm|VKLzNRoge2N* z+K=(JsG>3sHE^_Q(7NK&_45y%2h>}eTk!4c;1_F)Q2&tMO4kR;Hh>nv{30J9jSbKx z7GEYRA-DcCefT<6!5uVD2hktdxd1kLzO!kwI9q(q85>SWE>VI3$BX1gGF#A(ldO`b ze%SE2Tzgx?#iDVb4pAlLMv^;?lcsR`lAwUo%u@^$jC)OM(KliKRUNIFNGDjaxDgvOWPLb)kay ziF^68sYNxa7UBgCS5)An|5Z0qrYz#}>gLz6J!{6A-*?`+(vL%#v&>=Nlc!ecSWtQ2 zL&6?NQFQ$lpHTc0M@}F?R3^YaCTs#6FRCPJ9qkGza5k0tKWst@@y9*JS^eFbv1-S7_@8!rG<{O&nbtBjp(Tt{v3ai!_RRD~G z1^}(UqwS9(Ut(wVntBPpnMfzDv(De_igUiG7ReUt`=&!AX2O7GnXV7PbrJg0{}Nbt z?t!bqf+-5ImT4$>&vqKP&bH^4YsRkC4j>u4Gp&4mse}fG|zWKdOFJLPnnW4w6*}x$@to!w7A(Onab5(c%X0A<4NX~H-BqhW` z_a9OUzq5Aaal65Qzj2WnAZ(0r6F2~jx?ONKMpYw?tS=;(e$H9!|C{%9IcA_NL9e;t zI964`2?9WYEm&}-92ku2Qoa)_gE2WVaSJ6)sj z2w01%s^e+j7XlFO4FMN;jFQI5MnXXKhyDCQ;u=36QnHNEMu_h&y5108K~(Epon`7` z`T8FD>+ru{N)ekDh{-O}+RrD)4)H{{GP^EvOZW0Ew*uOqj=_ z_*TPT|G@BT=p-y=;dY)kz437jouMkB)>GKTkzlAzHS-B!-sh7R_B#B#67A-n-J_5z zAs^RLm$-j1<8UDAv8bN!=nW)~Vaix1@tCZB`Ey#W!YacS%YoTUN^-zb6=E7BP#Dnt zi1(z%L}{!hD_C2T@9fJvmG3_ZZEFe0VLEQMU42IZI9lH|`%_AV)b(^L;<3Lh8DHlw z#|oyvMCjn@O)F*rTn6qV$5n(lcaS`Ok2A~5zwd;eT`zoh*^}}OW=_OtA%*s@X-bFs zzI|sh4{@0THjc;3oDD{If(c9v6^ZI7Ev>^>Z+Ai({u);ZX}S^%%4T5eYSv3RFIVKi zMhw4R0V-)t3@81Sk0uP+2K%bPu6ffOlxur&W&k4HD3FPPqC{9+7IDWff8-i26%XM2 z7;>D@t6fG762G|!NCgo2Mnef2i`bZps4jQ-mOt+3z*^i>p3lU2gH05{MLkWK|NIy+?TF7B&G|Y6q}plG#&Nt| zzmwEB3CqwVvJi(!a6a4Bucw}Ii`=E`vYa7f`T(8_W^@lM(W(fLdR||PY~F~WFwvLt zbBH7x&vX|L+U?0S27>jl#c5%B+!DHsdq);_Wg5Hqon@0W|Fgxs>vxT%gvoSGeU2Vh z@!+~Yzq*`0N_w_@m-qLJB)dDCOunYNLMRH>MVnKqSy|eES^&OzZ^I;oA^$=2w%TQS z+N+$H7Eu)uw}J#EJCXtA=Z0A2+jH9)v%lKvaD;D@dqa<_Nk*%L3SBZ~@Yn&M`3x7uS%Afe#4}?+5MRK@VTEH9&s&!>AffIkAKy+8sH_|=n)wA$Z zM!rxYL13Kw579}Hdh+F;mr2_EwWh9dR$q9fGT4a2|HQs^d^~TsWt^j$|`*KD3seUKI!d@TC-sGg;Anjc#ql5w1aGona*8 zM?Usj3iug8N1J%A$CR>#fPlJfaZOdFAR*rpfpFOj+m*}(J+xP2=!0oP%UY!U^Yer{LM}!`Jd8ApX!Ko(l0vaS*T;VF z-F)UD>f!m;aH`u6C6w27%z*N7Hl3@a{4ZrD%;U$(dSfsRU#|{d6Qug0U9%qjw$P*F zH=KwC-_6a{E787*vm_dc#GkWma>3CfFEAke>Po1|M?9Qk)VVa#^kT4k>V=Kf^eEjOJ?}9bRI>l zCr=%LsJJ>Hox?R)VIpZ2~pD z8|Zstk;crAk<}q`Il^eV$lk`^2LMAj+s^lt*lq~{yPKE+S&ul&`X(saMq+{E9WN;q ze&*JEy&a~P1j-{oFr!q@vwboPlgC_hgG0KNVeACd#5f(|B|QY+^3_s)I-HgXAiw_? znV-JqyNER+DSLS&3|vhlZS5VMpC9tm7jDccW8Xh($&>&*L^M!s!rG6;QoE-(*MG1D za3cb|$9$00d8av@k77YH_}#`aAr5ON<2?F&TEJCWzqarA)=H=n;0kCx-7Ra=16YW3 zvg;omZl3ksi~QrA~?Y}+DDaSyw7GE5^;kJ^_kEmwG zpB@L>Xs#671G;)Yq2+II3QU1J!-MUlzigHUo2YSbPCS|Fjpt-+wje2EKYL=9J2WZ5 zUEzBvMn{-vuQ@GGUjkb`DicbD8{D&3tgGjyel`GtYz zzChy(N%KQ#uLJOhq)TIJMz^wIr1_n3&*e{W&*Z)_jY|klMsKp1qFGggxD{NvoSff! zqd&%Jzhu6{vu1Z_&%w(MSKS7naCh@hS;kd;4JaU*=knjXR%k}4;c}ipKPUhS_?a3} z!Y1}|L80E$<1FM2*L=<*0)LDuTal==-HuXHo#z*yXlCsXP{lWbD-Gu7`rxyF}P$5e}zY-@>xzJdy5Sr^NM_A{7 z$>;pBFE@ZVU)8;brpwO_U@i>jG*NT{kc*O!tlaRkXgId4J}4;n?0Rlf^vgm5vFmWb ztOl@B`5nN0hC<;5rMV66C|qBrIk-`YEXWdaQL1f{;*L2_zvYIDN!kQvtn;RGs#Kw9 zu?5PjB=A?X5{w9ipS^lA8`Sb{cNCH@PlwA99I!h5WXUHi@n0gHZh}+%=!YjIYywrv z?N8RX4b&EI1E{-Oga9^*lCBoV;%tpSmw_9}{J~)#_AB1M)?JlhQa7bI;J1 zkoYl1TYaL5Ip>t^4R*q1wK}-5!*i>o?p1v@A}_xhM8JTjNkmx#;aCG$7%pG~6f}&m zw{==4Vo%KxYr^n4DZ6W@d^ku3m4SrgcJD-G149Mv-|7hoZIH_QbPk^s+ZPiT%@5MH zBoLCrf<={`vewahk?=c>gm2fZ+um?wL`FOlH76%;Nn-W{#2*27Ui3@g>vPXQ<2gZ{ zFNVA2@yqxwPdbP1ta2CI(EB%<4cs#^iw|xK$q}URYLH(ZiUYxxa2_W@M6~+xcV-jl zIGwM-Lrs_Un29AIIL^z2IUWa^`yTU3ax@(AZke*hSIrEBpR3S;cIaaNKC^KOU%MS{ zx|4%gts-K4`#XqT;6OGbRacBB{=QoMt150~!e4Kw=yhWQ>-sU#8?yN^eP_V&Tc!SE zNB9D%f+ak!P%S&u-1pB@BqYaWzKs9mfafjj7BlXF;)3I}!1dB_N88cHOyZ15Ha=v#F0gigIH-m5bUKaNM zt;jaI?~t+$-*w2o;tK!8GQ=bbH2BA#xY=255pFBM8G49J< zUhsTaH4EBheqfM(I3tZh^%B9SO>Cp5h!FY~o+;#>6adJlD>P(~hann3b;(}-^vfo- zuwGO-eq=8;YdbrV!=KgMKn(xsVJRXe;mCweGrDoguYq`+R@2i&2+PS^(7pU*C^ZK} zdsm9B7utpR0SmZoL-(l_kudHJHBJF8vw5HYp0oZ$4)OSV7X1I(W zkr*+G=v@a+tAT~cbukiuyU06arJ{TlVaLf#g6|2Wm;8h49OL(W2izTdLps%e0G!BM za)DgtlL6`WUzNXq&24teW>0@Oz>h2$Y8L2m6o84~9Fib|IOQD0^&PO=V`eFpURHTL zcLg_~38P@B{Q0r%Mm$?)xAZ7wI&!4LIrNVgg}0?+e{mmUCS`Wy+gjn~{v4w5RvLw~ zHIQdUp|;c46fV3_GDay^jm$1T1xE1e70f5L!KbKleQ z&`4o77Wp;W8)stCWSn(;x48(AxO(|#W@O|nvrPK2aN~}eyQvf(zkdN|yQ)zUjxp1K zin0aw41WnW-(_`-wcb_wTfi#^BiJYdAB>O)svfRfju$dYsGbmkQ4k1{*5kwe%=?QV z-QaRjWxm2{vJQm+dDV-l415K`aa2J~7(keMr9@=rlFcq$==tIVD;BB-#D{2ewbc3| zm)&ff&DT{(fTuG=z)0Q_-ppY{%BHjG);TUxj=w#s!H4yi*$aO{CE-G7idQ7`TdGDf zMWGRw)6B89e#HwQ^>MHksQ9PGRa}8`eK4GSR2P9CT$I@eGS*PDA8?S{ zY)k^DpR#3>aFQ1+yZ-RNM>Cbjs_LHu+=q_)-hX2-L_B_p7ct=U4H4IZm?>o9tYqxE z%Bx|1Y<1*uSo0o0`#4qpLw>``ts6J0&R(z4Ek*l?0p@`5<~hoZd>tc13<#Aitn&y$ zs%@l3lglM6sBdpBezPm< z+DS+I$m5Btt_e1g9kinEZEos+xHc`gB3MMsZ9@}N>Pnh$P|d=_8MAXP0D zjC`D3vpOPI>4gc=b}gHFBH^Z&f|}*)SaT39P-=)CWcu{n&;g&UsR$tMyC zL5zN_X`EiZ$NB?>`8peRP?H}u9ODvDsF8XRZiltb`6qL4UdUZl<(6J0;XD;u5Jns8Mwq`gnS4?DUi!cG5?JeksguUt97a)lga>V5rAAoolwc!T zROhPjD1dH*EPGsGklSA60p!B9>|>Oyp2(+AMx*S=1h+HcyRAC)o;E_VtSM5uK|TQ$ zpFH<*jH4SLo~BlQ7t)cE_F`;u|Lb_p*MrhfGP$q&)9^58e~Lm!hZtHiCHS^;{v#vw zZNziIs@43G7@>(B#ea^v?OJp6J*it#^Ha#_DXE~Ien?N|CE~^C7Pi0AmQm4|II~ywPA;O z**=n^syLbZ0s@WA@!+=$9O* zR0@%^>&5h@o0JI9LcJdu^5B+|$=x%|UxpG{qR;e_dlkwd046`~ojTFIAxcx#+d=7p zf{(DsQu^)p-X*2zxv}fw?e-S0(wbM(4@$nFb7tTEjkVDO5ll?SfGhwE7Pg#BQeNau zLW~{O%F6|gOv^DYep>vt=MB%qo9k*$| zL#YcWk3`xz4uD;w4Xr#>@2%gKT35UZHK}EApS|go-rFf>+a7*JxcUXl@%J{T#G`)! zgd{e^s$4yB|53;FOA=+#)wC{7v(qTnFJTU?KJr!;00*fgVxq$ zz3=bJT3WTtt^`$jknWtmJ(1*}5iZc(x~CelaZds~f3+C1c#v5GuXZN;}CM^NMWu zh~KesW*nE*urCa&@}|ot`&6?P^W2%%DMU0T*jEJ~s1pkSsil6V9NvHC8`=WRx2dpg z=3AwW?|&W&eYzXTCj?_`g|wdPd$gnUsy_7}{Z8_oq5a_YC2O^;ahTxr$1@9&zsMY< zX7sPjzej(Uz6nSO30Y<%Z{@F#qz!!rGYzl->zO8?>K~68RmmBLxLQ{j zYy|G^maz$w30eh|Zn(}YQl4Do|E=~ewJUkkXHcMWDj`UAP{{W?q|7Ft{HZzo`6H|{ z9_{ZZA!YU!_K<8>kRC4Lk4%8cTQgnA`~0QvRkUoaGJ_v`$b*HwZ}=fz0zs@47a#GIscRA1SKuZh)9JiG!<|3~%-Oa{jCLDE) z{Tqcm#Z61&hVO>7tb}x!>NabF6Q)_%&pFTvat>BHEvtXw-y$AvGyx~yD^+Pm*qxG= z7s0HAdt$!49i1ICeBu%pOUm>?L>Z+QuJ2lACY9+dbbOx65;9m8 z8qH`t97rcU^MqM$wl=?>Oj=M#C%eq|8e3sfi-|?fFKmEx11VBE+T(4fQsc z__1C!o0DTctcNU}y}G&^B5N*qqbJ2KIrD@%#o1@kVM#KUbOJesu9Lp1R;lgOm%@rS z)lljcU}FF7Q^{w)J?a!DYh6E1l#<3Gb9i+j6EO`ir`WoH=D(Tl_o~abkKQc#0&Pj~ z9gqohDxy-=h;)B*96N{ND>a9f?7QjoAEF557T@oLc?7{+t@)%O+0$*KLdqz3dDQ0P znhfW%sdVUD>-lgBrpN&4>@w#O%qgQ-Xn*I_`2)`pjHcq#B6~Mt5>XRl+P&*XpP+94 z!%$Vn8Q0Z62uXiGFm{jC0L3`HIFt7BRw~j(fl&JHcb3W}K|ZWlQ(0&;q~M6vLJiVQ z`;oNL=Q{sASj_o<82dCuj!sz&(&1`unK|zF@}mP3OU(ahwXfcD{MRjleSbtvn$Or5AKhJJ%=K#D% z%7n|=UWMJ~lTIO;&1rfYyY-q}@BU~5Sx6#sv~z(s$lB%!drl6cM;1qa1HGODY2@m1 zTB(6&v5DSPU~kjmDqG%&#;tenpPGtnR%`Zph;7cZMMklc>SVhH*Dg$a(&hiy96qTi zCEY)F6p)E)fOkU{A|Yp@LLU0O#|;Mi<)m=|sro;P00zpcpL9|v@3ER=W3Q=O%3&ji zaOtbB<`A7`A@{4IAZOPG&Dx&?qqJ-i0j4H))zM|2-p4~cj&65H2Ee8E5jJ6J*7%aL zd4$35e7k1CAC&pd?x53+O|=FU2*i^Z%OgGG-r@AThjCP@e`1yXQe14-^RXpLbkjy* zoh=V52sSk0`6$CW_aMdbt!mCL!mUEM#lDuGPe|Bf_n&tC4?j7~V9!WfR_9{mo=mxi zJroK~e7cby0IyjEXmyjB+RQ$I)n}Xsgf0cHBDLa!E zx-6DOJ-!?I2R|tYU=sv`uqw}xdGfNB2W-NZdrPyz9`~xZOFc^)&krgZVjgF^5bYe6 z&mr;$)AQ|RR{$cP zqdgc-$1j@Ht9-X|>RjEk%y?!?IM^z;5+v*$u=~LR+w5d~W&d4)pOhcRK&+3Ab$mNj z$2i?tebHxOPx7uTP;_({_h(j98q3n;O{sXXVM37YOuFQoDBf|mFspdZU@NO|FlNn> z)MU`7()caLuEe1rt7azU{k2Ynq%=quYHWNJq$nYcWoioE`l(xPnT=x%kGptLyj}XN zBq;M-FieSX@Zqh_n9-9@!Te(PSWRm?ry?l>*OWyLB7Z0hKY9(t4^@UH*Bvh9Tl}IE z-fjIZoF?t!ADe@rIv)E!(-po9u!?(F2e2=gcO?UN-=PS-GcSjQ|1lrl<|ILy}L*24wv+WZ>`Mb+B;YIo$ zj?;okc1eMgU%Ow&WYQBz1!(P^0{iX$l;dOF|G>I@uk)1iGP4r$iv3Bf-|4hJd5YmXFCfg2np#(*3F-_ ztP(Ii?s_%*#OoMhZ#eAt&AYoQ(0WT|yRTXZwzWqc$Q1RX5Q>it20^!4@Z@eFDzC@aOhRK8~0|zC)c^m)M zw0djI(d@WVY3Oy5^M#JX&~6}JJT`c>2&((FbLVOz<|2QguN`OGb@`nwB8l(w*+k$c z`kI9EaidjvS2i1aZXpkp+0xU{K@@B9Ph!R&QAtAUZieTGFd)DQMfL3exT^vD}C zPmE^6*KlV026Do<7sDbY#d9m&>>V2meyPJs@5_x{pI_vj)GmD^pbydVF2p78Cv9QM z4MgJ1z3k)8%PkCB&{MT-Qi%`CX5EZJo?Bb2d|cy)XDr5$mc1zt*Cey@u@1mq=a7O1Klc5W_Rue>#?J?V z(KUxPjt{sRag3A;VYTDDd{_?adch>G+ViD_VgzzbnDj;W`k<*US+jLOb4_v2^VGcJ zb){MUl!nCL`9HVXPnX4X25C*%K7Y@f(0qgiHaQj)Gj7?dL5!uiyO6kqeJjD{EhTLG zczAMD)Y{v16|c9(!DJQYwQhwAWp~;W0Za{}H`PI!1?H64+~&`QoQ3-6RlmY9Ho9^S zo0G~7{7|*s>iYOxIQ6zxcfrZ?ltZ1$QcX#n6|G@ff)-rwxc#7=G2U6jV;(^T<6mAa ze~6w2x36}-k;W=#Iz!$^-I4f){%y1yZe5_M>rj!F=AemdG@}`UKk%F1{@ZMXvaa|v zQe-A2Ei~S~QTNE(jL?+9=VY(f zkQEjOSpS;5;}J9|oRh=aFQ)-P znFQZj9rA+qaF(Z5>U&LZ;q^8))!wd!w<35&k>P*rT|c~0!HGb-HwK6|M~^ zt%eQXvqoxK|5ARX2wK9=KWw@8pS3mzTMqb5; z;|Nn(_7Nv|wQT$q8P^TMzxg7^?$e=vZ*O7jq_E`ptkY8^EU!o7kvH8!jr?!6f=qAI zs%AH&=;9hFh@MUQ>$l!G)IICO^75JKpmXeStWkQN6I8KhudBjNuyX!C+F>Fl3;5Ve zIGk)+4>?W~N#GONc?MJ=PI8U?(J{@Vllc&(4>) zH-N~Uz0yV<<9|}cLVv}bTF6{*83{_DAA6q~VsqS`(2KXZ2z=R;3gasDS;fqB6yLS} zZs`>5e$Libu*wu<@K2JrLZKwhkiQ1Dbt_eGIYa21560T{Gn*^^zb3Ju`-2AEC!1;| zF5AV^O5y_wQ9Mc$vsWE@Rng}CfklG>q&);JL;dWLD>Jqip9Nk2A4|_25B2{)LUxqZ zMZ+f9XNSn?&b+fSv*ScEvO>s6DCg|m-QjS^9+?@D5$+H|A~`~Ggz$U&e1HFXc)p%{ zzuvFg%YEw)#EZNr9?!}#6#u=XrJIcoO9P`_yD(t_n{}G~Q!XA8-%<$xB^9c2(vDo*eMd0 zr{uAbLI(EGs5u%@A7GXY43E6nfqpc4HY13EPfhr>QBp{fg}~RKy?kYnxt>tpC(5vf z2>27@Hq~3#tX0>s8f(rOW(GdXiZ{?|kKr)4Vpb=SSBKqfL4a1|!;QS;k}Te4%ttu- zEb=Y#W&Ncoj(l}$$c#6y!s!5)ju3OHx0~O(EPWiJgW2OJT3(*%l(@dYAJi|a@clJO zFUdk^FXUEZH&2Xc30{-#ZCP^c!C8Oq?hO!(JUv?LBntve{087VOA1<$$Jc-f@U%*Wiv!cz`!JLbQi_^`d zhX7EDk!s0dYx7Id0xCA9ZedIPfRYs*{d8ja*q4W$iK*!PA@%*XJ1uvvh#`v>ilV3@ zo%{S2!YBZf0&9B)V$I9-*WZUCtwmy!0dmM%ViNnIGgtb4p zxIyb@POVaM;x4iOrCi}kBO*U!ss_lmxyI%oo;+$2oNw!PLV46lxQX}nnwu%Rxmd`2 zAFwXnGK}N42Gtq36+KXKBqaE%|A4Pwkam!O%o1#xRo2k0Bg9FurKrqiXpv2 zqt>$iigPvRJzom2zLx++)+@MY4OJ+SUdJ#t+jT3Z-h3Qi=1NdBLOdjsY%Nro`q9on zRo3m7CyA_6efm@D=z?%i&1~#IoAG{|OBheR`Wbk7c$`Vf0=HVpiEe;suLbmqh(z{` z{ixGLnxJIHz!y~}x3VDRuIcSQ;yiC=xo6GPZH~O8d#yi3rwR)+#lQ88(5|Y1arcK>fiIm*K29Ewlm)ABW>`cokCY237muj(G(@| zuR4T30eVFY>SmW?V(_ovrX(JUC;?;ESc;%N5m(uU9cM6;Ai^bFrWcVID|Fezf4ec!*g9(G7 zEkEY9GPSPP&gM>PGiRmK-}+?R=2X6F6h_5V!)WH(#r^n~zeP@!+TT~Vq;4G;>)yZU z{f&C-whm){&a(kZ4R)+73tLyxxb;Y-AroZ-?4@HQkshCG6i{rt?fQ(uXqQWTm*y1y zy*H>=oYx-j??@4ELWX{-l^i)>kJ=wm^GPlWx}ZF&BqcQAP73KYs^3Ljj)T=OZ>`l= z+3QEA3yb&0eeMj4SM?Ws*WzYpLF zqnJ-&O85Nu&%^QSLbo&y`*==?@+Vco2bH4N4lB2wjpxDC(UISj*^bSxr5a$&%MFvT zwTGXLpt?^}m&VtBSi5_CzF6Ne$h{~o_7Tf~=Ip@wkX|n6>!~CZG60$* zWj$^y3j-W7{AEjn{m>Q_SEY;c$cIT>C=8zGQD=QVAwf)2h6zQ zn?{OWxgZ>Pv?v7lSW==h5TCUXw_lCN70JaR_UFP~<8je|()w>Wx0529-@m)wuvrp0qyn z_@B`xyUx!1hp&4;95h1ePPEVaGAUuUT@V*x{}hc)%CQz_u(g5dqT=ORQu#Sec_nKV zE%OSh58$$4?|tKV-+T!Dhd~=)0ucI73;hmNru&RPK8&5MoXbHhz~Eobfc13DwXR>< z(xz?=Og5~shk^1+N+(a~01eUQVh%NgC)|_n1|*Q{s^ae4(U|2Nfj{XOAvO$Na81WP zl?oNk3ik0?56sDe=*Y;oeQXtE>3Ns5dZ85%@QsN$sar*hZ`AIJT(U2O9JOR+iC;lm z-F($j)UMS0s~ei{8Kf~X!9HZ2AF}KeKzlJTZTIqDepPYCT0Aa?e+C7|_kAA6k*T_`rC4T%8JZr_wNP#hooZa$}y2&pycK1?9n`%xHQ^EI?RVWP`L6tsUPUgu+H_lrG%$qb8YGPUvl)=ynBVL> z7jOo{ZgX5*HOE1}l-Ga!ZU&GWM#$5DFMM824?qr5ikjoRZrDU6%1;LG=hZQwy=wQtulB{z+FqCO%Rh zdd}Z&xu(?yIk!ey`<7p%!t`_>5Vo862}tyJ8&ZO*Wi zrkOUAb~Hn2Sep=XHiF-Opi7_D`c`qmJ^Y#OL$_U;lo!HIT~OBomhfgNt>x|sYHs>O~S)}VLi$=bHpbEv2{55=uS2hgm8!ezg( zSf1(+ia?HeV!GH*QAvt*A)LJY7OZ~y8sMyb2tio=u5w3_OZkE(Vfx~U!WSTCUE;_u@*Fa-$>$*nE zt&yOA>_>~7US0k|dx59JLaB5UXN@TuqR69J2;1nbT6+w|rC7%ec6|ORbFqslw@Glm zWB{V%k%^)oB}pU5Mh{L~Bkp6PKFdbr|40M|Rvh)8BYNeV7QI6;s!5ZnS>8_2`tWGz z^-FrXR3a;_2!j1Vp}||#VcfMy@i->mtZ!T6q=W?cLz1ULyirmZ*X0*vU;JwjL0JB) zr1e7M>z))Sw9x-~XcV#36p*RC-&(Yd3nIuH-fl-$0L@T%miTql226o*Ro!IBn%1?O z50#%z3l#VsLac7dn_d;mu<)oX;aoOF&vQ8rzWzy{6q`QY@%THR&g{x6X;8u155Kkd zpc86jVlc2ayYH#{AB;Wh^dilH8J%)*pvuj9V2oxMu|e}8XS;(Wlr%Y~ZT)fc^?AKJ zQo?2tQWUphbrUIg!or>Fm-3O-_M(=`XJkcI^S=P3CO53LCvghUa$eiYMh-@LRncm zS_kjl0uw|p#W61$wcYh1OaNP5()ypq=%^wtbsgZlSZhxxv+i2mNe#=@tpQxO@xi$> zsH`51FlKbJ0kA;e2_t~kw8#KIRTnH|T;1nS%dCL{)>@x{J+XaV4~a$C zK*_k$uA;8`1h4Yo(_8H7&76M)wm&5S(S}d{YtP|d8|AIb39Y@mf&*_2FiD^9RXOo& zCCfDNKO3;L`YMu&qK}Jha5ujRIlkPa<8o1%?m?&#aI?Z^$p2%-*hI8nWKomg3EL4Y z4|3(Lc}c%)7r&!JK9dNYv?)3p`>m*`w=@QUslx3ne(aV1_N#5k08^9|(DHzhPUlHu zQwL{glA>^-NnN&MfQT}2*wu=Y{u>Xk-p^m8(uhU0)7%sPTd zIJ_b9+*yo^GiVb8eD4j%3_FPQ9<1e2wVEw2iM}^W5YM8IrJvMi4!9upv4_K9kXtjr zL_ZJmp%(45A0!d0(4_*qS|%h+0eR8OLw|KKXNDA;E&HNEZ)HOU6l4_Ytn=oz6ou(H zefB*AEM}(MgVGV|ekycQGMU|UnZI?&2LHo3aOmI5!jNpsXDi(60^$YDw7Xo$N9j|m zRS$o{PK)jRM{B`+?{`@2cXh|Ut)JH=JnCc(;tU?U#fg70d$BZV5g^CP!dfwD`xsO4 z5$D9DUQu5<2`m_t^~KvStrohN#C$J!l#f=J;dMiO$#4HE8{kr#^c`GthV6cp(d$Sp zsWj*AjV)3(B=|n;_r5swsEIn;)^zh7C=3SjVyZ=>xTg$6H8RB?S%gg%nHv7m29e2s{@`4QWB+xC0{$Th`)eE8Q_n~N85hq`2> z2Y?-}HBrZ${$TFMcFQZApIBsSH=KgO&uQzt8zD}uF*njE{a%)H-2YI|4RUoVRwRF^ z6zdG7zqB3s=_nI$&LUOxmf&x<3u@p|}as}K9l2c+yIQQk67aW0*t!Ct+e!r>$H5~W( zYytw4kE8`NI@t{V?wIuxJ<*0G*g*O%J{=~rPQ4HyndoF${qY&3inJY6vo-a+=PpJ# zw5ZBN>37jG*%yi7Ws_=TD9DL|5CB9%%&zGteO4Ca%HYtr%@@a9kAfRW+IPt-}|u)HCHvbyMesKZtW?a7L z(0$2V-%mFSk|iV_4hA61V^9ywod3h|ijbegyu6gT^V}$pKAL_Uy4PhTHh_QDK_S}= z8)6I$#wm@xYW;-?i~kDnvhqoa=q%mdQTs){W;B}av@`~QajH3q6I1`9{MYeUInXZ} zVAKtuTX{=)&hBcKfo)kHbwxu4+(!?@2a3DX)SEW}4P_oA@uZ~QY^<`mS6}zWI%!9S zLa_k~*;q5`3`IDQa$@D=DP^O!eP~+=u>&;VJC0Dl<8E$FAS(W=81X=7;Oy5_W?8D1 zBF{p+JgM#EL4Q%yEjge0-=@$KE=)+CrUHY$S6K%t>RH0hrElV4 zn6cQ|jP_|;`-?tiLG(YeOq$gen%;o2g!7aDs5bkRbDYa^-x7cIeBdXeF5ps2l ze`mdm#@yDqF8D`pc5zL%5+26FLQGrTt_1FK#g zpH+X9GKy1@#NN)+^l#@zVp=r60(C+mjfi^Cf`6(J=Dp;v2=V+bl~WP?*w3KqAK#L- z?nw3Olgb_k%zqB9u_qAKnS7o(`;5%*nWUcN30Wg1aBQ}Ngk23jGNoIekXwb=0ufMc8maM&qBk>#arb<4^1_eFo| zsw%fOR|~~DRbsg_52fqf!%!~8aJMi&9=$c*%++g78w#pY)}FifM3%pAhFe2dS@Wub zi3=8{K&pIi6bf2#1saYTgGg!9h( z=U1##Fw3SgM+vol!bvr96E|v&PPL!|Z{~`~mGxFA4}XJ9|6k4wi-XUd-D^8{$H+%Q z0|uw7fV^F&<~W#q8Bc(Vj|zi>2600_4h@-@`k&7gZHrOFk^Tn$NYn8vg)bOKArpF&l?0Syv(CSWjV{JqoTc6B>F8GO zYV*E@d7vnJcRE$%U6JdrjLV2GMu}%h0n{NVtCfQhai47{gh%k{BW;J3@!Uhn+ zM7g*GVa)7FV>b0&cKuZR7<*%zX1tGPR$ zSo>(1UUp`3To@}73Y=Q(`L=oZ>tp=RqaOz_f;IoSI-NEY8tio~-W+XtC$~Cc7hXT! zQbXT5;%9WgGaP@HiIG;oIll-zkOo$M@;6p`4&|N(&m4aCP_7IlsPITJcsP=UcQ@9uXkhh%!iC z?iliQQIe!9E&p?9?{%~Je|RTpqqS~8T(u~0FbrxHeJQTBWH0J?Ol-uh`;z}X>#32V zJmj+V#JAeg>t>PN5{WpU2ymW4+W$C~vWdN?LS5a-DrJg6gOyW&CsD^Ql`?X=$^VA% zTtkC?@y*~ZD)IAN5&~Skz{^sLb_fh>W!L7P+zCy`yNL*vQi+jaeCj8#a%590;&coe z1F&1Y3p1=urk*Jh5?(oho9h~4o9=P_J+UWG;+8=h8lx(0D2~V|iBiGW<|UE=pj@rF zwyBs9<&^P9v1y?mx67xJi}=adzJT8YGO;G-VYBDIE7coHXITG_;Ze6NtvmWAHk1gW zxc)i-{Vdvc%S{vaWr(&tyS_M2M@{h;E`$Cllxk#S5UaPpd8cc$_6MmesXG8 zwJ*)e4sQQ^3uZWRrbnDTStI1Ro#~UlDcdCa&<`spHv0?AT3B{L`m!9pkuPB7-@7}+ zzg8F~Z90gfAX1|ce+CBJi(hca`YN}?<6EFGEocQxI%Vd)A`o*I$^30(@C+(Qnty!D zfzL6r8=$szvfj_VfAZO3!R2@Q0_Qc_io5cmh>prBIYk=Y7~)-IDAxBWtC5yh$)vP; zr#nlRn6z)|tJ`N*?n+oc2XV-_d$j^$J>g&+gz_zU!1T$)5sjb@2y*<7K!3ynJ`8lX zHepGCdcHK^7w=4wecP!qIpJ%~DFHFwLLb^)yKJQif|zlEdwE~{O-9#x`Yc(cz9-Fy z8Y#xd!tWb)hHDd^viy3p-ySlN@b%AEYtyQ(tFW-sue{$sW;#g}9wz=rU)VZo$L=u| zI8j{Mcjv%LE%s@T-xT;UD{VqKLmzce%p`Fiw2^|hZSjwg!IWmd%bR!i5%}}ZLPVzM zJuiMqpX6Sad)s67b8^t0{cFKwaYAwmqh#K1C;^B@_G>teh-aKbViIycD#bm0X#PCg z-YBbdi0SS#dHr`xYJepCi)w~r6e-<$^~qh2lx&8*4ywKcl;?H z5`8K2;ccZvS(=z6M{(aBQR2OU`g87j>g5sOo9yCMeS3do3C+t^0GJSg984<@OSr#y zL4mYL`$NUfXOO|BSosz8_ZVwZEcTa<+LFrp35h{qCFy=c==zS);2>y&(GpRjcWDTC zqk6lMte_kj>`l2OdB@PBh`xO5EwP!1JObDoSuLnxN!jU}e$hx4z)h}zHj*}=zari_ zKs-bvZnV;i%8U}`Jq4ZbI&#D(LJG`s?D85e{EB}Vf!CEp*bisUHX0%ppp{+oKZ)ch z(_5Kvv%;3I3Lbzk)zcz0^*Jri2`;L@vL!svknJ7mikQGNb*KCP_}?$LLIMU!C_WSd zSYraGw%$C0lB856f*~HV7yF5;75bit@rI&bNE;7x&jVr))`6#=a?SJ(YW1ZDu3so`2{enL7YZM{Jke! z9aZM6M*eyE+AKiCQP=kzBzVq#RumqvA*@|ZjAX=R!KWU>#~qA?@e|H?aqpf5{Mceo zdfKtNph@PiPs25owb!+o%Hp*5$1`%y4lkGb%o)muQLPE-FDaqlntE*kOe1g2P8U=`;^DXvzSeaI) z4(ys)UIVMw0}D(jTxa;jxX3g`L$n^W@y`C5-Agog;`wqvRwEy;D#|Nkj6x3MoV{uV zzt-$B;%3+h=PO#?cg$BS?FsaupVW>o138bYV^VZ#k#ZM;Rp0T9sL{Km54DL@5en}Eao zFyJpe@@(S#lMb&b?5MumH|n z-7K#Lz%U05^SzzBLd7jsA=i`x0<*z{5?PKbfib%TOp98{o>iXEwfTUk{(hXSm`g7Vl=@0>H*dY@$5V&2q1naz+=5yg5hYy#J!RpUvOs2G{}yJQfg*Z-`uw!%s4VaF20$AO&QrSFuJ)6qCA$XEZi15MHUcb;dVx(~B33`@+liY^2t+ znkww1%Y=?5W_oB?3jVbDY0jv7wMpK1jFK?Iy852W0>LH#N@$=4Xj^~qn0K0sI$Uxe z5ZCi(2Lwr8$PGomQAnG z-h!Q5hxah@#^}pjAFRCfC->{^b(ock{vZK;)bK0S zH$!MEAZ<=*!eip8-IQoX4K^3Mj4Ek>TA@NM)Y1@DH-je~G7Q3wMegPlvF99AnNsH6 zrqYXU`PP%u0>1DU_R+-XzCFH=1W$+N`|W7bNYLPj>Z zK&fD$TKjXdHym+TQxG~65juUm6~5}X>2owY|6`-}vEOX1ci8OK`#<~he>5}?njZe^ zyE(tp^@q*a)JRIa-f)(3oL$#0g3lm=t)jnaz=+wV9Qd>@2w^GAtlClS7k4;O463!bbj_J z^fq}^^H*@aDFPYF`qWsEu!cY5)F5Cz8aBgLXHK|Tf4Jkq!V7UM`ti$a!Tn6O{wLJY zTC!Y4B0KWgFmj!E0UT+av3z=X^t$;^QX(UJABKunp4q`M+I*}DWmlBYXD<0dIf1)u z@H&wmld5u%E870;pQQMHn3CO}%dCUsw5i>zj{t?nZZqJoYZ$c+?sS^Hv0UX9|4e3Cv-`>)k&K83L+q|_EBS$f4D-liz(K6>VN zOIIW(ze8m@hnf=1Q&>5WWooy7**$o(Q}*ehg4oT0D|Sz9&Wt*e#{(QX4%jq#g?w~U za_ z|1Qx$E%W`#P$x^Z`=e_1=ot4GPXb5Kl7>CvlR28NTC-_rcJNf6QPayZBJkyruBeWD(&L{`7N?o7jM)PaluM z{pY|fgWc=QvMQZKSC?^zNdp%u0@C>>X}nXRs#>2us%8Hs(OFlF13DB z^=;s&)BspnBo8fY7p@5S(EMLRvNb^WTcZKBHmaN=q1sNJl{R&c>Jr<*{P!KVxHynZ zpg%f;m7Y_CfKAlMCJF< z@|s$+e0vEaG_ZNW%Qb|Lub+wJ#(UVW78HHx%}=5Ahld&hvIx_ARDJ(|JW}toRe!_q z!UK`8A4(Apn(X_p9ecdxzr*T(dyO6^?4u5i^qM?KN)VM>O`51cNXZ?g%p^t&&bu8LkaU; z(`RD;SI7nf%1j$86_2tE({s*=+S*hiTgG1k0>Wd6(2VyxqDHS}7@yNsQ%!Shq(dG0 zI-M9&L*G}Lcccrgplzd_ze7=?x35BgI)UNeJKssbIALVf+i6^9g5UNf!1AqG_wGM6 zq_{wcW@uAWKTK80Mhj@+&7ZQ}cF|lnE)(6dFbq>EtNhd1pamEmg+bdj5qQewsDD8QpSx%lDGAyMGEUX8i@~mGO=nW8%2G%4G>?BJq!x_x*H48 z#mYpFH4+BuUERwkYc(|A7Ry9KtGCYq2{F-reqqo}tmk_2)zaLf3PE*!JdmZKTS5PJ znw+AaF zS+wyaQ=*8tlHF7AxOJ73tKIJTQyd#cf{I(&h}L^&NP2)&zJ@i5cCM|obQByczqLIc zeyg>C!OLp$d$~KOTcnnGm_#f6t2bE1Fq!|(d#}CThE|2Pp|KS6uszGuOW(tIuSfzH zRs~0bz6m1=(5d?%zSID__ndvaIFk8d5xLg$)#u6jzzXfcY6c6^!q{2agHj+BILLE4 zUFp_DmJwUAMj5SaB4OX)B_HGxRk{bxDE`=^n)*Bz@beZsNDFb9)HUugT`vKmRwF{ZWclck+u zN!L4%f4c06<53*J5hIniv~ALMMFl^Id4DNgAZ&mn@9x=O;QhkVYnD6Fyo_qBEcRFk zv0M^^xFvocWU!#o-!2^m=S>36PuQ)xDGAS}7R;~Om=UN8&@_*8N4o_q&q|v=W#ztJ zK8hTv08((G`vuE#dze*wnbN|;0h%in$vt6ie3l|6IxLPcsp0!OBfwd03ddLb&^#5D z5%<2->$<;EUE6~gdQg`QL<2@6sa2x5_PM80`vymOxRIyt$_J~A_N}=vt;9z%l}{8?M=Zx6@%i3-`=!Gi}WQO*6T^2H92S!{p>P1 zpvx+D*d(zleqqdvT+ih$zd7^9?zJOJN_U08oM8EwgRE-(p)Q0|F>?LETaADRVd@+G zmEFH9W6PXAM7LMyAZyTvYeevLx`ow=Sk$mdyg4oMYN?dCuov|VT7ReFnPPpfmg5cf z{8dv{ZlUt2bG&ft_(si*uQ8+QF{XQPM|r+2?dMJE#XpLxri8O$aajB4Ur&NdEM;ph z!?H{`n%ByT2ceaQMYn#V+tul5dSl#A=dO)Az-?RF=wNCu}6x92|Hu4n#CpZMym}vpAgORPpEZAlPF8E!`(K@-@u2K$7>yr;L-( z79Y0S_N7eprW>z4iv4a&cY~LS2}6S7{H1jo_N#VH;>_{=%hZ`vLw2&HrzDES&a6% ziQ&3wQm#>qe5ZbVPG4^CIG=dKWSZgReL(|A5@LZ-Lf8vI$Xf9xbWy`T@2@0PQzg>8 z6WFePElvT#ad9r`eQm>K*h`Z;%H?V35HB{bx2EOzPaW-i5~bq3ZVaDzN(Zc>d)-%z zs~A}-Npg+PUd`CIwdjnSMH8$uiodQEF*y)9oh%O$u~_>Y?VO(^as2R>qM{kvNj~6j z{^VEi{WlhC-y%B~XObZ5dU03_M0r5#3#R;>J%xWYi}w0SDxWGTqXKi`fErG%-WRYW z1C*%8vA+NZfHL+9zjqp10SLp_DrM=Xq_kL%9{_XIj8ZsCBzuuxA4ffU4s#7&<1 zFpJ6J&u+H!&{LP^kwCAsO~sF>vX73r2d%on8?CZ;jo}5yO=)j*+b@ObG9hq?q+q95 zubcM2D+MhziZKm^pANlfuF&A7S)}&@f_+)J-;N&AF}tz+$WFW;Td;ppNN=-@(kIM! z@(T1$8*oLy2@Nz}-DzpQ;g9a$(9#uGymSh@bVLF?XbSU|i7p3I*`P&4)ufzI-1gfn|^Rl@;yoXRTz0IP^(G?M}1$-|4w1kNCbH8K-vpZ4;!Z=dk2C=|I)NSM&d57~#9bZrwe}X$b%kM17jZPb}+55#CfLY(YNjO-K2OuLE&7MuS&VMC&R`bRg zM>9G5_+zLfIV40nFnwTUi9ov>ff+AMOl=kZekTe6k=MJdAStDrhG| zDZMgdX()Dz*@hVgyt4(o_r-o-p8$?dWbYoHR18R;_)|}oNxs&B^x7Xtj_ji<0TEtz zhj!1QUtpx98Uwz`M;|1hoPCb;uP-?}Ux1@DD! z!Dn6SL44*2V6%+4wr z<2!nI%=?8kb!)>Gh*{hC@mmrJ%)}Q;_|eL)sGyNG!i$9LE^d-ck)q<O8+3_Ij>mo~(ej^PGPJg2;-oalf+V+iNzUV{Mal5C$|7` z&QAQ{6uiiAm;CseEbLXM-eLQM!wnQsV$C##HS(iFs0b}&<4B)?Eb9V3B{(<-3}<{_ zQT|6=NL~c8@NFGK2|sxSaEK8y@#ulcxyXdBz57%~OLfM3sPd`B8JrNmM%)q&?~!Jf z?^AxRnY)8quVjjvI>XX{aAXv=dHBHDpeLTCL0Hadph-h%UuV!7Ah4OZ{+sh*Yz&$5 zKl+yUD4k5bhGn7>#~cOcV!ZQhd-? z!A&i>lazQ9-S|j^0Phuzr9A!0gU|5bk%&iMZz}4y+*}mh(c^y06@gXBWeXfCAok*zQ!EQ9611+}**}16M$Nk_IITZ7L0s zUCD;`qndhdt3uC{Jbl0fYr@f&n=*2Pmz}xX7RFkW*@nNVcDLOgmPvd&M5Fn383vSC zCGDq=984e-d291>`)JSY+zIDIjzqCR$&FTJeKPo3_J@EMM?6&*V&Q13MLe=Lgq0g> znKKV{F}Zs?xWxLv>^~T0$z+GSaJL)J>bz=I0lxZfpAKK-g}~h+HQ}j5AUO!E&iz!n zEGvd-`QrKu*c4ZG`5A2q@Zz%Q=07V90-_%aGLpXR>;Qqfb!og+#E*g`UzGpabw|?c z5_{s@XFPoj^ZgEC{9+@L+v{ZFy4YuUkkQ)OB>_mGP_54nZW9WP*7c~}ggKbpt5bq{ zf^4H#b7yQwvf74Fw@AGo_FlfjG0EM23#T8I&1e&WUOjNd0x-v@pq)>Ty9(b3lMnkc zLdF+C>Z|AoaJvkBXdB>ZWx-0aa$+u;seeJN zl>>f8AzYGhQ?ym#iIQEh(VwDVlm)Pp$tlXE0zZaom@fdiDsN_?nCaQ8_{c01-S14? zPCZdiV%U`hk_DLMzV&5XoiqcA$Hz;XhrC?i)?J0GN?j0y)dv?iLhfmsB3w-t6l%&?;6LQ)Gav}Xf&)0yH0l~y2nyOt3 zz33nJ5R)zTKy!KNy3b6ux;|hjkil?ihG(DR#{dHQz?L=lpWH1)R^O)%;J0F7HmL5f zSVfZDw^=tUPg)@kz`8acFH#N&FBuDzZn;1Sq+8llj#x*b=$TPDIXQIgy2MC98ucQmQL}OZp2Bfad+s_H&`^V2`F*a4#6Z z#-FWAHULEktn4-?Jm#lnh)pWvjiTmW;^5X%L2r2dQ|g@uUB>bwQywj>;zcs8hZYO-`QOD zk{*56{pYw&hUl=`QKk>}{sxf(7jnNGajwD08fK>m{ZWZL5tVUgWE)oc*B3>P|03U3MjzQ6kPJ4cCq1Mx(O7Cto(XWfMO(?Ew4+cw@w3LAa1Oq4}A}=wH&V zxc-4@1Z7+8*D8}a-3=%CjrPN=mV5G*U0k*&(M3#X?r)Yvx8b-SAEgLKqrfuwX7$CZ zML-aI6Id`G_e8yh;ch$!naTSY+h|uRvO+8&9wb)wJtSV!K;tStY=s~4i;^N8dVWt= zUw&%yB2{An$Re(55msE{x4JQ;hi3;{HBUt|xN&kNy5_F~Bp0F=VlH#_Ut^{Rn@~3% ze7Vq^yq#N5Cx!R23zH^v{NXtN_Q_pW`Hcp4feT|d0$JOk=_i@&iQO#i(xKze-1C>) z{Eg0z6XbgQ6DUEo^6VjW;QpKt7BlC*qogaRL$h||$r+-e6n?!%@!bqEx=~74{Mxgz z3%p1D4)Pl#FWJtX)c0Y3$tYM(c0)aU?#b4NyO)&Qpx!ecpTljUWp zs4W&Nr8~5&xBSLAJiM|gtQr_kaxM03cGkX^exwb4cloK+bwrF`T8-y6t9avsxeE{v zZX=Bcc|hFqM^a+K&KC3R$}8Quz$Od%FBFegnJ1bUY6m=z``1Qnw9*SAqZIw~DwpJ2 zvL}VNP}sS^0Xx&Rt*gr2Zqu$^&r^d8VPC+11Fe4Ta#Ldz%Ddx8NDT$!5{pw#1~;^s zPHz_UOsWm7Dk-kXniP#DlJkj|9X`dkz#rHCY0xU?Q{_z;sETm?d0a<$;c)e=z>(tu z;Sg;X9g#s=XLBB`P1wgm0GF5xJ^nH+cB{Il4NP))qQ3f1MW#o=XI9$_0vN8RFNbr3JushE zD!bA`9_J@r?(IFaLIP2^WQaK^Z&kg8H0O?v#3$ z#W6bR3anFMD(ilcOEi(SBv-(lJ?z#Ry2J=_dtvYV&Q7v#3$A8z9(yD*pSgZI7J|VO z4eeI!3Y*!ff{$kbH;z4k-_E#IB$ZbV_3RE9_*S%hHz%J{-an%&8kA*EnE5@M{Y>lpi+{Q=O6+0K_wFqcbo$}!7FF(ra3 zM|Yfa8jQc#wR#(dcqc}3rAKDlAug-yt@{SDCjSIBD?sT!c4A=obU59q%2E1Mv` zG121!cCirwY0FeQzrtYOsSXw-j2SF_7VKRHNR8ov0)jNmwQ`Yg7sjAzptt!d9QdmS zTY=XI;P$zgIDK1o+jDTUGIALPt$O>m>HhByznuRLD#&L|8P{H}A_8g73P#>J^tjt6 zIkLmR)~Rtn81G-|$N#O;ZW6B|2`*56cun%%koVxFCjAi zJ8Q51y!_LyIN+92_b!A$n~g076QO1%wXcv%zb3!hMYCEpYX&*P0$85rY|7# zkrh-;4cn=uwnL*qY5d&qSMc;_SX=v)7$Lc5pyfZZ@KU*EoIKy+z5;F5x4cQx+DJpB zF0T$%barTjMF#SYsw-vTN_y#a_UT*K?oS~RIsW_^%lU_T7lCV74uTq~Y8kEQ09N;W zyoM!RVz=b>J)C_s-5ROXrVZ!iaDz=!zB2yi?=GITT5GhCDZlsVB9(b>W`f<$8*lTl zs`d93xi-g-&eBfdQbFs;3b3{~m;Laorn>{0TW{24%A@+aiYTRk{|h~Lr-NoB zZE@bt3>1Q&d$w1tvW|@NS?AyTo8DYCa@oHW?eI|XFJiKi9N>r=+q?gq9mLMMMjmx- zT%9OX+OCLbsnzpf2&)zZS{3~A%kiHS-e3L2u|FPGTApc7n_)K(zPWr5o%>Cq94OqC zflXibqm)I;&`PW88=;zUbh*6TV8&QM54>h*cH`d2PRFg<8(B@h^~iP*uTH)FRrC6&YHMQciw8LYvj%<2VbS>9-a?|s*P4fGZzYVh!A z-e_!#C+z6o_=}w<XGj3wPtP zJd*R(@c7-ITd(Ml&vk2}U+_@yuyJ31-oXGW$sQvLXlm6Sz$y^~Tdi&8!8aqT`raL@ zvRkS&BO=s8ZT+s*bG+stum|?iqa;}I-5r*4Zyy2qw~kj z3mo};3^ip=Zh4jvKIeoy2Z8>8mZ8;{UD>ecf&*Peinv_CoQ3BJ*?QCC_kL< zIe`+5r{-|%K5P%$Wkc!@L8Y_qn8`3VlwtP3zu@$ zyTP$VqW&_%AXRBwKZPi-{X#u}N{)p3JJf3302Tyc^@7SCbV3)zUPp|_Rj1;hi%qRd zr4Er@{cBwY2D$+pk`S1fL7{v5S%%D@pt74t)-GjReI(bzZN0>~1B zYrR~VU0PxzJj;+VIF%Uk|?@b6xWi@&}PPY-;%h7GLyk1ih_6h0H2$Q zmi%mLZ7|3UTKN$q!0u@iD;%i^tf?OQJG4&R)J%ZicW3cPl0o?b-PM*%Z#@fCu%}ap zys}d9!FV-3-qOSQ*1L=K|5QINh4w_g6*er#&0QUd(|MDM>>!jYi}z_<07JCJbEu#@ zlN>QrF=v8yso1_lMaemi{M&QkArCuj(&R2;%KWZH{F0?1?~&F|D#srtOfVYGex&!b z7C{m*B2a9bf3FM^2SOT_zIB^U>ylPmH*?}d@-s~kZm4^1#ot8loq@8!!~*o8?W7>q|~xzPxq1J4DaU_MEyYYttt%?wN6*sD>?k;rKiY-Sl#j&vcB^SQ#XsOf zGk(^K*Y&)?v1=m}zp`#BcTS;iJ`&;{klRPOzIlCF!~?Th)wuh{u(+1B{y~D%h#@WL zR!?d1Qh;RQWpui$X6==8xD;c~#4y=Fw$alcy1NqbGSeoX*K5+Fnp{>|Nm@Rt7#VGD z4pPpTfO)0sEw2kI(|b!;?;>-!(m4;ZYCMi9E>v+J+S2X z<)3>KZe99qboB^32SjmC|JY27K(*!J8zrjEkthyc^5_iJ|4EW6x_`>r47B37vY)*^)7q}nRc0Kp?n@d9R@+xbvo|dUNa#Z zqshA=4jWmiT7v#}<54

}Q5MSG_9$mHG&LiZK*tPft6$?;AkF8AbKy^cQP~#i+TqUz?w;8yu82w77`BKc}QbbtLhKZghe@6=T3cuSl|9o`;e=q70f z#}&UIMjcM;Q=k=&b+e4o8N46=O;YjJQ0R6${Vjh*EH5E%$Uf*{ynPzB=79!%(Y;m3 zZ#GW*d&ScK28U@u2Hj_@*uR8gYv2sHAN;ozbuFGhPi7v{puwT#CVLSVkp7h8il4YxQiUyYr+}j>-fRg&=9ykV@%}P?H7H+M&FJ9VU5pO zN~*m#=KG;c50ofPJfcVnz$t9d4_EVm$E= zWy^KA2fcEIy=uh9q#pFX-W0GdQ_Fv75M1_1j=e82R7TwV2ks}=gx+0Y`yjNNLBNMm z`*jh(#v9cPr4Y3*?FN}?IjU^ZrV?6HrnElSy2^O@#k^IO&fZwc9BJMikd=~UO*CMn zqm#6HO7C5g%FN|t(i^ifU|lBU%NZ3r#lex7>ophX*T^FWYc!>vrt5VVGr~l(KHj2U z)3aXA{N+F$&a1>u3zirDghn^SDM0mTQo=@v(CH)+1a!V0JI!JVyTcww+|?v2ob}Mw zt%oQ^h)cZq>+P_WDHfc$VOfO0Kc>W<#A_e!nN4Zm66Sl^b;$#;8BXf#{}gh|h0Suj z!@&VWlVl}E>fS4$wBe}{)Af*1)vFQA-uFjR>(_*JHj0(#sO3<8to)x02XX1ri9KRk zNFe%sv*lw1gX*88n5Jo=SyoA+yE3pu9e3OMBwnx67Yju~Mdky^c=XwjSc#z;`@6XV zWEhn zdpaujf*+lGt#OW_Qw^V{1q}{KoWB-7!QAp2uwo@G0T&Bb+5_`lC>;N=8OnVcB>TXi z!zP_drH9@60Msl})MzX%v9=tuKk!{fuN%vMKVxE&`G5$f(Vv^IL2>AjFt7FbfwU$4 zT4IIQoYqTEe;FOU4<_zn=2XAvAL7hmhrhm47@ylu`%@2H8t)RJ`7OEbZzO@2=U${w z1-7i;ywm834+X9K+ELVZ7qhJECp*-XncE#YU7!<}AMfa0Y*|S6V zNONu^5#FinVKR6pr^ZlxUtz7m*n93QjIEoIWxQkjtzY&{Z;VhVW4ul{RIlg-G1b-C z!i{zYrw#;l9tv zyB*uZ%2h4_pb#v=O=tB=IW-oFk;nF+d}EKfmGuEifE~r)UaNJC0+iX|O`_rd%Ps|a zbGvv5(O>`?0l0BF6cYlkipu$$d-0DeBWC5)6XPAxZ~5e6bC1@*a8 zNvmgQp)LKaKYI5JzX5;!rmM~#UhP=+aa!@#oBQ5t-lac5d4hZ|SATlBLjF&o(Uf4L z`pws`^^1Vpj`(1Y&$V84YA?MbLKSv^Ye;76-5NVSj*8|_UDNZpB&PI^fTzZ;j0F9= zFRyE9--$NM5LX5Jb<4vDLb9isMu6ERcMR2OVAR(1{qldhi_qt5YI|ppn<4*)9pFox z_@9bW+p*oOt>*c~fY~y*VXh3-iiwMho1`7&mXpf|5(+XH!EPBRt3!)uAXTZY<8&_wSh;wRAElZVhX)Kq?pm0Y`9{gAb9R zMZ*~rt4VQg{Z>IBA>b{&)+KHXTkr5NUa%}`~kVV4ur?={;7wLG*U^%Kg>?T1t&iaf9qTR%Aa&#}Rc zuN2tn{!hE_Q7A)D{iZVu89t9xR-<;Ym64m|zFI|hu)Zc$+O&4l6H}bT%rEhr8XPb; z2VJ@#$7iRlUCd*5=nlA}FD|E*&c(y`Cw1KtK|=ZO{G(dRwK{wm5sYM(_Xvp%K+K*p7 zU;`YiB|(*s3@5lB3D))1%58G2!IS>5M&9osxlhejy!uZx@I!V3A$u}#+6c1+jCZJo zhUkINqZ1<=!+faH`GL-`eu98~ep6)bd&-Q+lqEu1@s}6fY@_myCB$<+)bUMTbF0dY zkaN%w{qTFaoEgi-i4o<$Q;j6lol_8Zz5+Be_zqqCim~~S7NE4>y?4yB#iyz=nk|6s z{S|s6r_{qoYEqmZuMoOs;4})gy>zl5rVPZrr;!{oqtlwW%RsL7t?CxK6Z>UL2)qUMg~W;#x>)8= zUJP(PwT?=|uHA>7AKg@k=%^U8__gM4OJ6boeu&}b5lmd+c>Uy-!+fr1m5yXvj<~7y zLih?Hp66j8?PopGz8>H;z~OSkL`IJ->w9ZmwdvC&D-j-pphym0Gh15o_iqEst;>q# z8PW}gfWAU*BC5@-4B#vH`1LneL^GDT5l79jO>*s)5~&FiqCN$=t~ot2 zUZ0G9glJ7z3b%~KR0=H|J+Ldp#J(xmXi+fJu@4a&A(~E_yzC7yBBnli)Ef(ku5!el zRXk(>ijgo913?~!-dx_8hHI|K!AhSokmmLH$v?u*`A;%Z#ZNf$zKmPFBlo-i5j$9ZALL`kEG!4hc_P_#E9pL_HQu4v zRtH|SiyN-|CnJ!`WSL)Qt%?uf`AHW)k@!+kxMLK+w$B7;pKqJG1oeR_94|BH=&mSG z17sqVfq^dfJ>48jHXG=f^l}jCX##Jr(R&xX3Jw^FGBc;h4Qdc2E#HwV{CAjiH>3Q^ z{ubGc=Ql@{VMF%6?-Y!q{K=b!YeGDDs|AMPzJE@zL_>Ka%$(DFQ9lzyZY3Tk77qp8o{DW>+_QOL}v>{rS0l)v-35G3?~xe|ABG%>l9-SD;&y%l*NU(;N=&IHGHUFbatT@(TGMxGKi z@@S|(&j>VW%_U)GQ{CQE_(Yx^L&}I!&~V_IxK}E=MZ)yUkuvn06-R+}?8=MFkzAtO z3Pu`{TIj5+<=M*9Ofq!w2437=z`sQ~W9El;nAGyhxvu%5B=aN2n|3lXdu;3wC(JqX zA9SuO((N)Pt7`VZNgY#C>0@Z%3Io(a7eu?)0$?M#K1;~}f7bu~F`#{mpD$$Vkn0+w zy!`KHy62sjncVhs*;UI^fSj41Z)5j5IyyGiz{_btX(CIxs&tb{@x38LTRw@OYb*?o z*3qlktYUMvAf+}o109E%xbxaJ#Ge|_oz`~FS!QNUEW(Ss>&JAzb{GsYcPj4jI<*}0 zsUiCu8^b4gP~(+~?R=lOr3o}$3Jj^vt82dp=Wu)IkhupF3j1~c>0*R+3!t=*Q!itI zc!vJe;IdJa#K@5Tv8_(t-4&tFcZsX$KAb2E|F6FHqfaRw>Iv2>inDRiEM}eT8uY-l zl0#_@eC|H5$oR%Lpt4>>$CTc4@{AD-5s#;g?>cX{K;&Z0k}jee6Dr|&<@M6OjjM7* zXu?|FNBz2%B|<^Ro=t^}OirD~>N)mk+~@+j6s6OV`>civFq%jOuMDi0?+A}1N0pwL z{|YX5LLJe~$GbIuYCpGvM-}^P#1Exnzrf+QjZwI=umC^#L)-Q-RB10Y` z&1{>7sDa~{MSdt1Otz=osY4CY5k5xYA>6|fMhdeD!p7FO)9t&;AiWb?Q~dp!{>R8A9K}g^en5u_)>1 zO6h=;+p}nX5$S7UZLk-_3kURyMAJN@8IhOZN|}_aYHX9b@>F*FM)@VixIJc2HJ^)x zoA7CAoPr_u&@z3Jds zFl)0DI-tMN=X<72@6DFIaKs|Z+K1(5|N1-syv2xXWsfzpU6{`|fa5tBa#t^vJvhde zN;@A(@=p=!ix1nZl^3;??3sEH}6{Q_}c0m_M`61A4g zUfcv%_)ZdE0FDu6Vz$f0DDQUdkcHlxSu#EFHPfk9iU}Bk%_RvH8d;4#;;O__J7$^vIKt0 z)XqiYwtBWFp0Ndg)1(92S6?^}+9q<)l68~WUYjM{Pf+UwJhDV6ce;PyEP)>yrn}Y% z4^EsTJNRDNc}oKl;p+3+6I+bhu2#mc{piDuQ$l-mDF3T|?*U zj7*s{OS}Zm#2YH1zK?-SclnkD$rG>K-FvU*B z90Qr8w2+uM1!V918S61mg)~ROD#~8_CDOg#qdyj#_xaXw)gR3grrKWl>%pY!^U#WZFG}| z%LlUIxx#RE4|8G-5(S1PJ_N(jG04DOigU5;KHAr%0%<&uy%=t&YlX)z-x_TOSDKMl z2gaZdmu6-L3Hwd7@OJE%_c{pf+YA$Y`S$r5{NofXwiMgIyn;)_3vXA4>k?OF`YRu< z198AVdph$d@rzHkqi1z<6jh?ZHHb~C6c1h>sTvxtQLhPdcg_gv25?bJ0VfMe=5}8l zzYivWMSmV?B&A`+((;1Bh9*`e3NNAyVz#1Q5#5CycQw7Dk=JTDn}LR1RBYxe6_~a+ zbr^UVKn*YRd&!nI`TuGRt!i1P;E-C;Zx07<3rb`BRR9npeySlRj;ipk`p9WF$=yB0 zIv9>;oHjI>6Uv#W|I=Dz{68T>8NapwsLoO*CnS&>#!`PEPo0ZMG=4^(vr-#g_Zv54 z5WGw8mUooAiMM4YH~l9e;|raijtoUfJ4G(tKvKwVXOC5*r_;P--+XqBqr&qLksSvX z^_{Qs6EMrkX{lcw^_&j4NsKbnr{MM5ctsS5Pdzab2ULPm>R^&PAYPDbmrs}}E>-Ys zC`{d;f@5n0cM>?R`oZwKVBe4<-Jwz4pwP1PT6&N-pAX~Vw&UQ@th z-Q^M)>x*1KxZDK-@Au+b!-ZsNGW>E!?++&UEjYkpQv$7h;fDL z_gE;Fh6D?9#K!78{U@HjhAzMdxIIlmd0ES5`x_&e0>&xYN^_74Fi*1+ZYf@KBMiU1 z#!o;_{sNSg2;}>3;fYZxIlfRbq`N)^)+ctVdy_*vtJ1ve75!T<6;PCat0o$PK%U|T zA)K^12pPKaztr^JtQ&hRug!AOb|T4!pNUbXf-U@Rz$qmB+4B*HxV0o`$nnHO`?-!$ z{gXe_xx&l<^P_*AT9{lN?H-c@z#Tycci6MolTNdah`?r&^tm+_Bhj=)m1%q8K8fWKl-wS2umnlgn5!&QuRL)0b>Xae`bKGr!0%C)qw+7T_P*~ z)?VB!^7Q+S;9i!yjS?!f*Ej&Kx(I=nfUc1R539^l9&|HG?h(OT#fs^&1pbCS;OhwO zOIk&0YE!MR5Z4})gMe8fW-<1W`pQLP(19Y0yQ$J{ndV9Cc*SBD}XYP;ua1g5cWp$iA6Ak2d14jA#!kBCz7F5P^P@ zK9%m_BLM7pCI!_F$a!mq1(^Sy7^>8BC!vD9H;RU20#-^>etbIz-#6$#wgg&%W3Yyq zm)GJEea;;!=O>d&P^S#Rw%4cJ`W&3QobN4z#^~^DP5sbDyXE#;o^ed-@>9!t-aFn| zafgM?)#YXA@rg+5+3YX?nE<(L;8WrRw0Gv%o=ic96xte>&0v@37qAI^qbdh0W?b1n z=>m?Q^!9i2^*CHMa?I{g#bx`*ylB5oI;O%o6e>9oil%ah5n~-_~xJyh}yaw-i z4fks)jI`GRM1By>M#4W0FE=>0v+zMjW7tr6hB7c&haXE@UGgVtgK`+%HB^F*12-yfgMIhvS)t zR%hzr<^8XRH%GULxvRhP10VNLLW?=jciTE3=i&@~ew_+K)Pzsj4te4pz+YABHJ>rb zIa`dpC*n^C$OW1t)MxEB8m1M`*PBuy@T!*!A}tbXT9@K;VH1&J|LNt=GtlFjSlFKg zu2S{iKpfH&l+4|Wj7m#Hh}96c`vyiUN8q-B8%YF`dn)EcFBo36w_+LEGOCvqs$!e}iSK%A!;c;+F=mu~D_56uLXi2}={m&hCp8+dF{>IS)a5s1e7O4Od zBE_{{_q>3vo$Md2H2)8MdPti}mZUK#;RTfb8 z+pIop5BzUu>qzVpGbk)Hp(eH4;-Q#LkH$NuyV;)SE1342^oj@S@1XIFk8u38xwjL! zGSV;+*}i*i=D;^7cpTsw;&$DM6^!DMQ$Z6qK#p=FK12%fc!R{tz5TQS9sDn;iac2y z)&1ojShyVDJASeKlS5ql&}TSRmM)7w{VBOo%jrguyrsp*rB0*sa9*Z}CC6TE^mOFv z%G80#yGPCMd#@mIEPya8kG~I_Capp2W%7WgEC1CtPukz83C8h;f4DOZ2AH{QmeARb zFi>seo-`vBV&j_D9Sw6*%fDXJGdi{{w_bu3YU}(nLM5(1Lz|{ll2-CO_wU*{>u*Qy zG>*Lyl^fv&oNgA}EHc3i5^4H#O+;2Ee%U)AYzbDR?SFK!)-1nN7lAQGH+>8)YmE5B zYD0q#NmQ;<3EG=qE$^3V?zacs;^E8s+h&B7NQ3UA{^V-1TDsAE?2D&tzdG%Mywk0NknJ3?x9DFF4>Sy@RO#D`Rerq&}IC zhJGwb6*LMwi~K&PTldp zCAtHD8@mgT#-1#c?S>?+=4=L1x_>kdecB;^jEBR57X#N1yCQ$ zzbSzVPmhLAKyOXE@UwqQ>r*XE?Uxuo$)F?=+7>QqPk z`h9Kp3ZCRHZZ~y*8xZnAV8TDSF;fSDmKuMKQTZKOeODC!r+r;Z{6eTlU@vw21nf*; zfyNstLuS$gd*^s_6*#0jz=EvWy1Rm3=fU4#=n5E;Mty3?u<#cG1P%)UK96EFk1);` zRV{}5=QkkjmARZeCJk)_{zo8q$$ar*e2>^^t@0i$hynJBXdlGOz9+A0kbgby`dpD( zB>y>q^^%|Is&Y+_LsmuG(v&g)p7SA-Vh^G*JdtAZb~3(>FmB$GALHh z+f<3riqno;Cfv+ci06mH)fvJiUxLY&Smto>ftx`>jZWY|mTwhd(?N|k*>q-Kkkm~$ zmtR`4+MR}uARqt1Ll?m3lpl;Y0xfXX;kV_Jt32l-*oR9--YOHsh-Kybl>(XfGu#!| zdhEuDx^kmuKL~#Jp@~L!{R5K1+-@&v^~sV{esQLc0zww^J*_LYLwiNO>G4C%wDHVi zA~D^D>wijUP!Gyrl||RbA;v0$sv6JB%K)cuOci;X1eNqv(6T&DTV6#pCWK%d1~MiK+QZ1zo1>%KyAP4IgL$cl=%(3()GJ0Opk=(E+$^t z!BCNtUgp~1^&x?Hq;mIVpo0e3y@T;LP=o!`DE!P^4qvR#`ImlvZ^+Lgd9D;K>9D}w zT7E`dV1A;fh@5%#&+Hl1i*^>WZbfqoDxEAeRn5koqrDqxci2bg{cxsbj&WLX%lz3I zxNf4RHmF{zrO(nm*Ta9>f4J*0zO$D7>zLrEhf!nkhTI6h%~uXID)yy#D?f8Oa_kLc z$Mojg$AX#=Zx3ISkRii!N~Nu2pE^*1CU9Xo3-T*B2aHwc4bcytIA7Nt2N25QX*6Cc zFF{QVD`?#M0TF@uwJ;AmevI|FBu+5;+xF+vl_+mp+r_mRnCC{gmgO`tny6>-MGsDS z|1xzl1;z7wbRslt7xZ@?SW!yrTClNzq%Vp*6XNmKx>k7S6Opmm>|(c3T$s-&b=U@B z?D(x;Gkx-Yl!Il^Tbf1E&a*O%zO5q7^lK}mnNRT(b)vZ9$g!_El$7RY?&*KDuo}$T zKiAPrLf9JdcfOY7(gJnSbZsm$8}-0KZ4ns-6fK&Cp8VOcd;;ClSA4pDnS?8*9r)2{ z>~fjBl?aGEA^SP5)&f(kE=`p0a2 zfuEDMCC{W3rW+_|pp1r%EcY*2i@oXE3(i7_SMs@y-W(=SC`K*Ld%-U2_e>0Evs#xk`8%rX6=e~9JgZP`vY1anpZnpkf$wn(LGIn;<0TmrEE~zQoWr_nCx)DD^JY!TUExq7TH3b}uz3DMM$A*fwvB zVyrN?Ue-IliP4dQ-+sOmKzn*!@wUF@=qj1{mLQlkC_h)N* zU{KqPHxaSv11#5qvwRh*o(m=UkLpj|cGxnFZuWXZ`d0gxd4jcfY>EN-e1K(FeGP4^ z8(5Z=3-cLY3bUr9VU?H-u^E8Ds`4AT)sz>6o!8Jxk48k`rQ$7pa|=rbm$e)AFm5@S z|7kUOxkk-ifARJv!h7Z0dWn^}!%x-A;kRjTMgil@AU({J^t)UB@90^AhJ_xD7{L81 zyUd%Enq*=wj-J8@NwvVUi{w$sfNPunVzbApVB1HwNab2>;8m-h8eP>{jj#$Ym~m3> z+Y()}s#{7K-d2?NL({ADfxU7HjRK>|n0ny}7M5UTYpsyUl(B%?`fdQ6cUEc$ZHl;JfYfOkl0ji968 zq>XvL0%10ibyu#HMep};Qn}MyIhhQSt?auu2}|JzM|{ zYkSs-Mc(Lzk`O=SJ_Ys96?~2j|Kl?&IHMZGxxpd~zcf2YxMk$yMrTs+otS!n2(*3jU z>b)k`SypZ(9?DE8s+e6spwTB(y|qx08v^+_sZ zfJA?Fg?zeza;>=Sn2^Fz4I_QSbVHPu|9Hw!^t_`k$l%_;&*ONnhhuV1;kOC_1xe%z zfvc!`LqeHCGyQQG8k^S~Oct#X%!8j7FneiywiqUr-^AieaR z_$gOuS+Sp5tCbye%;3H1*)57|OFs&q#hkwfj484C5Q%(bh9q~@^!dAnO^^)Q);=rC z7PR~xMhJVNz~59>&)u4^Q>(S_Hl({#34Wb%7FdfMUs=C_i zb7xkyAUUKV*j&c@)&z!6p6N8o<^FBeM-vr8Y2Mw?P}y6|H`r=}>@P-#Jpy*IG;N#k zb|s37-@$J%RX|@~^wV~o?ImuTs4`*16=I<6K#2e48--mIyOQsAblfq#|B|ep@(EAi zTg_8i7HO}1rUhd#S%wgvaB)16Y6*)0eStup5fF$L}6`@Ea?2&=l?rHwz~vuccl9P z{I+G0Q&#drT4pgy&wFEONS^-3i?ENj871%dAEiUl8y8hghouKwGFb@W@H|7L(Qx(8 zqLebv=wknBD{pt@?QX)boIXnTpyZ*`y^XmX4v4Uat*a42Eo&geg!Hd#X^5oGg2o8@C6d(Jr5y6pU?EqUuEr5T(t(s5AY=HL+uk zlCmRd|G);d@w+z#uiSpr?zm&WQKvBKD(sr2FHXdBx@cRm<;aF5dgU&KbH)l)I-UP9~Qp*4Lr>!d?-hCLlIOwlUH)dB(Am>mJwiRbcZR z+Wmgzhsu+W%47o=7jFw|tiQOaQpYTs17e1R`AT~zhu-A6sY+}5QSTS{+$b4(M@*tA zbQh0^i-#_w_+bk|^0S8oxgpVUpR;C;QFHMmg_Txj3;%a-{zGRv+`=dlVV?vYzFx>#^JXUKW677H#tUvK zdy!-vgpsa#&Anks-^5c^;Q!1X zkkw~cdB`gA7 z92lqXxSY%1(=JgV+bCq-vp$&YhymLw^vPvTzu8SykZ{lWljbT9mE05jP6OLpNY)l09tv>DE{ zT+A(u|JxyX!lc>UGHlQ8q!o!~meh|IS&|7W+6NK+!=`F2njFto^0 zYP8MC=I3&5*_F{J@8UB7mx_apk6hAb?RdX9{c78 z96E@4FNaOt&ab2*BT6h8*2wp+M<<8ab8}_*DvTr-<{LDT?sq=lojbghS&Mt5?Av0+ zT8C@Zc%ja6JoxmVD+2fx(L71+^t<@cI3E~Y9&KxErU5pKE_31P**@!b$IAjVK&R@fVum2eDJ5e+11m{Rsu1i2Xw~cW270ykLPC_TCU*!KoX!IV-UggFgL+Dlvf~Zq0$3 z&i84Yzxid>0`b7tV9)Zc{^f`ZtA8{$9;;iTwI$|Z8%mC|3rnzn;w~UJaV6P)n=`xH zyHEVZ-X|X)z$c{f=1LIyGS~a6;kp}`4Tx}F@`+O*CW0@S>w1Oy@c`4Ii;@3#`LaE^ zSU@p>8{HUK4(d%#$?ZuWcTBNgGS@+RI?e?Hm>V<8&aR>eD~7^)ll1yrn)l!t1O1Do zLGQmth_Y?sVQ2y?P$z<0wef%J!7dzQ>B4y)4U9beR*CgF54|9!C2~WM+1flibXNJ;(WzMwcRig2HO}_)QhKIVw;HQnmYR zz&CoJQ7OV)N!VkQKZ*a=a=zkD@aApi%W7SUB9O*37^ebLxqP|zy3zcW|A2XPWD-o) z2)|ofEATHi4;?m0vH>WGR2nrsdr@cq#J{hVwx`QZcEsC3ZPCuePZ8MU=2hjiRfDPVb1A08RGo!gl{6fLR{H9WWU zI#0A=_KQcaZRO+KpXE-)&X?s~6<1Br=%&SU(;jEdZR*hp01259o8yh?3TKT*2KWhb!IFGKIPzx#v#on7` zYrAJz35zqXDuJP^W0{!mH7(fd-`ny9=2xbp3ObEirn9p0&@Q9>r6Ut`_*?G#sz;QY zfLH$2MYs-Q$52*=R=GmuW>p%TtUzJ2KEjgWODY=a5&Nf<@RP0G!LO1f4N8Yr5Us_Qjr=Llxy)3j;cyOQbhE(;$D9+saVVSd!r8-Ke0YvCx8DFa4O zc10wKI~<3IA%m_3=EfR@aWN-E*F@_xTlW8)r7M;_$h`+3Z=T zd0mc`PG6IckkE4OrNPvVF&jcUU=6W3^9M6xnw`ZKnX_SwPDLr*eR$v8cQCs$F4GHY zx347TRR*Jc5dq)%jCMPjqc1;YZi!5UaXva*=DW6JPkop2z@#y)8}A2K>@z%KY_F3l zDx77b{|K|H9IdFqT1`CT+r7hlTkdi4C!-Iw!mIB+_IBQMbue!_gWRfKVSSeF-(M7I z_j{C7YSjbS(=B(@1NGs!q&)nXc~2hpwYrO6CjG3GgAVjt_Uu_{eo_PHujF(@2t8$5H z(;vspHak1slhlX*U5w}VUS`nL*I%qiUpYJ$e*_5WfT$Y%wOkYYpq+l1L*Lt~2NuXH ztk0nlZc2G{+n>MSEF2S{Alq$t<&AKX+|W(~iv_cPf0)gswyh$tfmtuk3WW(hpe}r< zcVIu;JL)cbE@Q?r;awe^3wzQl$Ei;c_UHzAz!qy-IccbFKWpt$j!ZRI(05l}g2~%8 zd6_C3OZofvYqLQ&DIIu$1K%w7@vOrT_$9kdqy!ja+LK5J(U zRCHumr7C{eQ|aPm^(Vy3i*v0buWR{wm1onz%4)3|UCx()rq(5#$=`wU%sN2pd`1DI z{pG5rLye3BlL&Nj9E@SX!|B6oY#i^mr(-Inxn zLAlyqu}5Q)XFgF`Mwij}_pxYxLd$36FcT=!&lLG-8E5lGbw+I60aNxI`zrcG%%=Nq zboAn5ZVPmcRl7&aqWY(hH?-FWqshGQ{3-?9^-%%s^2ks(dh(SD_36s1(c87M%AjOO&-3|E>E3)iJa?!MbzFq$d?2{Wpws=Wz61JNoub71Bwh@|hidltibkTU%du))4a ztXqoq=l(4rBmM;CLPI8x;=l?)MjMw0N13X6=gqmwcWqZpx~AUHf3!mo0AdJR(&zEQ zc9pJT7B67lE*Mdw;5jY_<;@>98CqnEi_2Tx=}LmRaattF8RRZqW*IQA5$Y;DS`~LY z&zciksVO-9{0bz8JW8#aV*{(q5WB~j%ni?9`f;_|Blwbv5&s`a*BuDw^YkNvgotk< zdW)#1B^=_^5bc!1>0O8(!XaApAUfxigB}6Yl2+=vcOLU_57Vnea`~S1EpZUz} z?(FP5yZj8j4dQuSc&odPjMUDt)f(><)klLo6cbD0*58d25)K9uZHz4aO{;ajfScAB%+TwP2c8OsGLj=ykBzSpKm`{MK&_NdO^@D9LV zS0GDYWFBG9V|6^0=jZG}@u=URNEswwx?a1%0)bS+>T2EMwPF4EPR?AUN>BASnmr&Z z+yUA39_kVnakA!5FK|3+FxJ*N5>uNsiL?5p-c$OZAi_c9yl+R=R`EBOuQbkIfPK!68%3VIA4N%k4z%E`MK8m!*WpUHC{^t`b9sV)> zGX({ci1?Sz>B^&0oml)=F{-PiPKU~Wy9LVoZ6ks&^qap|aa2!>xWo9~N!?Y^=w`l` zb)uNj6RDyVjz)L$t#Nl7q0255zXwW(>-;J>lNJ%`Hz^It)f4_vQd0P5ZKL7|6(I@7 zo=jKF8zV#>H&D3dEW5E`rjXsbV2uJUf~a;}#~6%11K(ow<-pt^)NzVhHF}H>=DAIaeN?CM1PRt@=%N_oas)>d96m(i(=4Ma%HNE|;AS`1 zRG$FZHkY!ZGXe$mq-x)P!ovkjLR!sS=Z^zS1XV`#3ddes=WRKSrE&i~qrbDp7_J+a z$Q)1`=WNegq%|%pn9ymgKCZKC#`Wbn$5GBAFYd8=?*P`w0pX@Zx;|We>(07qj%d2k zHnTWaa_y0wi{FXLy4LYG=(I2tvhhV|7IOw=~K7Ek(^gF_=OJ+d<5L3D&o zCH?hQDX&I%?h%vb#r#4c%*Mz^OIx+n45+%!cO?36u{S9fSk@^rD0{U6m?SxT^Od}> z2v~Habdx*9v3>5z>cV5i&g%6KyzVmU5!S`ao;RLH(=#zv3nz1?PhT+d0BZnBLAKz` zCWfIjSWzn`&G%PM>qxVZ=HH+iVaor}p_eE?%m}<$_8+HsS#PY66u# zC9OLgE5fCEJQ#vhyiNCECKzPir@BvO5CB}849HIJ2GzXZ$k-sD2@LmdV_o4HFIabz zaN;Q(BS>)K8>5%{Bjy|vtgs(=`onWGx^kMadKp=mV0!-FIIoJ*>20vgqz!ty#4T_j z!g|Haqq@zEUd|9D$#0*l7@lMZt0>GG$`2-8*JZTKM4AO^UTKU$HnQ!gstYfM+s;X^ z0u>5*c$_bCjK-CP`0Kf2Pzx$7>st8w+dT)R4!Vw=w5=dZ%aW><91u^fVdS(2q+^YF@fes~qADDn-Zde-I?VUW3KX=Fj(m>(0_ zBa6ir;mz3`Hyt43`n;pRLg}_kv3VkgIs^Iv2{^RTe zXnOQ-ccLD0toq1{x-77$!AaXuVVV2Ki~9zt9^+nx4jEwg*h-@@PmemtNsrGS2SwC0 zzE4;Dai7{q#i+9r^ddA}Ze!Kp5s}vowKc8+n_6Yw$vNhlTX1&l7sh8od!SMpTVOhWa^@(wby)KbTMzV z(LesUtGYq2ZVeV+?{;p>E;Lvu9whof~F`u#3*0hWlmw-I!)p6ys&s}x>A$Xfi zU&my)XgJc&y_8uISXf%iO^4+(B-~?>D0PkR0MJ-SWTZ#kF|N|+eewe_aAF!bO>#{# zwk?qKMHg~!DBS9_4sMLsF`nk4{I_Fq>$V87%IOLwU%ZFU(^JUYJT6me%k^S@YB&yg zwZ`3p{GA@#2swdu_qlu~UD#tCgUm!f5CuCrss|j#9$C=RJ_fKVP|@E1<%}Pj#{aG0 zH!K}VS){Ebfth$6+ay*Ci5|PCNJc%nD1UBP{7-v+5xmqaFraS5?FJD#ADgUToD@mY z(4d=czZ|6vm&GQ);yPm4U2`%8>LSxJc@^`X@5X~7L&>h>kaC=k7Je>U|xPW?wD82t$j~54qfyXzHy~w;sl?zf*>g-(tlB;0L znSYKdl5DimUJDBLd~Olv{eggSse4y;nn*OS#nX9$G9JVDqQMKNzv}5KQmd?LS9i*iXV0t7CC-h+qZ3B| z4zsnD>k<@@u2*PCGA}Fzjr4EehzO~FEV=wx98~X579KXEQ#BkhV(}MdI5KDoW~SLA z>!F8g^$PHIJB*ntx^Q%@n-TfVHXjLUM*}{>SPe&^@^94Wvb*Ma3C}#%!G|m5C{di9 z+ccMG3KqK>>PhJ1XEAgbSUxGkF_v$_3YrfMvXb=)T6)fH=A!bMont#G!d>NJhQ#fW z=pLVe#Vtv0*kkp|5{?O#9()$Wr1f;&C@7!t`z|*KT{%D}?g>)eHaNA=tYGQsX>5J2 zSpp$BJ#R08RzbEY)3u$;&;A+<@fF`H+w1$7Y1N`rXZB-;e^c$!cZ)ANq*}Ub(RYwr z#J;3iNXz*s(j!*;b|%r*u-p9`==3bUPhNFE4YYMl5yXnYx)EjG@|)lw0+U1u~b z{)%vXCeT_j(X=E^&~y9Z+ehE)6ZmfWowGyQzR1e3BhHbyT zl&bp?{F~F^kr+G9Ov;^AJG2Q=ATxh3tcJI4>4pxQBAMkqb2 z4TsA;!q#xHxtP4KZ^Ua=_qw3SyQyyvHbX?r!|3&Uk~%_s^Png z)Zf^ow1x;HcE?0^$4)lwZ+{d{AAFR?xLB{WK~B(IUhBtK7cIh-V0uS()52$gcmfWx zk=?dV^#E~)Q5$P8e}_HD3HnTOSY|xDI+)1KjVQ}M5Au0Tka?@Vq(Y3D*$$L09^CLK zalUGm?8NX_9W3xy#UtR!(l}7hz`A(haBwPiR5S*A+O+rj#gCK_o+GIV*P!dQ5Vr?r zOd|abczHvsYpBJob|jEBC<>fUY1Z9#R~7xNpp2aNT0q{8J>BC=P2bwz)Qid0lOJEU zdcjW!1oVFUDlz}FYz+1+3H7HX*WBA&JUE0jR_c$!Zj?jX#v6K$bZw=#Fc4?|)rcF5 zi&mhfi(ZRmC(%g;;X?Rk3TGN8XtQdxVC+>+t5yX!j&RrK>=&35|8oHD`F1C*a6s~K zIi9@eR+pjhi!Mr$#r8rK#ekcQrqqvn@+SN^#QXG27?FND5uL%p)I$*UZxwUY>cUX zYUG#rZ2jwVXBU5FksiRa%icnbPe?Ssi*t~~gv{H1INWV{mTm)2v{kcRK^?R3rArU= z9kEQaclWXPf>tn+X zssi+5HIs(*T9NsCv9w!Bz(8OQWS3k`@-0h$lg&)76C)0-yfoT?DP(Kq2lE{~F#wJeP?yuP9%5p7+XS>=WxJ>fwO>Hx* z)1Zk7H6R*mOHZ-5G8`{>V&lD3;?-^Tom#zZCpOq(Yb6{VpKSC^ZuqX zoHypEZE0&Le~|JO?+)`#dYxdYj1hX)RAlQG%ZIjBz=SLYYCldg;TD5C(;Ji zvh^lk%k;wVCgR5%aYwk4>9bC;ZwFEVmz6AD zqiYL@TW9kwn$JzP2R@`JRgAZfNb(t@SCP0!CWV+=?i>dcA>1cwNvR$2-RA5c3^o7GZFGhJ3F3Y}G zSU5j;;j*~iHochJ)nem-%$NsrQJ^g4%(R`@OYgGMCec%E~_N zTO8|rkSCDT@e8GwU{mlQ_UPbKWdnV4QzjrHQM2d_&AnxE3v)OhL};!T>Zzc6E0cj+ z68x<-#oA?naA4ncz?WO{4vXX>*@M)VS<;T>nvqcT;u|H=snvd9qJHsFGq{Uz-mS6R zzq`eD#qJ+vFpz4B%vxL9<cA&;XA})Se|tf9!7<>eHx8EwJc>dsCIK2oQLB^7P3gA3n{vgQ$MBIXR~E z_44K|SG#(K#V?yQ7^<+=UUu*Z*P9pzzjfD-ksgx1rRFYrbt4=yrx$T*R!9WcNe%R) zCKJ{vXrIRvhZMf11=!VN{Jben-AGY|C;spKTuYy?qbN^0#X3YTR+* zMP!A&)wl;jrGMkJpBsp1Rg*yeG!62V29YMdUlxUDj+$@|@HvL&BZ zsW<;Rn+EwZvAP%lYQ^&qkbEQvz{e)_1KcHpYAem3>MTw=Hsf8Bc~u4wi*a)&JEsB5 z6OyaxnP=F1$rZsA$vraZtyRA!t4{ClF0Ii3gU7BM43f}%;~4f4l`pfg$BbbpJ{7@b z+Gj{~p>csDXftZo^#SjTE>`{F!?U9BfF#bCH#QgY^!-(!F$xm>3+Bt#@Z4LGMH9u5 zxqBvqkS@&OVi{o>cM}Cb+p2+WYqNGAGS8vv5#PkcM7r4*b@EV zrFeuJBO+Fs@f33tX`~`<1qjc5jGNrd(zpYISDZ3}lh&4i_bJ;ei;61u=Bae40{?50 z=yj8N(PcJsOTeeL21scu7!3G4CcNNNlg*;xMxz@-#r2IZEQuN6&atn`*q^&asp9gI zD$yI1U%5F%PB2zM&H7XiTr$66PQ|(cRzB>RbU|84NWLN5{)lL_oJC3ELH0$!v+9QB zzt|u1scG#QP85iMJ;*%x9C@0()&Wy9hMRQ<&U{m>h;hgl0{h7sf=i85ZwR?3X$EBP znhXXVD(uCgdxD)!HA`=-3qTTCt_aE5hL6Ze zLF-`xEl1GD*%iL8SIKMV-z3&-zNnYjKk@VjyAA9fM}|%PVMUX6^A=2$O8!)3y(6`p zmkjb8<$IV_qIOX44sSN@T}G)AW?a22p>;D+`;wfNuNsQ#-FoUqW_H>r$oZ5eqi)h6 z54$O|g<^kJZdO}^-Bv>%bY+A$cQBzWvbLDBgLIV9KD8C4^(H<_BCGewyX0Sm{HQIO zP43B#8sJx!5mnW68;*$Le^lYeyc~kjFSjyArm*~!I_FcXZ-1I9@(%HBG)Jy^#$`sF z>PU#k0p9Cckv{pZJh_Qs<)C45He6~k?2eUyv}*+}O}wpG1PO>RMx&tg(or^9_dE?O z!}`x)phO|-%{dhTBFMGGNswT|Qf}@lZW{SPz-hzMjqF13Q>p8IL=+z`vL_WLEs^qg zbZc@5G?8>e+{vDbAffyE`1O?n0$nrO81tmC?^|6&RTX7y4Ds~otm(HQ6RmYX#_9Ew z?Z?qkFq02dm~eeZ_HN+nwI>kMeM({9cs|!~^+3brXQkcGuUK zUyiye2W9R(9triKySDfH>drcl*r{tU6=Kt)yx6%@M(?8$2b)0Y zaE{Y?fKbp+r5}BhYZ3G+&az#Yl;Bm2;ybk=gvlf-FU;?oHlocQD&+l4YVQfB6{Mr` zPu>fj6#a4r&tp=w&IhK1dl7MA{jMWN59z!4*C%_Mmmkj#BBZMsY4|lcjQnlI5UeBk zH~62|Slk=FaD%jaS*4Vl9&9NvZ>Np=p+9o{O6`45u`*J)Ambsyl;U`mwMv#%8?iyx zhcO^b`OIL#Av})*wCr)=-&jqj`ZSsS;mm^m&gho>P|b4fLaX}o_OpUi!;dys3+%Po zRs!0bS)iK-Cr|l1_XR&Yoy`Ynb3*u43)RY>R0vx_`+fsYLF$xKI%hXt#`%@&3X@au zvyg)w?Tyn?9s|mo9+_>zpC8PL1+&9a4g3hl^+%2IFMw|ib zqg#raIb0dmx3S4#agpfP6|YmuJ;}sZNvZIQy`SXU?I4^+c`ut9M&D}|;y@xpf$kHdF(sCcT?q@Vqbb?8gwc%&-2LL)*m+Q=;g#c7w-OEPTc1iWOjuRk-Qf8aj~ zMQc;LtBFCL#R${PCJwmH_NCT5w2@Rn6U(aVh;M{j3MH%Z%`E?6dpz1`aMkKKKsAlL z`ugr8;pgAEs?Q;dtGnVkIgj1nqDUq1F4>emY6?GGwS)SNG6R50tZpX>r@5`X)aaE* zz2gVPW%1g(xp!gk8gM+KzBiz>Gw)tr=Z|rD+E<7C?N7+vO;9{IZKR4HlSglb+k=7E zyG?S2pnA1l_?w<11pFV6spuM?61lv2g@@Q#d*`k#Rhj?njX%ejxGN@R&)J^znZVGo zWGp7}uwpN2-%jSP0Y2BT!Ni_yIII`ho0Rok3|(Pj*&Ur$OI@$M`*h#z05_Non6B)o64#04i{Y&3HnfzUfA-i154R#wI-D(|qI zhU)!-BgmrkU77m_2((EaM>kfrj8$p`CBgRnFV;3q8D*zl#$B+eDGMvA7u{O2 zbo@f6NH}^aQ@r#vC9GkyRDFyyI&6tkeQ^pVD|;~S=v{Nev7Kt13d}?seA^YLu03)f zqGM?xXIAcIyfPwGz*o!K-I`eY#J`&eLewph56Nfi+zM8!KN_k9uhgMw@4?kC`0bT? zD@%nu(Rp!YnIE(1!ujm4DYxbKWY+P*gX~g@Pq{1dg&-?=^YF?_v%vfTpL;viVqe)`<_?u|wX|lJKFW z+u;}wV($A!LAQqT-y@E4NFaEWQHFf`&b+@+iV%5~r1hSx`A^x5CzbA&Q=JLaA)e-( zyZoEY!hN_$Orr(>{VCEwSJLOSL zI_(DdU^H2t#nJ?|_i9FLHdE*t(|-)9a?59E!%A~~QPi@oT||w0EqEM{9sTklmkn%F z-dn|=4_RySseKpU4S{;E29wRmAiyKay(;J_V;S`s{E%u$!g6)tY_L#$&~mNE;Ka-J zilk5bH#-L|6iSA17d1(LFpk4Q$-p9@p$-?n9BKj)kzDoq#v?oS--F;p+DR%iN zm<{})Fg^@HhW`mV%U1FWqyRj?ft2J!=Bbfr7VpjIdpTQqea?>4x*W_1#%*)%8J2UHc><$wLnZ62_ zS9(gaS8BML@c?q{tRF8_=z=FSCro^A6Q4$F$N^qj3^bQ1ZR1w1U#`xX4Mr7@CbfJQ z=o9O7xb)jT%eE#X)p%{`uIQe(^1+S8dv~;v@CpXfUuTvf^aVfo0U9kqq6xrdzQI+A zh4IAGnmfDQTl*8>P~rhM#;IAtNU%CNYS)LV0k@`x`E<^IRBji11LE*P3Bz+Z4(b0s83owI zz9#nVrwsPooFjOx%JpsS`m3Puy}n1!GiZz7*o=07oGvm*?AZUwA<8(LT?o9pW})^& z@J%vYZ2?!$&p&4>Gv*AF7iVjDL`Qj^xR~K{^9~1--tv=QrT==TimKSghO+Mqz4Vzn zf^cP8)0tJ$H^p96m>wU!^b;Pr@2QJHrc5B6wrcHDhna>sz`n6nY~6*P46;4JC}>-^ zlhl%wrqXzl;N|&cH<2~c1XP>tu?B{E|I&Gb-%FhLk9~hzqzlz1O?~5>D$x(&hjNyi zxS11)sI5n@Bhhm%0fl@RpW0+qGdMR^?&72Eb-#2Wk(GM?qoyTQEdO}|W|_KbRj81W z2x>MHn#p_`#EBHki%v(g`x>Bum7YJwb2?!MLAWHZ;3=Qd7kz`3n=kfsl!faNZ^-BP zO0Q|;nOKlJ^0eLY|0QJll!`|Pz^DHPiFk20RQlS>}uta75h5m}7igT4(H!l)2!~CWLowwnz%}HLo(F zeK%`NL~ktqX_qbov`Hle0-cxOSKYyxTu2VUo;=+6rz~zW4Dp!s*twrvmC0va_1&E) ze))0qYwZWuv-TOuy>r3iCftbr`eB-H!2LO{+zPS9VoTfYl;X?HBl!Elk(53pB!6B< z?0gcKV)fTC3-zgegx!|B3^o_1C@fM8`x4NZ*3=qOX1ucRfL38z*y!Q2S>ql`6w9^c_<;1btU zNSiwMRb5G5rgB%SBdV87L=l;O!ND84PMg9(!buegeAWB`*COzZ8sRlL7nVFKH$=!2 zdv5CxzK^`-pT9`DT&K8p-QnQb&=vO!kai zh5UW+hriw};$?#xIWUX2>|Z;`x6LK>WJ%E@7~`QLqV5cOsB!!Ejj}9LfI zy}L45K~hLBAjphFXqvD&tM9*E8$FFL>J(dzPMuUWFY<*FhMK7UrY60n9GFPhiHIH3 zamua#yJMXv$McVb{(8Q;ZA!dUmUn-&0f!|eK~zGFNZDJV&wr0KBsh{_{{*uvhY`NG zFJXQ&U!@ehf1f_Ko-lRnLwOjwMhD>GJ9hxhy+;|8OvQnMl>SCIV)&5YFX}MsojFX| z+2#Uce&n?BY_5piqz>`Y^_!*>H$@~%9Z_lOh)Mj>=qdg?wk*i7zhXk}l0K9YuiR6` z=PWz8WK$v{&ecGjGiQ~e)X1lwxAdL=XAHaPajN+@>dm`U!k1vXm{(Nk-A}38HU;~) z%9CM$$Vp9cj=3%4vd|D^GT|lSXsdUg7hOFh(>zJVM@Elo_s|ucMPUH1A`hQ#U%p=s z7Gk1w&Oz;*kCoRGC@0>z7xhx5ue!Pd&8Njt6m}=#tfo93uvLuE+~MWl9_5G6zmB&W zEv2SgHlF@`yc{e%gs%&&6_tO)`$P}>I~4yCpz2Y+TFBMGZp*?;S==e$kIpbR*gVt> zLDulqBz~EFt$F#7PZ@#yK#jp_oOiy!gw)g!#bRngLrw$Qxl}?-c!c$-;mL)BFvIv| zY`LPb9B>aQy!K_Y`pkMkWZG; zZAq1xI|+@-xDVgRc-)h{f*633&WFPhNJaC#qO=-Z?eiQahRf)46&6wmKRS`2$FD~n zgsymGsqpA(xEoGbo6WJ`^Hoj!_&Y`0amxwn(zoB*JJ}bAB?QF!>xt%|tjY)&Km;j# z6<1QX2`aCDnD;W$NqgqDlG>d|Ujmr@Z=#ftZg6Ro$uD*Yf0P6}gawHEP$@gigI=m3 zOlmo~o>2x5c?Z-3l<}IO$t9yNxsEuI|3g6EDLELrNL|Hlj2tB0z~A^hh_b&px!JQm zJrPH(zz|3`1gjfa1Ff73f^{%B@u1X1|HHY))gVKTxD2k8A-3{Phh1O)qUp0Ulv+s6 zV+>Z4T2^%lGa{#D_rz~p!~a%+QEJQvKPKF7VDFHWYZ)j)3p?_HTisK)OijW_JS$vdy0#~p>LKrlMF6Ik-_E{LExbnhmv|~2bgw!syo*CC{u_Z5N)5F=^zi|eZW_DRPZS1VF z&)c#8D)NeqA5^nkHLv+?C*_l%QduQq+5Z2ZtY zWN*(f&Gl^mIITzU+OJR5Dfkk``@C8Ek3~EfG z$q>(L1<~&+4G4?@WE7D+(uoaY>k$SeGUJM)8;>8?td<=)`4`8F;eq8aSVoIhw|q5D(G{hecMa5c^(=**hlRsL0xqU)KXl^E%n;smM=g-GS1t$Ay@yW+ z{ZbEMWd8B?1L5&RP=S^MSDCA123|J0|7ODGWpXXEs(N?rm0t0i?j$AAZ_vMI6E2B0 z07dPQ0&xnkQ=wNjZrBXt=|6$;2}j)YTZZT++LL|Vcw1DlmVTmcz*-^HX%a1RV?ysR6|4fX z%f5Ub=Jz*~j@F{Wo|3F$br-0eXow`!o$I(G{7_jC@v}&<$|JGv$#}wiY5yad(P214 zkim4=?G-(;Aor+#RH;z4^r zk8~IvS=bNxbg@x`NT>9`$Dawh&%*gQR{1!Jw;BYqBN>51>iFE@#!?^2GQm~&%-yU9luf4(C)$}RhPtnO z96f(ys)h+KMyZnKSG^UO_|msvOQK0Y#mlD0tq>x3Vzgo;S}vLB2J=2is=&c)I&)CB z2&XxN_FL#u_fPpaLQrpGUnNIVfLGx{PlhkUr}M1KSbw~Enf?U##wohrecB)mylV5} zra!A?NxkJfP5*jUqxp#AnRmBF)1Q2^^Q`&3JjZ#D?I}YBD@%cD^$g1qVW*i}$(Aa8 zbj<;3j>2j(Y|oNx5j|CJWzm=W^mY~Zc-i&%MfaBf6FxXd;kMfllFFzF2KCt-jlVMa zLgd^|jlbP2!LCq3>~OLeL2ut3Ji%Xs4f*cRY`LQqMQx_$zRXvRL%9GuMX{VPJ#EZ=5Ih zS@Oo(IqaU!k&n{k{ag;QMaYzLXfnSS6XHN)B|Fb%r6aOBq2_lhGtR^fom_g{KiE^bt#n0z3_Fqs2kO~KKFzweteIJk)zoDjpcj3`#LoA_B zGaJ8_!jgIl=oyfIN>L>&S7qrT(ELi=(eR1oLZ>i31%nMr=0i2ykPjI+6lCX4NXXG6 zwGbj)4$@c0ie;#Z=n>uh-0lfBfq^fU?pG-BU=-Ud# zp!`%j`V1&6)kixaW#jxNE=H9>2k}X9V%eFp?a^kt+=Z!8m|tOWy{05fBzSaa!(Ytj)aQkqEBwVx0rW8CI&rbV)3s5gLZTzi7C&Dk@T}?g*s*B zA_F5^OoEi1vsd1PRCrCC_-~dE^F~1G;orwxHt$z;;)4+$KQ_=-+3FDuc{vj^773^V zN;k>@sexi%Hjo{5I17&-`XbsPF8FoxcwRNM0l8K6ja8Q%%p;~$UOUwnNJk>vPdS=l zf@?bJnSM$+{t1vfzSqoCJ4(j|x#q}~eFWZRHPOK!mB0$+nuTi;IaDU*-k5-3(03oWLHDy9D+R{rf-Ra*8K7V2(v z;~@9yDS)GjGw%>!4*9*?9$Oa8ehRL7Nq$*EQ330F8z<#e5!@hzBz^@QZ1P5?4sAIJ zeI+cY+joU0sLGn|!v<}lhi_4B{SPzWTEVxDLU3r}vXB(HbKb;^UBW%^fZw-~m-Ixy zE8%`H?U5?>>EvVpbF?4_;`&t+BBn_|OFuYMk1{6muC`CJx@CM`g6L~-*^P+@ZZtcd z_p$rn=_>|93CsRbVI9h{si|R2aa@^L06MeB+oDfhb7ad2*{~XHWAh@wC}-flNQ3+< zDxZ;$_ads<#?{oFg!jPoN#cbAZ(zn3PYY};5|Yi{ea5~SL#3XzhCCa7$#k!0*)3`3 zvar;eJVJyrCul$VU5^JGuruo$37L#BmVgc9M-_(WuuCr$GTn6}SmaQ+nkrf6?LZACK9_`|r?) zfF>495u1^x$Vd~4@|k2{0_exfnI`_-JNQ)tD+HqzNgI}#Fdr!o;gIri=|-Mq3l zr0^ZxI+80o-v~fu+7Y_)Mx7~5`XaCy!bg;nucnV4P(b@$@j37tRlFm12Q$vq?BpPi zCs12I9-mxeSB`&)kG=J&3c;s00S`Q3Nhd-0d(ArAD!fqPf+w87N6paK zvR{4CFCR1el1GHGP=f2|XNwhP@m3z7gLPj{nCSkh#*lIbaGUnK&OU>8mfLfw^CkuH z+FCsK$C46ukaKJ0`~&n)MVjZu>8vgb!))SSIPLx{whB$`^^b@^SIl=b%(Q!jV)Q}Q z=ms~rdX}cpNj1AqfOK4prf$cCa)VArZ-{>&J=m%_LPS6Dcl55iF`OB(vZ)*oBZ?95 z)g^2MK3;uGCRlkRmqgE9;AngyKG63ZJf3dgoA@)e91peUCh}OpE`#&0e#E$jnY}C3 zd0s|ayTC_92=Ul{B$aj;_&*#HO1&sYmcmBpl(OkQGDWET*N9Pe&V(_qm5r`jwIUlx z|Fmp6%P3dypJ+EQeZjA1<=pQPg*r;4Nn9(q*T0w>yA}XnND_Q8xiF_cL%1zQjuC&~ z?R#25=-3~9%sHMZ^1ReLZna5YAEt~@h(}2Mel~@hFlOT?x!URC0g}&Q=!O$xQ7gHq ze}KXYymYxU5No8?_?Ju|tX$T?D)6rvNNwX-ZzGUL=yjUc7$`$$4W>f4L1U@bJ$c7c z8?$2FqvO?2uHupB(xCRET+mt(oHt?2|2f0;)&jq$O2#1)wtnuU)*Y?>MD(Mp_90WK zb~3plUelBgl&G>%PdS-CVO-%>+9v%%x*CO|7_Ckq_ECujaagf^Qh$ivd+emz)7+%5 zBm`9U=qH)`J|_emjcS@pcDcMPS-^vI)2vKMvsScA@jr&Ac^%9Y+7P4)sDSs?xyiJ^ z@u$PFRKezX(y`Q-5te{TAPt$(tLy)pIijCcv~y}2A48!j3fJQ>VFI!d>ns!^#rz+SrakZ`lO(gor68UO*?YMSJnXa$pd{h{}noT_1f~@ z7uH!*#K#_(OKT8OiiS@p;3^H!JU4zcczG10JlZd%<$`$do5Cg*RS$D`@OGV)9P zS02r&Pisvek_b1DERqx?niY@^V!^MEe}#LPO9J7k>a4IMn1yhbbbO5?zw@FTmd^eHYL@^KX=<+T6iIY8X@_qi8#+0aI%TomN%#qo(L`#vrQ4?%OGOnc-y$IpP$M&%u;?K>q^xhQD(?7S4&W)G z>FKWnTv`$Y5}FQWGkB@WU^?stYz*>m(>nZB;wX?!*z8y_&>=h?l|6|M6i`LU4lK8bVQd4=9oa(2-K^!|i?EEeu8%j8CX&FGTsH?6EY zvSljou^fC)t?-+%!YT)(e1JSd+y6H`-17U!7&f3yb(7T0f%q@#(F!$*i!kVqk0Cz= zn&*G$=?@!CF3p*1-T_i9%?_EssugOY5w6g zCdl$n5CPcir_b8v<|l$*`|?zU;iaq^uG$x;jOuQ_crC7F!t+QUx8zSsMz}6M6IzdBRVxJPMwYv->nl;6lUft(xo#_)AqZ3loAf zPif?pBVss2Q*o%Gv)klYN@u`rIRY-GC{@XYsha0AhG<9RXAtd_bIJ!s51&!>T-Od{ z2PgLfE&3H~WVoFGQ&^eNi&0(VzL3-A0(xKzZj&y*yaS1;l4DKGtR{0(eLHDlIT8~S zkjU#vwrRjgj+HIzHP@j;1NcF{Sogm(?s5VtgVj7-xT~yo;oDB_tB)9*Sx&r@f#V4e z0lP~fa=)Rag)RaBjaDt@SKRIk)O&0q!YILn@aEa%S3B(8&dx^+ag%`+6&+#4sj`WgtJI^Aa>;`D%7mk8 zU>WrMj`9qM#R%1_^&~ke)Eup7=RJIiP44J?ls>QuS1~V#_f!MpLW;}D)U_W{Kp7UK z&fwELGeTe089kj{xJabWof53aE(X!J%jVjJyS1)TG7PT5BL|0uVt}%?9Y}ZF(Qc=@ zdZ^*dZQmoGTCV=5ZWZWQPV_@9*ZS&vF{r=7$ASUY3VbtS4Exgc`Sh4f~z8 zzO@Yc&sp$~MwsoM==4=5(u$@e7{>N6f~~EuVCnQ{ z?>~DY$=V806CnYP_px~@0MPQ%C+daX=NpIuHRPdDM#AGvjF^Tbg|^jF#OL3VF@7n) zQDUrjIV3+p&aCLe>U>*YU@`!+ueC`2aGtBq1pZLY&@L%BQ#nm*x7{%ImaERBfchaL z;GO*vP?(!SSq@M)F`0#2KX%q2B5~Q%KGn>7TVQ-9$BTq64D`RuErpPFJggvd684P+ z2AWCy2bZ2^InA;}^P4s7z2^CChwRlB87=e&R_h*cw|8meMD32kBOB~pDh3TkD$x|U zPfoBq9PRw8nupEwT=jXxORFkIq5tdb+W(pQTH)RJwBKYxu!-mY@ z@gc)oGi7IHqt=sPCj-lx)++9M+dT19la2RrvVrM3B$-%;lsK*wXQMz9W{Z}ezjlsP z^V}bTaXVUsD9Y%L<~+M^tvzzzT0iYz(5AxgqjC-@80v+1m!Nm1PpA)U-ZYP$dPV(m z%V%nRSAs$8oNL(e5+kRRs;gc5uKOvPS~ngxyym(*?Cco+_0(}hLiI4>W&7jJ1$6tV zPZbFm-ReJ2_wOY8J?^VElHyc zdQk!QU-d0TIls^D>ugalud}A#Qcu!KL!NC!Uviq+VGi3da_8uq))CHrh0bS_^Jl&o zKcLU1nR@jP2ku{gy!S%f^Cv~)@U`U|2E*CGPiht}GW6vR*H2q*@W($oMbJ7Krog^@ zGv@N`6Sq$CgtCQ~eYuE} z`60^VpCEZbF_gI$G&y#7^)QsO9am%rr0FTNM^6V zFQ42xk(BV^xq(iilYP)z`h!1tfdL5?RcwoxYw$L22-h!v4m-?fs5>yP9W^xj7cO5V zBkg$&Rt`cdw<>_=#xLJJ$e*XbrO)fki*8+RUvn2!!H)w!31yu8v<%qNtTLyfJ)~41pa8ui*lWX+9 za82-%d*H;|e#5GtR6F^CY&-EzpIC*~7#hhdh_7e5A}-a>4erp~FjDqAN+5$??s{Vu zrS)(l=xKVv(ZMgz02DM{R$VvbXD-_VyHfIV@I0YH!)37Y;XKXUKUJq8Is8-TZAZ1` zITpKM-ZWZps-TETA0)NkYJ%z*GbbceTO~rTG+3Z{Z5jPl=Y;Ko(@-564I-KR2BG~` zX>|hzQ?&{6S8kzhqvbFIItr<(M^uE)2tHW21<&GPg$kHG+`>&gQtVka+xx`owI(QB zm%`Z+R4EOS#@~%XbfE z^h79n^X>QW>DBd9+p28E**^VUUbWxrExVzL&1D@-I157?pE~A%;21b-A1596SKcLN z&uY{ylE@ieOoia7RXdH~Lx06?%9!ykFwr;#S;K7)MCQfd$8oD>)SX^mw?WfP`SVjBd^^JFejP{6Msr6 zDO<%!M!!ND6on}=D%71;2V@4}KpgGzAau)xj^`d68xqHiPC8}%(`d<06ehV?+O!?$ zeoHjY20~@vPW^wjJvR_O%9ieDqKPL(Zs$}LL%sgu&br-15alc=PfDdH=34Qnc#YPS z_4!>m25^3}@G3kE(*N>;o@9Zs$z}oOFuQ@gc5PhU7tj%2g*DO&7?*x`_nFa;eA~F zC!(xii=_`>+Qx0iB~b|}_CqZX?4CmOw=1)! zcs9=fbgtmjSxo5jhW0i2=)2x(0SCi)q6^nrh*HRcd0dahxF%55@M0_v7%rFow1Vh- ztQ9C@67ZVUTd)7GBu=m4#m+L}p6_kjUYx^4ce$stMHi%7*!v1?hMupjyvN?jssAK; zU+xZ+jWNPswB;3rJ!4eZFXyZ^b?*t=4rloxtJ+?m7?}vp9n~tp=mfkd3s7a~*Gn7YtDznRwUq3V62Ze&<5$ z(wV)=r~n~)S4i4DOB-U~*}ES~bDw1~rB}s;l4`q8zJS72q1tG3`1bP#v70>DL#+S$ ztJvx6@>GL~49w(|Uz>@lR3YlmC#rUbb zay#>Ix{Jm@m_qvC25z*L{js5*N6;#l>CVir%Cb9kgc)#_Y5&))q2^VaOe+MK``{%~ zC3YICs;{cc+!hFY5k*-dB0HOYM3tG~4>-d_0{Y!f#5RL2S5=$d`5Qah8mbardjg6B zL5@I3%xvT{uC@k<>%QJ5A1mBL4=3-anB;U2O!M#Y#!wx|}YYs2VG zLl5^M%ix~R1X+B9-DzJmW$6|YjL5`>c!7ctVsTzBs`GW02;f4RA%hov&UKi7Q*m=Q z5aXk1{2O)}m>(~=e&AjiwS|6%Fw!D+38LSx(9QGYD79+I_Mkb(v zu2RUHL6%O{pT7GE=SG9Z3!ZHCfJTNa#O5;W8MQX-W7jV`ov!*?+OXmXr8#FqE~ z88Z;YsSHaWX@hQdc5ScPt;k3N^k6!|^rvCHtH*tlv3x9NA1hBC6MTKYGmiW3X7y;A zDu%pd`J+FzuKey(;)Cq^qBf;09f!5&AvdXlt1hlF%hxnXx!Qv4cp8<`s$e?!>-jMs zZoC2sMR{@)*U=p(n!M&pS0)EB=gOR~yHyX2FiM^hYrRi2`fVm|T>0)6G#^l$#gHy6 zf-N0kIK~wN_@);eMVbs`IOp8_rT|x2@)YHmKhBo$YNxF;4mOaBZ+K>y)0r?f#NRA* zn*@3`R>6ECl`EZt-bhf%u0!89S)ASa$(vCU2LcMN2i`%iECycoCwIE3T_A;~lX`TO znzi^}t)`c5fZsy5UwW8A4>FeDqd-{RF zDnM-MiFWgc;6{5gSq+>y=QoLA!*O7YCb&5fbBB`rQf<=CYUm2w$N5OcmSdI-$-CzZ zN5bf{)br`jwD>Pab?X?Yei98*1`R&GgSj)#-SSz;-lTXrOwX_Q=D%UOKC4hki2b9k z>L3}g|2)ZE!`+omJl6l{h<=}al!_MNm95ve0}r>O(5m{3UaK;DPxKK}mdt!?;|)xP z2z{WFTWm5T7(9B^y)N3KEe~cAphHM_8ajBp_Ng`LCc8M;IbBvIpP!d~G0(ZPBF{%e z7RO;(adUM!QKL{mK8d2ndy^c2SgtcAdPq`FKiRO-G60;@0pzJtr%Wxk|0gMv%Ee==j@UEJ3ee`j&yIq*2^LX>4CGLz*guBDAEE9$#*yg~h63znK7xmeqC>q~! zFKzKW;E`6GN>S5IhR`SV+E<&@S~)tfZM9nI*GEkUZWbWY8p(X`-}v$I_UN(Imk2q4 z2P#SwNQWS*hoeZOzmV?hiPB$OUXxceW%)UiWr$EgMA_oix~d=(eDsqpx%ko=QioYs z0agp6zHNQ6mOGgse>MTEqA-Mnat6A8pUONqt<8ZUQXe1{u1VHyxa}84Zbjn&W^PCH z>)UmqMwp|}?nfiVM>yqLJ&#(=kQVDp0mj#8wEzpkiv!BCJe4<8+^Wo|lC1rO>*gL{ySxWHf*3)08ehc0}$0ca`HMZ4t}X? zwl9wEQVev#KL!a*-|9i-8(*%-LnIJH1QBRNQ<0dFCuPK5C|(UUhROjrh% z6>D|_jC!hk9E=78cn>2Rw@))SdVdq;>b}z~Rb#C$ejDjiDHEKK836)mOtcI-_`MwX z?SQf~7=9<%!@Ob`;dvpURl{f6);%{A;G=;00=6Qf3g@%fF?EUK=Y9%bc$gx5)MW|Q zdZ^Dd(hy6Lz4*}YQ*1zb0(b)o! zQo${IyFxNd1q!@ezmci+?7AgB|63~`Szctan3(gV2eG=wmad z`~@{Ful@GNas0d@c7c{#p?&+_EfKDG*TTHvWDc_OhWF-p5?_8BUGqR`-1VgvnZDJO zfcedq=U?9pMKFM7n&F;l-vH)k+O#i(Ykq~_OKGCcZwKl$RKz(kwzl&EWlv41Hj^?prO_L~NuJTfn!(+gtz;%+1Vj*Cr-40*1! zeIq&;;MI*EK4d(%j5v+BJ?Er}c#&T(Z^XE>)8D{hD> z#2YQ$pNgI@wz%-4BeEe`p?e&Y`$hD=xgcR@M?!y6l>!P93J-6w%&=JZCv_RQ z@_N;1VM$2!s#Qb@>#nI{=+VDD*?$59a3e|DCCw5<@rIOml~rcn#qOrsn1C!YyEOTXpHfhYYb6&gbUgpmso342=vA(uE*jM?>2$WK8d%<%b4h%v z?rbk?>T@M0@SPM8P+Wm%)>RVT(?H9UWsU@J`{#1N(hyCmY5l0@zma0-~&kq^x)^TH7 z*rj)&VP_N{r~mBsy||cZu`UWbq7R%kf zOZ?2b>5mVqCnJ3pUUuh9-*Q_QYx}Oe9@#h3=zH<|z>SN4*h$J!0`X!ROo9Q(;fVH1 z!e(#}yGJ*aCSlwng!hOo*?-g80)Z;9Q8V!uZBqzrVtgdCs_RBEbzXm1V&cPmg83ACldt+AWQ|ks6@WLXipPFfBoxu=f^FE|LMt~MEzhW)cwvz zYGP^GpdN>fZ?Z4FzR0G>@|gdr;gw-2L-&MEIqS2?U@V8eHJSGIMDM~t2yzLZPx?X$u0Kuzpj^VSecx{N(4Xxfp{!OjdD6E0${>b_s;rUy#Fj~LW9PS zbRE=a|B93xR21K1N62yp&z~~`3M}WDspNkQdJYKa`j4M;x9-{e0ASh~WI|Xd&Y4?x^B7+*DgPWFBm?4G|p^W$ndjO3$wDUv|-vJ1BAnlLMl#L5v8I?70 zr2PA@QdC0oQL7zEb`A3+e1)B-;^VN8ouPGxB>_^0(?zu~!t%|)iHfDi4Z24u9cO`% zMEV1=3?W>vUE&YV@U$u>zlhWm2@)tp(aB1P)Yy5cz?mwP5)Y2#@YHopVCd9_zPW&? zAr`Kvg{}et*&5by%2Dr_zHfkWgiZ(>$1~{EV!-=HBYk{1dHx5|Mf;$H<)g0L^6B`L zIft~kxVI3l8c(;=TF+$VP%PD%vcwVXLlBl-@D0-`oCv4s0f!MlLR8GoVCP$qe;A8l zD#3(hEa+T>i-w0A-Oggr;m|IS`vmbk39z8*m9W?@92>$iI;(f*(>K2s1OGwL`~VZQ zsv*OMbPTC#hd?t;$T^T5IS+LSk(-EBM^0+bie&Ca3)TQEZ3FY1A^wQHjuN55vQ*L} zwQB3-yv{pWy%fQqW8M?BDss%w%}c|h!$5YpBEydK58v^GvUrQh;LXt8#+3rZB;vqUfB#m5lLoKYOFU#+W9h(!pj3LL^C+KEc&iSsFrGMyA>g zv#2~BNmk@P?GT4Mm9N=F^sqp%8ALBt#>6Q-C={|2iFIcVK8j$c8r$q$8s%R zZx0A-h$2f@#Vp0&5B9l;CT7~OsOfsDh_c8_AKjpm(VQ4dAxCrvNuBiG$2u(PtdL)9 zFuWmw<($I7LuXHQ+X@Bfy<@KFqC2uwW3lDMuV)crfM~gu0ndKQqDsYk5u5wd_6B-& zDRO0@gl$1QzgN@W`~LMtXG$Yq&M?ARikxdS$O}h8=a>h1czQJ_Le1l_7u8rQD@0Sn z1C{=zeNU&rJrKAJ*?UTjC-t3Vg_E2{O)u9BEe}3RF@O4o9?uX7QyMIVwSjXzBc~H{ zv)ViUD)pP$({y?38_Hc2HbkGtgb;h24&Y&!v82K0j+ahCESatM6X@#hw@0Ap{`b3A zd=L5Z<%=L(Sp;F*f#rQDZO+*${IbeE0|y7-uVE@NM*Aa8m(7q4)fur4Y7f!=1kr2kcem{rVA}`A}u-A)O@;LTal_~#W zbVw5F2ia8vL$PnC=f{aI{BE#BmBh~E$Mx0=hQtcc!1u(Xo@C=hDOE9eKPC`pR1$1o z9G*Hd{)j3>W-&8IabuD??Xf-ejBxi#1x+(W##2^^R508h0{b8$`iJ)pEvnR%Z-`gJ zWHB*Bj5fOqEgHZ1abe$z3;oV%pDmUs%dj2hYCUp7DOz?z^3Lh)zkV&OvG$W#v;P@L zCzI@rwGQdUE<~nDAm2l>ZEQd|WOjZ>#4}AK=wwMjX|vURW{&6+glkan(uEUKsDANx z>*N^HOi|sEpo`!3S{nGklWg?+aG=gT(+Kl81&I%!lTHZe)sHw#qcO?*oCwO~pJqy= zB-Ib14GP>7D5W0UvC=>~<3ft!UH^oPI<%#R?C z|CP9!LU%Gw+BFSj^$c0u1_ z3-O`@=t9c90pNvh-BP!ko@AJ)Vjdr1>0GG5m4*aBn>Z z?K*@B(E(@PPm2z9bKmz-{xRS=(MTOZ&J@(+$NT2LY((e)OYxbM9LzhSH=ad&E#^>#*d_%X66WPk_V|6TRkX*nAsJV3!7d8qm?`}wL zo!(Pqx!m+W|d$fr}Xqd5?nyPx07O_X>+V1ueivPG+(#07KoL~ za`YK=Y&=0eZAZ(tYS3+iEbRT(rmq9n2gXg4Y^O8+4m9hY+z4ITJ8 zclA}Cnxg2?*}al&Ah)p~mN}z&20!3b*{2faENV_fw9{Y5iLRy|SABeot~%D^#Oct+ zw8omx6vWG_l26|Ukb_^F)^5mTU_Lzx=A#M_B(XseLM4m3hsfLiSv{gjW9p(XJ`4s% z5ho`jMGH?&Gy<=KNTt6dlp^4fAYTqphk<}6Rt;9!5UklktnhAhM4?!byAw`0Lh%|Z z^UtsS6JNI|vn*|oWSrJxSYnyrwUO31^q+>){?onCa8o5?hlU{@+ze5ZWU)S__tGHI zGALDa6Ur?t&?O<4;{7Q6+NHbeqZgCr89pc}RcP{?szV$N?8a#XPDhkr$O$ve)R3Ks+zAHeKMLe3GH_{M`op zxMG!E1Nkq(cT#}|gu1(u=G@~c>PB+y_b`R(RuaFYYuys53Q|wI^!@co`q_EQs}>^55S(Nd=zqW z@L)>}K0w)8`O#43`r31q@X{Prm{VKCou?qx2e)Ka>KQUj|NPcB8MzV+#f-blwlrsO ze$;U0HgI=J5{@|L^X20?o)vi!%DBSH8)}H5Ul#4r%OZz9IPSl0P!+z^xzzljZ@%!1 z&y)vOM=~dleoV{54J5oz(n)gy`h!!cYl)>XzakHr1gXKOCx8JRRYkdaEdzD`_e8N& zqtxjWN>}bQx=$#A3#pD_8s09;cRkh{$TwB=Syu zR&rtEEY?0-)Xu?gyiBrcK&!TA8wov=>yyjHv>gVDW$&cVZwkIn+h_u_ln7>)gIc^Z zJnFRukoJvA0l+8h>9yRX_0KA`>zt_t%JswDex&^WfEJXteCB>l3i`b?(;oBl$o8mT z!`?u-VyH)s2Ume%AlEI*HaaOKHVH1{O3f#`2g-_*lgr;7=ULfc8{LDiC%?^>za984 zV)Fdp2j8{0Lq4?y-bdWxUZS`dIDwL16z#-u^|0fxabN1@dluGz&!~jgt(vR5b4Pgf zj!+YAbs?IWECm?YOT2Pq%7eDRtrN6j`Ck0^IZ{2i0P0n{vF~?e`=2g_*8N(TRx5>; zqLOGQf=G!-IiFIiUf7Wdd$PQGi|!J3Vb1REzL_rHOS7BW zXW#Fr8LbSwv;0QI6{)eUcDh^%)ncg?;DJb!P~qXt<0zf)(bmb{3em~&S{!DC%SR{K z43E;{o8I@q7b31N4jsC)`mB3p>4?gbVdPKGzdVyw4hHZqOO=ov2s1#)LKvujZc8=X!sMo>AfG;q1p4=c2)(klD*ILt(6 zJQtt85szE#taS69ZC5d!Q9g5dvEuG*G7eSM{jagY(K7Rp$PZ%J)N;SW_Vwb-n&CTv zcV-G>>n4&8#LL~f(X__q#3B;qJd{h{{pY1tQhba>RMb;9H;?CUozh)0tPJQlo ztXw#J(cHi55wmt)jnf5g%dC+BRpjcXJ<>XJ&%k~tIZ>|XJ-WK&h=X$gGi2wP+keI3 zRLmte2Z~vE3aL_nr*I0v?BGy!i4+b!D2~Fx9|2M0d7d;5UepEse>GiG+3lo1 UsZ`)Y0l*){&e68Sns()X0L*M)SpWb4 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json new file mode 100644 index 0000000000000..180b84408a24b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json @@ -0,0 +1,53 @@ +{ + "name": "posthog-braze-plugin", + "private": false, + "version": "0.0.1", + "description": "Import analytics from Braze to PostHog and export events from PostHog to Braze.", + "author": "Emanuele Capparelli (k@emkpp.com)", + "license": "MIT", + "dependencies": { + "@types/node-fetch": "^2.6.1", + "aws-sdk": "^2.1095.0", + "posthog-js": "^1.18.0" + }, + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc --noEmit --skipLibCheck" + }, + "devDependencies": { + "@babel/preset-env": "^7.16.11", + "@posthog/plugin-scaffold": "^0.12.10", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "babel-jest": "^27.5.1", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "~4.3.6", + "jest": "^26.6.3", + "jest-fetch-mock": "^3.0.3", + "lint-staged": "~10.5.3", + "msw": "^1.2.2", + "prettier": "^2.2.1", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit --skipLibCheck" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/plugin.json new file mode 100644 index 0000000000000..dfd1c439b8078 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/plugin.json @@ -0,0 +1,53 @@ +{ + "name": "Braze", + "url": "https://github.com/posthog/posthog-braze-plugin", + "description": "Import analytics from Braze and export PostHog events to Braze.", + "main": "index.ts", + "config": [ + { + "markdown": "Depending on what you want to import into PostHog, your API Key should have the following permissions: `campaigns.list`, `campaign.data_series`, `campaigns.details`, `canvas.list`, `canvas.data_series`, `canvas.details`, `events.list`, `events.data_series`, `kpi.mau.data_series`, `kpi.dau.data_series`, `kpi.new_users.data_series`, `kpi.uninstalls.data_series`, `feed.list`, `feed.data_series`, `feed.details`, `segments.list`, `segments.data_series`, `segments.details`, `sessions.data_series`" + }, + { + "key": "brazeEndpoint", + "hint": "The endpoint identifier where your Braze instance is located, [see the docs here](https://www.braze.com/docs/api/basics)", + "name": "Braze REST Endpoint", + "type": "choice", + "choices": ["US-01", "US-02", "US-03", "US-04", "US-05", "US-06", "US-08", "EU-01", "EU-02"], + "default": "", + "required": true + }, + { + "key": "apiKey", + "hint": "Your Braze API Key, [see the docs here](https://www.braze.com/docs/api/api_key/)", + "name": "API Key", + "type": "string", + "default": "", + "required": true, + "secret": true + }, + { + "key": "eventsToExport", + "hint": "A comma separated list of events you want to export to Braze. Leave empty to export no events.", + "name": "Events to Export", + "type": "string", + "default": "", + "required": false + }, + { + "key": "userPropertiesToExport", + "hint": "A comma separated list of user properties you want to export to Braze. Leave empty to export no user properties.", + "name": "User Properties to Export", + "type": "string", + "default": "", + "required": false + }, + { + "key": "eventsToExportUserPropertiesFrom", + "hint": "A comma separated list of events you want to find user properties in to export to Braze. Leave empty to export no user properties.", + "name": "Events for user properties search", + "type": "string", + "default": "", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts new file mode 100644 index 0000000000000..801926d43282e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts @@ -0,0 +1,506 @@ +// This App supports pushing events to Braze also, via the `onEvent` hook. It +// should send any $set attributes to Braze `/users/track` endpoint in the +// `attributes` param as well as events in the `events` property. +// +// For an $identify event with $set properties the PostHog PluginEvent json +// looks like: +// +// { +// "event": "$identify", +// "properties": { +// "$set": { +// "email": "test@posthog", +// "name": "Test User" +// } +// } +// } +// +// The Braze `/users/track` endpoint expects a json payload like: +// +// { +// "attributes": { +// "email": "test@posthog", +// "name": "Test User" +// }, +// "events": [] +// } +// +// For an $capture event with properties the PostHog PluginEvent json looks +// like: +// +// { +// "event": "test event", +// "properties": { +// "test property": "test value" +// } +// } +// +// The Braze `/users/track` endpoint expects a json payload like: +// +// { +// "attributes": {}, +// "events": [ +// { +// "name": "test event", +// "properties": { +// "test property": "test value" +// } +// } +// ] +// } +// + +import { RetryError } from '@posthog/plugin-scaffold' +import { rest } from 'msw' +import { setupServer } from 'msw/node' + +import { BrazeMeta, onEvent, setupPlugin } from '../index' + +const server = setupServer() + +beforeAll(() => { + console.error = jest.fn() // catch console errors + server.listen() +}) +afterEach(() => server.resetHandlers()) +afterAll(() => server.close()) + +test('onEvent sends $set attributes and events to Braze', async () => { + const mockService = jest.fn() + + server.use( + rest.post('https://rest.iad-03.braze.com/users/track', (req, res, ctx) => { + const requestBody = req.body + mockService(requestBody) + return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-03', + eventsToExport: 'account created', + userPropertiesToExport: 'email,name', + eventsToExportUserPropertiesFrom: 'account created', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + await onEvent( + { + event: 'account created', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + }, + meta + ) + + expect(mockService).toHaveBeenCalledWith({ + attributes: [ + { + email: 'test@posthog', + name: 'Test User', + external_id: 'test', + }, + ], + events: [ + { + // NOTE: $set properties are filtered out + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }) +}) + +test('onEvent user properties not sent on empty userPropertiesToExport', async () => { + const mockService = jest.fn() + + server.use( + rest.post('https://rest.iad-01.braze.com/users/track', (req, res, ctx) => { + const requestBody = req.body + mockService(requestBody) + return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-01', + eventsToExport: 'account created', + eventsToExportUserPropertiesFrom: 'account created', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + await onEvent( + { + event: 'account created', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + }, + meta + ) + + expect(mockService).toHaveBeenCalledWith({ + attributes: [], + events: [ + { + // NOTE: $set properties are filtered out + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }) +}) + +test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom', async () => { + const mockService = jest.fn() + + server.use( + rest.post('https://rest.iad-01.braze.com/users/track', (req, res, ctx) => { + const requestBody = req.body + mockService(requestBody) + return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-01', + eventsToExport: 'account created', + userPropertiesToExport: 'email,name', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + await onEvent( + { + event: 'account created', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + }, + meta + ) + + expect(mockService).toHaveBeenCalledWith({ + attributes: [], + events: [ + { + // NOTE: $set properties are filtered out + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }) +}) + +test('onEvent user properties are passed for $identify event even if $identify is not reported', async () => { + const mockService = jest.fn() + + server.use( + rest.post('https://rest.fra-01.braze.eu/users/track', (req, res, ctx) => { + const requestBody = req.body + mockService(requestBody) + return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'EU-01', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + }, + meta + ) + + expect(mockService).toHaveBeenCalledWith({ + attributes: [ + { + email: 'test@posthog', + external_id: 'test', + }, + ], + events: [], + }) +}) + +test('onEvent user properties are not passed for non-whitelisted events', async () => { + const mockService = jest.fn() + + server.use( + rest.post('https://rest.iad-01.braze.com/users/track', (req, res, ctx) => { + const requestBody = req.body + mockService(requestBody) + return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-01', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + }, + meta + ) + + expect(mockService).not.toHaveBeenCalled() +}) + +test('Braze API error (e.g. 400) are not retried', async () => { + // NOTE: We only retry intermittent errors (e.g. 5xx), 4xx errors are most likely going to continue failing if retried + const mockService = jest.fn() + + const errorResponse = { + errors: [ + { + type: "'external_id' or 'braze_id' or 'user_alias' is required", + input_array: 'attributes', + index: 0, + }, + ], + } + + server.use( + rest.post('https://rest.iad-02.braze.com/users/track', (req, res, ctx) => { + const requestBody = req.body + mockService(requestBody) + return res(ctx.status(400), ctx.json(errorResponse)) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-02', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + uuid: 'event_123', + }, + meta + ) + expect(console.error).toHaveBeenCalledWith( + 'Braze API error (not retried): ', + errorResponse, + '/users/track', + expect.anything(), + expect.any(String) + ) +}) + +test('Braze offline error (500 response)', async () => { + server.use( + rest.post('https://rest.iad-02.braze.com/users/track', (_, res, ctx) => { + return res(ctx.status(500), ctx.json({})) + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-02', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + try { + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + uuid: 'id_123', + }, + meta + ) + throw new Error('Should not reach here') + } catch (e) { + expect(e instanceof RetryError).toBeTruthy() + // @ts-ignore + expect(e.message).toMatch('Service is down, retry later. Request ID: ') + } +}) + +test('Braze offline error (network error)', async () => { + server.use( + rest.post('https://rest.iad-02.braze.com/users/track', (_, res) => { + return res.networkError('Failed to connect') + }) + ) + + // Create a meta object that we can pass into the setupPlugin and onEvent + const meta = { + config: { + brazeEndpoint: 'US-02', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + } as BrazeMeta + + await setupPlugin(meta) + try { + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + site_url: '', + team_id: 0, + now: new Date().toISOString(), + uuid: 'id_123', + }, + meta + ) + throw new Error('Should not reach here') + } catch (e) { + expect(e instanceof RetryError).toBeTruthy() + // @ts-ignore + expect(e.message).toMatch('Fetch failed, retrying.') + } +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts new file mode 100644 index 0000000000000..6f5e373764fb1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts @@ -0,0 +1,9 @@ +import { + ISODateString, +} from '../index' + +// eslint-disable-next-line @typescript-eslint/no-unused-vars + +test('ISODateString', () => { + expect(ISODateString(new Date(1648458820359))).toEqual('2022-03-28T09:13:40.359Z') +}) \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json new file mode 100644 index 0000000000000..962462f8f91e8 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock new file mode 100644 index 0000000000000..6a08f58193012 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock @@ -0,0 +1,6345 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + +"@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.0.0", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" + integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + +"@babel/generator@^7.17.3", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" + integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" + integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" + integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + +"@babel/helper-create-regexp-features-plugin@^7.16.7": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" + integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + regexpu-core "^5.0.1" + +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== + 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-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-explode-assignable-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" + integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-member-expression-to-functions@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-remap-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" + integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-wrap-function" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helper-wrap-function@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" + integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== + dependencies: + "@babel/helper-function-name" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helpers@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" + integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" + integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": + version "7.16.7" + 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.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" + integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" + integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + +"@babel/plugin-proposal-async-generator-functions@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" + integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" + integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-class-static-block@^7.16.7": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" + integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.17.6" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" + integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" + integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" + integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" + integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" + integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" + integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.7": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" + integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== + dependencies: + "@babel/compat-data" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" + integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" + integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.10" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-private-property-in-object@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" + integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" + integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@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-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-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-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-transform-arrow-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" + integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" + integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + +"@babel/plugin-transform-block-scoped-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" + integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-block-scoping@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" + integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-classes@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" + integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" + integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-destructuring@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" + integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-duplicate-keys@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" + integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-exponentiation-operator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" + integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-for-of@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" + integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" + integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== + dependencies: + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" + integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-member-expression-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" + integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-modules-amd@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" + integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.16.8": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" + integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== + dependencies: + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.16.7": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" + integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== + dependencies: + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" + integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" + integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + +"@babel/plugin-transform-new-target@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" + integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-object-super@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" + integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + +"@babel/plugin-transform-parameters@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-property-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" + integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-regenerator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" + integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" + integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-shorthand-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" + integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-spread@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-sticky-regex@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" + integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-template-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" + integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-typeof-symbol@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" + integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-unicode-escapes@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" + integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-unicode-regex@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" + integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/preset-env@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== + dependencies: + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@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-transform-arrow-functions" "^7.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.8" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.20.2" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.8.4": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" + integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + 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== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@mswjs/cookies@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.2.2.tgz#b4e207bf6989e5d5427539c2443380a33ebb922b" + integrity sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g== + dependencies: + "@types/set-cookie-parser" "^2.4.0" + set-cookie-parser "^2.4.6" + +"@mswjs/interceptors@^0.17.5": + version "0.17.9" + resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.9.tgz#0096fc88fea63ee42e36836acae8f4ae33651c04" + integrity sha512-4LVGt03RobMH/7ZrbHqRxQrS9cc2uh+iNKSj8UWr8M26A2i793ju+csaB5zaqYltqJmA2jUq4VeYfKmVqvsXQg== + dependencies: + "@open-draft/until" "^1.0.3" + "@types/debug" "^4.1.7" + "@xmldom/xmldom" "^0.8.3" + debug "^4.3.3" + headers-polyfill "^3.1.0" + outvariant "^1.2.1" + strict-event-emitter "^0.2.4" + web-encoding "^1.1.5" + +"@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": + 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" + +"@open-draft/until@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-1.0.3.tgz#db9cc719191a62e7d9200f6e7bab21c5b848adca" + integrity sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q== + +"@posthog/plugin-scaffold@^0.12.10": + version "0.12.10" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" + integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== + +"@sentry/types@^6.11.0": + version "6.18.2" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.18.2.tgz#f528fec8b75c19d5a6976004e71703184c6cf7be" + integrity sha512-WzpJf/Q5aORTzrSwer/As1NlO90dBAQpaHV2ikDDKqOyMWEgjKb5/4gh59p9gH8JMMnLetP1AvQel0fOj5UnUw== + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.7": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/cookie@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + +"@types/debug@^4.1.7": + version "4.1.8" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" + integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== + dependencies: + "@types/ms" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^26.0.19": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/js-levenshtein@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/js-levenshtein/-/js-levenshtein-1.1.1.tgz#ba05426a43f9e4e30b631941e0aa17bf0c890ed5" + integrity sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g== + +"@types/json-schema@^7.0.7": + version "7.0.10" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.10.tgz#9b05b7896166cd00e9cbd59864853abf65d9ac23" + integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/ms@*": + version "0.7.31" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + +"@types/node-fetch@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" + integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*": + version "17.0.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" + integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" + integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== + +"@types/set-cookie-parser@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/set-cookie-parser/-/set-cookie-parser-2.4.2.tgz#b6a955219b54151bfebd4521170723df5e13caad" + integrity sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.12.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.12.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +"@xmldom/xmldom@^0.8.3": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.8.tgz#d0d11511cbc1de77e53342ad1546a4d487d6ea72" + integrity sha512-0LNz4EY8B/8xXY86wMrQ4tz6zEHZv9ehFMJPm8u2gq5lQ71cfRKdaKyxfJAx5aUoyzx0qzgURblTisPGgz3d+Q== + +"@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== + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + +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" + +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@^6.10.0, ajv@^6.12.4: + 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.1: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +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-regex@^5.0.0, 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@^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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +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-sdk@^2.1095.0: + version "2.1096.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1096.0.tgz#d41d6c6afe44b00977d4fe4c68e9450941d72931" + integrity sha512-q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.16.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.0.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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" + integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.1" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.21.0" + +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + +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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + 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.0.2, 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== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +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.1.0: + 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" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.17.5, browserslist@^4.19.1: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== + dependencies: + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + +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" + +buffer-from@1.x, 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@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +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" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +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" + +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@^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.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001317: + version "1.0.30001319" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz#eb4da4eb3ecdd409f7ba1907820061d56096e88f" + integrity sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +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@^2.0.0: + 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.1.0, chalk@^4.1.1: + 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== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^3.4.2: + 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" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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.5.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== + +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-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +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@^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 sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +colorette@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +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== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.20.2, core-js-compat@^3.21.0: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" + integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== + dependencies: + browserslist "^4.19.1" + semver "7.0.0" + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-fetch@^3.0.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.3: + 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@^2.2.0, debug@^2.3.3, 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@^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.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@^0.1.3, 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.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +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" + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +electron-to-chromium@^1.4.84: + version "1.4.88" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.88.tgz#ebe6a2573b563680c7a7bf3a51b9e465c9c501db" + integrity sha512-oA7mzccefkvTNi9u7DXmT0LqvhnOiN2BhSrKerta7HeUC1cLoIwtbf2wL+Ah2ozh5KQd3/1njrGrwDBXx6d14Q== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5, 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" + +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" + +es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^8.1.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.22.1: + version "2.25.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" + integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.2" + has "^1.0.3" + is-core-module "^2.8.0" + is-glob "^4.0.3" + minimatch "^3.0.4" + object.values "^1.1.5" + resolve "^1.20.0" + tsconfig-paths "^3.12.0" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.21.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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.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: + 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== + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +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-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + 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: + 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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fflate@^0.4.1: + version "0.4.8" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" + integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + 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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.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-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 "^3.1.2" + +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@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +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" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +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.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-intrinsic@^1.1.3: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +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.6.0, globals@^13.9.0: + version "13.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" + integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.3: + 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" + +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" + +graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +"graphql@^15.0.0 || ^16.0.0": + version "16.6.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" + integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +has-bigints@^1.0.1: + 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" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-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.1, 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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +headers-polyfill@^3.1.0, headers-polyfill@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.1.2.tgz#9a4dcb545c5b95d9569592ef7ec0708aab763fbe" + integrity sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA== + +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== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-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" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + 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== + +husky@~4.3.6: + 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 "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, 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== + +inquirer@^8.2.0: + version "8.2.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + 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-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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: + 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-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.8.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + 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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +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.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-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-node-process@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" + integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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: + 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-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +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.3: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +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-weakref@^1.0.1: + 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-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0, isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.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.0.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-fetch-mock@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz#31749c456ae27b8919d69824f1c2bd85fe0a1f3b" + integrity sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw== + dependencies: + cross-fetch "^3.0.4" + promise-polyfill "^8.1.3" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.5.1: + 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@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +jmespath@0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" + integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== + +js-levenshtein@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + +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@^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" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.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 sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-even-better-errors@^2.3.0: + 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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +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== + +lint-staged@~10.5.3: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + 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" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +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.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.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash@4.x, lodash@^4.17.21, lodash@^4.7.0: + 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, log-symbols@^4.1.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" + +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" + +make-dir@^3.0.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-error@1.x: + 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-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.52.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: + 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" + +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== + +minimatch@^3.0.4: + 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" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +msw@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/msw/-/msw-1.2.2.tgz#126c3150c07f651e97b24fbd405821f3aeaf9397" + integrity sha512-GsW3PE/Es/a1tYThXcM8YHOZ1S1MtivcS3He/LQbbTCx3rbWJYCtWD5XXyJ53KlNPT7O1VI9sCW3xMtgFe8XpQ== + dependencies: + "@mswjs/cookies" "^0.2.2" + "@mswjs/interceptors" "^0.17.5" + "@open-draft/until" "^1.0.3" + "@types/cookie" "^0.4.1" + "@types/js-levenshtein" "^1.1.1" + chalk "4.1.1" + chokidar "^3.4.2" + cookie "^0.4.2" + graphql "^15.0.0 || ^16.0.0" + headers-polyfill "^3.1.2" + inquirer "^8.2.0" + is-node-process "^1.2.0" + js-levenshtein "^1.1.6" + node-fetch "^2.6.7" + outvariant "^1.4.0" + path-to-regexp "^6.2.0" + strict-event-emitter "^0.4.3" + type-fest "^2.19.0" + yargs "^17.3.1" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.6.7: + version "2.6.11" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" + integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-keys@^1.0.12, 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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, 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.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +outvariant@^1.2.1, outvariant@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" + integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +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: + 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" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.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-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-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +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: + 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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" + integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== + +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== + +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: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.1, pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +posthog-js@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.18.0.tgz#91b063faf8c412472915773b5ab46dae225982ef" + integrity sha512-yMJKHfzF8U4dssaqf/ghNS0/Kjgni9P7Xu1b3gN4bXKw2D4drhDq7fUxSunU3kV65o/jH3UCohqS24Ad2rll0A== + dependencies: + "@sentry/types" "^6.11.0" + fflate "^0.4.1" + rrweb-snapshot "^1.1.7" + +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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" + integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-polyfill@^8.1.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.3.tgz#2edc7e4b81aff781c88a0d577e5fe9da822107c6" + integrity sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg== + +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" + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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.4.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" + +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" + +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== + 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.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" + integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== + +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "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@^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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.20.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rrweb-snapshot@^1.1.7: + version "1.1.13" + resolved "https://registry.yarnpkg.com/rrweb-snapshot/-/rrweb-snapshot-1.1.13.tgz#fc15adb7eb6354c859c8d594f57b09e1f5bccdd8" + integrity sha512-lv4vBSJ5orBcRoJnjLvtly6cSsctC+TNm5orVzYRL9SH3LmtSpQ+wI4bw7eh4AcyKoUf0x4pe1Bn632GggmKWQ== + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +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" + +rxjs@^7.5.1: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + +rxjs@^7.5.5: + 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-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.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@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-regex@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" + integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, 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== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-cookie-parser@^2.4.6: + version "2.6.0" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz#131921e50f62ff1a66a461d7d62d7b21d5d15a51" + integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "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== + 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: + 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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stack-utils@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +strict-event-emitter@^0.2.4: + version "0.2.8" + resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz#b4e768927c67273c14c13d20e19d5e6c934b47ca" + integrity sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A== + dependencies: + events "^3.3.0" + +strict-event-emitter@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz#ff347c8162b3e931e3ff5f02cfce6772c3b07eb3" + integrity sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg== + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^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.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.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.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" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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.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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +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== + +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.6, through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +ts-jest@^26.4.4: + 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" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +tsconfig-paths@^3.12.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" + integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +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-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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-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-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.1.3: + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +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.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +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" + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + 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" + +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 sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.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-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + +which-typed-array@^1.1.2: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +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, which@^2.0.2: + 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" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + +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== + +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@^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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x: + 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-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@^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@^15.4.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: + 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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore new file mode 100644 index 0000000000000..ef0e80d8d8f75 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +yarn.lock +package-lock.json +demo.js \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md new file mode 100644 index 0000000000000..a3f7b066e5f5f --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md @@ -0,0 +1,27 @@ +# POSTHOG ENGAGE APP + +The Engage PostHog plugin processes and sends customer data and events identified and tracked through Posthog to [Engage](https://engage.so). You can then use the data for customer segmentation, targeted campaigns and automation. + +## Tracked Events + +The plugin only tracks your **Custom**, **$identify** and **$groupidentify** events. Browser events like button clicks, pageviews are silently ignored. + +## Setup + +During installation, you will provide your Engage secret key and public key. These are available on the account settings page of your Engage dashboard (Settings -> Account -> API keys). This is used to send your PostHog events to Engage. + +Once setup is complete, PostHog will start sending your events to Engage and they will be available on your Engage account. + +## Event properties + +Extra event properties and metadata are also processed and sent to Engage. + +``` +posthog.identify( + '[user unique id]', // distinct_id, required + { userProperty: 'value1' }, // $set, optional + { anotherUserProperty: 'value2' } // $set_once, optional +); +``` + +The example above using the PostHog JS SDK appends extra properties to the identify event. These extra properties will be sent as well to Engage. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js new file mode 100644 index 0000000000000..9cdf942e0ef90 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js @@ -0,0 +1,32 @@ +function composeWebhook (_event, { config }) { + const event = _event.event + if (event.startsWith('$')) { + // only process a specific set of custom events + if (!['$identify', '$groupidentify', '$set', '$unset', '$create_alias'].includes(event)) { + return null + } + } + // Ignore plugin events + if (event.startsWith('plugin')) { + return null + } + + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + delete config.publicKey + delete config.secret + _event.config = config + + return { + url: 'https://api.engage.so/posthog', + body: JSON.stringify(_event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth + }, + method: 'POST' + } +} + +module.exports = { + composeWebhook +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9f02d624e8c87c33eefe4e2acebe94b309deb44d GIT binary patch literal 24544 zcmcG$WmJ`G*e(jwi6D)1mw-qL(jpB40s=~x(hbth1f)Z{ySuw4AfR+39SYJQ4HEld zE!KC=`E|w~WA7j8aPrRgsXMOwy03?zxAIaLs3fQe2nZO`uf>%R5Fl!Ie^4HRPuh$U z=D|ORc1lvB2xUWLn+OP02-4yr@0@jZ7LXEjx-ZWDEH$|q@a*{$GD-ydQ+0T5hS57lJllKwTnd}%!nlVoo2AxMjs&MCnQ8=$*VBdt z)%OHBqMu+wv4s&3|M^P_DXM0gz}I0`W%{+WM0njBeH1Eh1PJ&`_!snY%YG0!pKh~Y zKVpQ<$z4~;^cOl2``r)ko>(ps&b>M5nZi>W${HiN|5RMl8^SbuVSN1GLp}&dacBiE zg8q3Y0%VjR10L*nLo9gzd;^s*Yz^{Ej^=*Q8l1R=& zmH2nkuy3eu^(44Y(8>N?19bjz2Krc;HgE*2|kdzUt~S>X~le0uJ--w z0!t8(R1B1d;W)x@YQ#1aN0cZdY?Ns5VM5h+HSD_&&FBNDOdtLq9O$2!z*!Jcnd=R* z$5<&fCFsT}!lR|vsJXSNy}f0@j9ELznE%^FRj`XqjmE#iAKCPFKbIj91>YB?0b8X- zb5UPn7gyu=?-^x)?SiDf^7(J2q~QM+1E|lb@3-^+-p{?UAk2opAMk6_U~3?vmW<@Z z!R`hnc=WbiBL-dck0>}YG{eh#JA=J`1di<40y+UA^a^*GAl&QpIMn+Lta>qdoc4az zep=u=ebDC1-@CJ^%Sn8rVk{Nja(i7K;z&RA7)~OQZK0VV_Ym@}Upd@oBI_S`2v){ z41|b8vadOeP*D~z`qnWA@BQcpVqkPEhfDE)rw4lrj`uTvD>^13GzEVdC$l=O#$VX^ z&IXb-CH?Prd2cQ14kE^)gG|VPyKj;9V~!?r^YSE_)+A)Ek{vP(fgcbg3HF%SJrf00k`eNAgpSPxg*zM9M zXZ)W5Bf;1S)aHl6ItL6x_Z}Vad=u2vkVJreL-DJG2fsNadI~{-zW08{U64p?1zp7l zd#)OM^gnyfd$;F)t1s?tN0>?n?3Hsa@2~)3TAH)5oWeiDl%c%UYXolIftyi;rZW^s z1P-GDgxLPYd2HhQeSp3L=aLabYjOXo|LvbkE+yltAnyI) zLui4iC%nS}Yx-x;pb}urr-?N3_hX`j0!P(TlF0b?#|=;6{siHxN_u>K()Vc@D(^kk z_c=yUuhCm3`oAr-1Zy_=ojywYZ_xKf1EeQStQQ2Ye`WBqnOpWyl;|4l z_EtIB^#8cdHdxO`v;PTdn7}jn&}HoI=i!ZjL}2${Ou@EM1N-~oZIakOpHPWH+`}u< z43zaGHmniF?h`qpHL#c#+dRVi^#^_d>-UQqeEVOZA_bOeowA99sEOq4)j2hQ9nS)} zBCn*wMGWzUFzG#_oiB%;NA|w^$73t*MqK@cO#+F0{5p;?`PS|UgU9u75Y_SN$@S7^ z>*ZxSuBorx-Mf*&xMadPkD%CrVi`}lWG}uak|gRBr2MkSkQofRR!>PPoyal3knNAS zHkB#H+59XcD-)DGS+20TwLKa(7kpeX>JuMP%|mDUZe0O#N)5$~-Al7!*u3+b~sCwhq{Go2{wv2wSgHHPvye zjkBNX*$bRJsVS_?7kn*7s{+M7P@$SdimRVG_7`S{4ru3={Hpo!v)PuodzRTPp{|c2 z^Z90XWwTi`u;?j8yu)-APcEDhC-@u~M3^NPh&i>$RLjzs}Z?OD8B zM4XT%fDb>)Q(?b{Sub^@rtqn08b?gT@zK_(t0Zy{k`OfOcUOLZCGDwrEb0`_l;U4j zIDB3-XPG9nEaq{iHujV8&Zo(g`7Mkr2IG1wQYJ+e2$}i5Is2mcO|oIUX~2BtEQ__z z!~FH0wnfdq=518rgZl}Ce|6T)d$#tBS|_XCR42u4WY@)BmekUmnnXT8gwovQ@}L)* zJg+^6kND{tzi*PHKYyKU6mNRg5;XhDDKuEA>fM*9+!#;Rpyd-HpV@TAh5^-(^@Y-U z&A83R9+#wXmBP>DTrIu$6FHB0Af#Z0vlTeTU+IJg@d%?;84}r!1~^dkIfH9;J0vT8 z%tR%ncdiRF+PwE-Q|GP|2sewHG(PUzB>HSeUh-*-DUxbRcDk>8gCRgNu|a&1AR&fA zlq_Z*9DQtZnXi|+d9s@zpc2i2%+QjCm#~PMAfTmNr@Gl1_eoIawo%7SqhM-r=m&`o z*#o>~!gfT+rwat&4G+D0bN`?mJYc2BMNCzWO3Kzg>e-e;8n1Eci20Gq6uu1Jqt3>| zGQo+VyA|Z$ShQ*NXix8DL<%J@NboC{;1vm^C{RT`8?*4b@5H&;!Sy3n7r5^eq6&|5 zCa5q!Crs1oQ4l7@uj-m!F8A93ORW z$h8`R9Ea11+)M=p_y$Y&Or~jIr;B?(X!6;(ha&Jb(`(9tS^WFJE=+-pqMl3w5fct> z72WzCTrQRg%d;Co18Dq)!L7lYg z`sPnJSYp~8#Fdv1Kyj!0l9*ETomkBNaM`lP>1IOhgW(>r4Hf%aL}jJYoswyN4Bd_J zB&-v4&Cj#0%@1dpr)j-~ufUA|Xxh?4hENg+rw6CKjWK3K+$ybNISXp4bP$hfGhGz6 zw~FeI6}M3no3+S5_HF`G-TrFt4OfM%dlZ%0NpAfXtBVlCd@(m;L$#a>kH)ZbkeDQO ztu@7A>UMjipsR=nQuD_t;_7;c5gKW=<)Eo={kRTNbZm0UiY3CaKU@Q1Bv;ClM7Z5o z#G_BDU?&x_3G-$GGb^hYdkU%KDv7E!Jbiur5llagM^U11rbWMdph7aEFkft#dnjaK z6u5fstcz5C(meL-r@-DsBPAbxi1lvN=VH{a7$T}l#blg)=c{a28XTe5#;B)*5^>mz zWF$aQUDK6YtQ%sQWdFH7N#{-%!*BajBR z4!nxpCF&%!Dz{*;B?gI-Vr+VGT13f;B}Xz&lOhty1yAXij`fYa zmsqfSoEnqd1deSMj4zGXiZ83OH3U6c-vGEDr~m-PD~2J_WpfxvX5{KEpNCi$)Nwf; ziuej|AjLUMZB|W|Z=WV%84$3pfpmcZe8=)jATG9=tX}aBPLs{KPEwjsWLQEXapYrm zHB!j>Z#cja;T*C^o5VIH?KHg-&?8~q*U3^*~}ewJ9y$cHT~jHmVn0-YlGCL=!{p%FGT9%ES4}f*}j-|6m zH(FEOrDg50V~+yay+;UuZ=ZxVFOw5XKrZK<$Dz*s2ssnq3kUs6-@lpk6bAN4z`+RAWq11J6Bt^Vbh zvRHSN>%DcQOO06G3*4vRdEwj;J#u_@-G@5dpLEF;TRtl|m6DNThEeOKdaI`#2VJt+ zOJ2Mw-LR-&ZM%K+)X!;SR|?D04^J&qj^%-7xo}j}M{|t@-b-xD6s~vc?RFsM3Ea(X zY>1z{`B&Qy)PuVZvG1@A%9BLuGP*BmF^}g`F2->F7BRD=j|I=byrm#q3#I%{Ytc>l zr}~ML%Y4`q(qNkp2%LKP@TwvHYu9dE*P0tUhqIGe;wOsKUmC#L zSB$ghqBR1P+6`oen2$70D0E zo3U)5GjlrPl^Wmo%>qCj2tz?!x4$Vec5s=pT*fgg~Sd>h8QH>d`7ugRrDh z(VdsDQnbYn+<;k~(=DGh%PmpVTmC6wV-xi7xV$bhws)B%Es0&5{*|kn5B4A>Du>() zi6dIsVd@L{NkG*m$6vHhRC?vYZ~Mr-po6I;q*E=$LM5&$VS?m0P?7QnkC%HsghoKj zg{uQYO0i!n$V{>Y>=DgXB=-8K>aJmAtAq)KJO#^w=inS_ zK-N=>s{{6O(EN8Z-|T5U=fOq^yEEpytT}Mlo8rd6^nxG#2?FqC#Mh6h0ghu~q&pp& z6q33M6hum-L-BjJTvWv4u-BJwKtcYA3Y!WTBLZE>+v&&W`vR(j=*iU8FivC$ik~vP zB+NnkWbSgI$avzbfcnatPrOnRF#Mqwf46se4VT?uwQh@zs7_hL(|VfP-emmc-2c0zxp`unVa>B)j|954Y6|#_Sc+UXPy0L2tF|^#rj;IC)xTb zr)wvzi&g2%$xzgogkgr3W+*$Pki3T3V!bK~Vy}_`pDbWh*mAI;Hj31S9mKlHAfrp) z7iOp>REA7_m3wJIiuGZ9p{+>SFCP&Jfccl~S&d1{Qcfsi=oUo?s1KlNLfaZUpCQGu zxKM|mpjku;YB`1SX^|SocHU8lU!epJ6B|Er&o&3wa|5aLvf-C#%yCWi&vi#bObuK! z_bA+Q90$lrTRQ}vf7B8BBpS)hjDKEJD*BhDMWSC|n`w|he zq7EK5bn&6V)sa#9w3B;U?Y~nH^Q4U^^v&vDuD4TZ8-$wTtQ?vf^G)j>scr6g1N5W7 zRi6O<5BKFl8J!-t&8rF%{ROV|*NNrGAWb2_U?>T@_MUY+9~N}}X1ZRwB9Gxs(~Rf> z)4%DnO|^qWa|Ub_K4SRR;?)iF4ui~dRzGK2A|LN7d$`+tpyDy##Nph5YfA*Yz4J>q zRYc}fI$5W1LD9c>Z!iwo1IZDg%y`bVrjed4=a`fB^%_Lv)Sm$*%k=9}ou@N!sm!Ig zy{wv?nEmirO_ZtMQ3yB{a`2W2hwd#N`=MZl$*xt5x?F~xKY*_j?Bb5Fo^E;6P55r;r|tH#`5vrH|u>$`6Ru&LoUsLb2Sc%2A?^g~`xlgpOkcZUdus0Y}@Pz#0O z=7Xd~OOuIf5mokLuk-UicV)q=*cmgiOzT^MTt9U_V*ZYO`G!*%x`V_17oVc>mzAIz z&s{fxX~gPUc$BxE3gxWF1b z+%_szp_rkEb_eP(95I`wJXbawka(Y>rt8Ba0pN0W)7EGuXz{H<$;`7?+DlCVd z3i97LW61q17NG}m>6}(i$6n~;_XXEB+cqJ@5%YVZx4qX?$HL2YwQ!cvI%O$yLG5AHEv<6nEvrKgGuP=tHDs#tMDwC-G^|R4@Gr@Ve1~%h{;IUsAlZ zUgK=CKQZTsz~IBS5dldQ>0Q!Q9K52&y_IVXJxrdhlO7YX`qExsp_#;W){wi@a&z;Y zs%}J*t3aErgSmA)fW~cq+H)Cldv18DIXrb_n!qQq@hO=l)~SS2L@7SP1xU}DNNT%U zifbFPxhH-a*t7wj_(GC0GJLRogN>vve~58`kA^nfIsu?l4kRT&0RUEktG!hN)T5@R z#;JV*+wZ5x^Dg)5e$a;Im7}sK+gNUVdoBOo>XYk^{09*km7Vm#bh^SB5`coG6MeZ@ z>6S;TI*gs5%w27oMYo$9KP0Dn z#+__^bs^ zf-+>7YiOK0WIu+nju+boI7Gk5o21J)_|0e1&7n%EuZxJmogZ{!OE;}XkxQA5-*m;h z7Mf*x9k!;A2506c@cgGasg-Qg> zUZIay5QW?V0WmD(>9_=+_zWw>0`R~0K_O?YPYf)bjclu4hhRBD9?P;HwoxDEpur8S19C~Hsh z|4gaiJ*HfJo>cBI%<3ho`o5ibRgvRG1YmbxK8z4|T7N#)JMLK+#u3oOt#bq)EGMj7 zGSSJJn`$XfJhA(z`&Z(Ez4(YyyDArxY4+u5E)6n71Yd1Yy__-qR%|_z8X1BK5;>pu zYh3e330b{YXlGN;13sIzi`Y5!wG>zp(7%Yl<#%mXOFJlT$$vs;YGRf)pxv)8TNlcL z)Zr9(rG}E^eKB@MxE66&y{fyvF!^51se{TaaP)Y-VBiz_@Ecy~xnH5^dsI`w^Cf~O zO5;919#*cK!`WLk*Cc%gE;Xd^tZ|rX23$3be62B|J~Zt09<`2%PN^zRJjiqgt2O_! z(dU%vS>6YGX;Q-tQhoRS?u9Mu^7Na2L50$kG zM@y-6&nqkQ?Em9v%B}>AFH)vH#Fxu$QIKy1x*Nl@*sU{fI_u7L{H{wYwf@kQWwQih zJ}YCdfOpBvQ^wy@tD*3Q-GZOgOJGe7;!=QZ>41>j)D!yi$2jzZnRwKzl6ANcy~2<2N$W@@e|dbPR!TxdrjH_CXYCw zq3dyh3*~kLuyUOlE0VN0%D4~D!?7PFoa{L!dZmK2EcW7=|7s@Kuz(+#yL}d!hdsZ> zV@SUUA`d31cxj!alohy&X2JLn`e+Wp)R`{)J`tX{OYdX!<059x`~ky3IeP24id zTf7$C=l^K|^pF@-9VN|93!B}4dGhOj!-SpV-B#D3rdD1lCN9ZepwET##ipi|d4>Lv zVu-WAoh^;s`9dEojx_Lagn`-3yIC!$)3)u7z^6ce17{vQ=$8C#Vq-Q0C;4QZcGk0T@&%+FU?Ss{S?VpRzw!fI-=k0^1Vrl~kI z)U8<;B&lWzACv-czpT(z)~nE6+QA*)z_LgwI;vK75vt91h#)saW?`8EC18OqmAK2? zmbixrERM=F<7Vf=KZ)8>Swb&Dx?5t<1z+qD?M4cjQbEgf%vB6{%r&oT4-FlT+G2~R zm4gJwyAdZ=ByFC*X+MGF_$hm$^m4yh(Eh{Y!xbXj)Wpaf$?PBR6KB zY~`ds6J(t1vjH^y$P;SZsh>H{%I=it5P1-6eSSJLD<_ zrTMU53j<(+$SkidyWGxJf9w7YQ>7{4{ft-Jm7?G*d%$P0(t#0wUy_uh;(p0J(mA8v z0Uk`~)#HZhbusec{yon>$hEqtB^gFT`wddLgj<`B7|gOul-k8E(r*B2b{H7@`%xFQ z%0J9uQ~GH}rfFl70aPMRWIOsPCvKA9P-;sFEES{R;w<=QompLZN zz`|dHq}(v--ac2dWi^!tdb5KQ!CijK3)-gmU6zu*5ZsQ0R@Qw=r8YD?H?!C45y*3H%??9-3=SSA0vvAWpZrwy%+|31d}p_e=6u%TYha*)n$YWKT<$EY`fjj_ z2>jvicp79Ygg*eOOF`xoI*|Gf6F@ZQ zQqxMuG_TTl?J-pwkY0R}1-xj6K`Z1UuU!=|OhSkylf^DOf3$wSB(K`Ql#c})BG_Xjt%qk>r;bpF#f@cHLLE;C|HE`x4qC(=?d zV7#anTVz=7UCE~jPGx1}4qxQSYQlcDGR$VEhp!xTJ8j42eGby;yP(ElKl+naDb*8a z&F)mo`xs}r_DsBH>eX3h(+t1sW@}5-h%S6X3%oK+%euiixVNK3>i9G!-TY%uhO@lW zF4+;yUu)G@Bkc2vusz16Y$OF{s9 z4Z4DG9GDPBa+y%v?#gS;Ys;LbW_6+S!)Gj81)J8mT7(>k)yeQBshwFv>4LjJ&m~rGT6+*!~zg`G(-0%*5OaG-=vEb2KDWK{!>Hh6wR-0kR zP&jh_`bM{Oz8Sz-0uP=P>7luA$JVM3%GNA(Y6751uw#qUnhb2%YRkWH7m#l!onMt- zjOEt`3=G#BleSIVgjnf6A7z(g4(R!~$T832l?5P@&seltQwOz5l6r)9V|3g0)izgt z>0?^x6a$b7%m*syE%}%x@!jy|KDjumRgqAQ#?-KHUNluF(1oYq^C4E-cctn_1nx$f z-XuOib$N3_Ey*=SRzg96r_2~ehtEc&x(vEYz z_%Xua^y;~;R;%AZgAhx8M4aR`EP1MhR1-Jk0qg`tyd3_?sKduZt{^7o*N>kapd9_n zanQK?e%8E0PGd^_x9n}1W1pXW%2|Zr_(}eU8_&>{^9+*_ei-P%ne@6$7qr&*H~m2Q zh6>xjS5v7#W)7?*?shd@E#&aJv`uLOrDnrAxsHVsy3qXlg}`Ho;PVxzWm@;FTDTlB z$t5LXweMF@@{Z+O;%`t@umWa%z1trN5CCJeKf@Kvu(r_$t%^q|(5xoR2u|i~vUq9f z_4;}_{dY0|m)DEBKk#T8I?(1P#oVUJx&6Cg3K;`g1Gv)2=F!u0UGxRTTawCjsaB8b z>^I^l2Unb_U z!-6w^Jkg7bApSek%@KjdhkXvxBZ2a2Gm?Kkp~+B9HRyz`fkagH(DHU|a^>pNi1POh zN296ECg*b<{(O7msqWyt7d8&R0KGPAwHSNZVp&^!J>pCSViY8i8_Rc5&?}3A(yOH^ zYW(HS`=+u>%WI1Z+O$(?;}u+X-N$YG7sk(Ce@9sJ{E1tWkDG^rrp4r`Y7&8Zo(Qi9p0nrbcMjdoPgKh_-WTWV^Y{vz zQIq9-3omw&?(|aUeD>DRb)5cO+OtVE|D6pThHaA>i=3vj&ScQ>UNLRACy{=cr?B6>jQz`Wjdc?V5SE^2hm zwIqX#-#7?bR#K`M!4xr}DcI~zANNVz{K5}D6yh+f=3_J?6*VVwT~>!o_I%=SWa#_5 z0rUnuSn?4UjENf6GwClqY7Rwzx?em0Nd-|13llF=gU#mkXkL@`yux|X$mJU(PWVdo zElsrp2>Rv#Z9XTTVyjS8F|`PK$QH3w=C0vY?%v(cy2%8A7?IZ#(x+xU-;}^1Vi7ym z(93t3-a1+D)^U>cas>UmnN&)z?74EABnncmmV6P5!|q&wCpS&g?Fl?#$2l=S$V)&1 z!@Sia&ioDOWogx|pLSn%X}3421xRvo^A8_y_2f5D>7OwNBkh{kti{J4on#oVj&5zl zi+L6FOYV@Cig0QuKnFbijC4gYp;JH<`H{awcNx&~TdHDS8^oj8C+XXuhA9jww|&VO zp(K@T5Zle|y)Fzly^ATu%5j1NdB^fy51R#1OZ0vZw{8r^tJa6|z3Yv$SkqxxGHWbq zR*%(|OFNO08hy;(AO2>L?D4;YQk14=)5gzt#rvh1Am`ztmcVoRehS+~jqC51TovdQ z^$Px@zr$umJo5Q_gJvB)^V#PCXuyH4G3qwKQ|ZA`WnB4@GdoF|07|AouHL$Sd3sEl}!QCJpo{fkC^WD@Qq`d zR=zcK42AvxRG2r~v9t{8IT6Z|5o~LZ!1C`}JK!s(*4cvwH4*ppT(-$m7JCfwwo@66 z&1}r%ZG7mJfN%rO01Inx5Kpf!JuP%1UT@CUNdgr+pP= z0O}Xv5hU*0Ro%-P%l9JzB3DDeQ230A%i;jf7ONoXivU@|v$^c}(}rd}3i_rWB$wMk z$b-$6t}}4y<|Q^OBgelVrnD zCDU3Wq9FZlcCO+Guw_(e8yuCjwKP&$ZzhSj{pY3aXr8Oh{HSMu$nD)GP(iiWDjK@* z0$nOpzTl~e^e3qPxiQ0aw4w%p zqqsL5z?2R|mlhnO&+xq^9!FkM9(>gxQ;#_ocfhFx& z>h8?F$05_I?b$Py`0_lmZXI{P&1!Ex%pHIa5B^=%J;%fM+YW-Iv(_t?Ns}#Kqi;5# z|Ej>^K}6Sjh-q;|YKSqJV%mQCsGX4}4 zPN4t*$k_b2c4O*io~)Q5j5ihOO@jXYY5(ubOMr56_N`2oMnyhD?grqvHb$}rxy65d zyS3iaO8k7eSN`{F5KZT`ZUMx6Qd#dL9Q{do1OO_YDnfDqdGUat`WZ<8L2 zZBgqiT(FPR7j#(Ul8&4}b$e8zz<(#W24MgR_64XD`#u?zStN66SS#>#Mb@oa{<>?J z0F}j0!PI*xVud1A4pLm$gi6oxLhJ@$T;5xsGAPitm!IO2S0BG}I5}~iWlQ~6NC%{^ zNO8UindZ-!_~g)dZc2gnz>T{uH?_9%tRl{S!gY$_UjDmWA#8)noOa2Va><*-Da+Nu zzG-mH?&MBpEMOOW;dAhf&T0E*Rw32&i%KUg91C&ZE~xQr{g{XVwv4Ct0S9Z0S1BsW z;b=q5-r~DTn*X)QHQ8ON+xlbp-svW6)wF8!jxa{a2ZcQE(bha@)iouvlC|Z(nOT`s z1ngNWXnhRNJ!{>Hx^rIesErcv9O*&!x>~Ol$tLR^g_y*Yt<8fW-IEm766ewJSO2^a zJQ@HZJDCroc~$_8Svas2+t?v5(pOv ztv{vt=i@u`%U53<-Sr7PcH}k+-4gg^IDqz>I6%2-;0=AtetIcAzrWk@8Pr7g{p!0HsmQrU0TcmYduxM9D}XVKfR{EU+%{d z5vzUGA{U3@A~qJBfD34+R4YR<`NCg+_q{-!K%Kt%h{mzS*n z+zG0aWM34lT(z)c)M}ZWOHx*nma7{lv?qIOe<_DZ+8&t_#V2kp|4O^N@Mb`9{k1(5 z=v+(z*-(?AFK7R7@HH+7&NA;4p6-jE9G~8HdU|XP^LBZ0KJYdA1%2x` z9}^Vn9SDfLv*#hQFUni_cf<_cAAm?olAv2tMv)YkKb)6Z+VN_CUj_73x(Jr&s@;9{ zk=wQSB{vPljJi(+ddV_9(DGeoN`HDJ4rVylZ1NT}VYH1`z2PL7uYomhl-bK=cK|?v zs?v59#tmZAS;Tb^{w>Gf28Ucsb@zPGDLxMo-EVvJgh{%cX^yKdOc@9btZheZ?V)d| zukzmyZ?oaE6)EgQlB5otndjiCU4INYkTAxa5s8nOS6FW)6v8^{+64j2p|c8kVrp*9 z`04SkuXmz{+b@N&1>iYB!%pu!h+b)5KGCDV^1SW$+RmPerI3QNI7W1&ZiGYnA9X*i zeGZzmx>ojOfL!#TteZjG=?o@3i4TrHw;VgOa3+Np9E-McU%XgsK8zDQY#p>LAFCO@ zC3ZnZSOsef4hf2Gqdqu|;jAf*=;taS54{LGT<)&l4!Uf_Q^!fn7gMr3Sw7D`>6*92 zA%5Of1LRw*u6x1x_NJY>ShLuI&(H5JEIn{tZhmRJA%8g+=wYx3t6VAAF$-=zzHvSJ zNZLvLkPvA=b{DK!w>QSZbnwc~w&8_kq_BfiwPUK6V6uQ_3~s+z=AA-7#ow6Q!xNNV zBnG3+Y}Iqm>^sN)o@D;smsCs4diyXoF(nUhCS|%93(}j?jG1J#zE!GVLS|FT`YuFn zb_VJOcxrKUPq0^V=;(SEz5dv}KXVXC#9xfic5Np(GW^||yaNnl{KfRvQQf4cy+ZmuBD;#XTF#O?hBsuFUMKZipkLpSz+1hyg;6%p zJnvi3^QgQvI2wB2>8Z7x0tWzaJI4?UkRo%9lBSHPAP52GRa2iVF0MSDKJ{7kOj&7f z{O)^x_wNgrH4d?*)Q_h@Mk4g_B5kXer>qjxMdJ`~$7dIi+&NgAbS*YaEVmtTxv$}6 zeYoe=w0Pb9@6s$CPN_g>Pnsin(>ZJFj~Z`{i` z5s(J74~RkRG}awP&|LkbfVAV>n-1w8&k3lg1|$}j+w9ELk}12y6s4+QIS}b&tDLgd ze4_Vcb89FgbMdYlB)8nvH)dKv>BEPGw^;!N*Q*8HvqGlbaT71-PC?3QXbOZ${;9lX zgfPflfGVvyWt;!zN?Xl%3^cDBS;6r&RmB~b&e@MME|hHAJHzb%RJ6Wew5y=|`#@YG z-L_2OPE$4eVR77g*S*{wa|fu;&c`_@%pKj2sFrl7Z5yH^iYej@^3@| zWX3?3eeYE5S${~p@ct-r081HjA8Fv{niu*KgX38+tsaEh3vthP>XTf$S2m!gA#p^V zwLq=apJf2$j~Pd{CY$w7bSp zAwm=nu~}hzZ90I#cm;Yywha$^Oj-csIMjGqavdhaHerXWQ0MyH-(e=1#@xj?m9@;7 z@AN@!ZarrSr71MCgKJmPa#mKq_+GH~ya-CkTj{ z|5tBUO7vc*LXzZFnIxwpWT}}8RzF%Drdw2197Nf%lysv0-E@|>`kgW6f(THGo4z%( zGC3U9Jvcxs*)tn!3$dE~%d)mY$xM4J1I&hL^XUmEO{;LaoPZ{{H1U9<&a!_uVKQ~U z?D{p<^k7iwL&}r*l|j)=ARV0e?%P(ra7h2HWnc&<`~^CY-Qfi!VeLA948C;ItNaCc zb7xqQowmjPYun}82)QA*ALdWRg@uwt2RnPsU1ZmK7nffuerz(|$0EBmHyG%a#^Yva z4eH*k3WIA5ccO`5Bpy?BV{Pm%1|zq-w++fw&@##OkC%MUH+Pqmu0XDWZ46qs8}*Y{ z`%fK(9dYHiDj5l+u~V#v|6+Cd>0mQTf2r8N7GB6mAWTQr z6MB|VBzTnn4R2`XyJ=+VIQmO1$l0_%z9KI=vDYl{Mg{#Gt z?JU2s!E338n-7VED};_Eqna$TCvUo1eh5uF))!8$#;z(yMHy0D1J%|f;DpSUI!%+} z_}*oYhp0ISe&Xc4dcduVw9mdzGH9twe$zqEFREhp`kjULZ)H8c%-5vbguF%0XbZ2_ z55BRno1XHgELBQU)|HLS4fY#wM{{kPgL15o8F}R-e`S3y#>M)XARk>FyWX{)HGo)Gi)b4+|xrduyXE+7f~ z&9oknzXAPEP`>p{&1n2k#GSL4onL#lZ}Apj-k-V*N#)m|X>a~UQgLTEh?owfN9H=7 zWj)pQtLj~W5tvc(TZ?tX8Xv+MqL zeNx>aw5+=`n))!53~>o*fQ_9{rL6#sNe6Xzx~+{C7k*bnC7>;$pv(481Lh&Hm3;4_#L!8rzR^@C4cSOm=k}6k~`Vayu>(QzlTVN-4qJbKO?Q zkR3D!k<+{?Nu_Nb%7Lq!2ReG7?s0X$`csL-e5aX1tVbH4d5SePI5jG}=Ww;HRj*&) z>aq9E!`Q#U*YGbCQ`3DNtq$~^6hR7)P>MQ_VzIa|e2MadUN26R&v|sWa_w!2V8Oc* zxj_U7kgy|A#Ge95DZ$MFP>IPd`gzvD4FMYj_XqOfonE$9T?Oueg@f-YFd!ZT7vo*W zG+H1)Y`GQoJ->U(Z1t{+P9b1VE=#Z9BG%TpAStdD2-`Mx>u8*lg02028RWVoL|Nr~ z!}pQ0?OEuhxZV{?1C@>OU;uyWU=SJt0;SL0?*(XerzhoW){~941x#ai_gCpM6a$9* z%{|Z!YVhgx$Cln)R z%#^y3lNw1g!iLyJv_nWr=mKtTu7z>7KB2k0Qr9oFmk-cq^f$x1E8jSe3wEt0ZTt78 zqfd0dwNQMAc^iVWkE8RmX?sirkfU2Kc`oI8co!hF+UT%P_E|uFJqbDNwU-(U*xK6u z;0biM!0p1+sq=18-VBkI{ANhYQfxUMiUEviIh6mh>E!o&wvDQy>B-T#Ff>RVxU|t7 zPprZdH2nRd`t(`C<2m{KK)KA+-du?gq%6+}vxUOvq`bQI>#08$iUEQNIg&CN#XcXJ z1vsB1n(9aPOAsHm1-A6oat)wvRN@hLd&rJ7$-=e2dA!ESSaw$?_-(t@=pRxu5tE-RT+eR3oOnGL_?ma*E1~fIP(oN(M^$PchLwT7-8cJGnmA zH0V7yEUMNBEYoe9{9d{pOcB(GqJ{!uO9S3w$5rhaF0XN!0bpZ_RoW?Fg#iEnzr(;rN6+3hvW(2Z`;;YN-Th}x zg9zfD_1(3ZOGdq5rlX-)_2A5^;==S&8)8TsAXqQbAdroEZ*}iu|52f-(5vs)R=#LB z!f*=2BejE-reS-di|nF|hAM{V;$xJ+{B8br{i0dSJ`okL${&sdj0Dcg;Gl> zS3t)Q(ufV_x%&5gHs;78lCpZ}i&e6+fgfs!DXdCP0jS6ibokh!pa*C5`Yw6!F=+CyM1l z?E9($Y8tZr$BNQ%JL1xduhE6f;uZBISbi#!?^^-<+_fS0f;&3_NxC!*+TvvB;ChLp zrK(#_QI=lH88`e611<1W?29bq88GjWuQ-lEP;lvQ3Iix~0M__x%M}k!E(=oHs(q=s z*570R$JRuLp49--A{z?rguaDl)~~$O5zkf%ic86F;MD^PxAXz>fXK z1Q@o2z-_1}(Bx>7y0MvS?ex=AkZ>?yZ=?$==$5kxGRGZh+*)0Bvd61hrSF;2hW+k zKH2XGpfAuySCQ8&;iYzxVpV+MeNvi0j&j#nV`|~_UE6#ZrI}q1z@awhmat_ar>Jzx z%`0sAGK?T^7liW<+rdBLcwRn6msTS7*8~n~^?l5W7YgnL+pm8i|F~^b8UKOzQ{U4| zhLQQXLd~g`d?D4A42`;$O-dS732CYwBmyVftQW}(B*iX>H^_Y14jmQ5v(K$dq8gLe z2)K4Np6N~1Ty_=x=BmEotUYtoB%%92trsi&1C6=3;t~BaWF2!#UCeQW(YHQ!=2O4} zSOuE>vBP$wzY9N*fmcq>T*$ER5F5K=f{4x+D6Ncx^8?&Oym@KifBG%m;5JZQaPo#s zo#X@1_W>4P5ooKT7;C_7aw=*NoBSGhi9r$?(C_jM;lA^$iH6X}T0kHNzbQJ~^k+Mn zi&faHuIq#LbQhvfRotl_#t~sRs0ln*ePf3XRzOsmWnzaR{j>6e7fa(15S?Fj8UlUG ziTUD+grk6xDBe9&6F5%*+TeJWshk{j3q!0fxG~WwR3Hn>YJ0=UWDcha zu$=$r;%6=NP?^KQ{!bi#^Kk%4vQFs#YURqKp>E&4nMTjpGE-DYP2|Z^*`sWeEukn` zh6j^EXrV|vwvkFaRI-Iaw(R?ob<(1;6Fp@~M3&OXk}UOJH#42{p7Wmbp5HmY{%}q+ z-{rpVx$f(_?(6z|K4HuGTXf_Oj)c;c;$y}?^Bav`iRSMu4f(i>+O`K?^C;M$lekev zs*YE`xqIqLS@`bb`&DyE^@7}edugxo{!)0$BSs5%_xU2>NFLnAVN&gDQAT1MPtRmcnbmC6MB#oZ^1W zFLQHU^VaK&o6e;IP`U$7s?ZD)?8Oit@gweEW!i|E^|2puSyfj5YPE&r5VVm?7m0Sg z=2A#LBgQcpF{ZyyFa=O zRF=&1sDAS|^1(rMh?tm1)U%*h^JysWHjj6R8h>l{{EL-nx5!X{b#7W}5ri`J-DB z&!O#Waf8s-3V9zQzkxUqeL=)>GQnj|ZOd(&B#o#q$xlL*OpaWrR1t2^N7#D^4*_OqFOW9Bz*IBb(COfYcO8f7n zY}>UwioLds@~bYB2ErkYR>>;~3Gl_L42O5}r0}+4wuhPZ%_%eqbonNx|sGo z=ZqewEQIIQUmkbaGwAxNLoI(1)4evN7b@TB8!fdPp$9b`@TT^*zuV{p^_J&+3uhv(Kd~KrGa}Y`&?KWJ5Dqg`Mv&?hC7h`K<)B;5spWyCp>ee`8 zoopa!8(QyLY*XYhXYWZJoy)XUP4CAKVs|V?;H5jPyGN_7Knc0fI~TYOR~Y+BEpO_w9mc*yr;R@-5Zo+oE=n*&2d$B?hroTO z4&@xHk(uI)N*~_W;~Hcszlf`Se=N^G&(Bm^VUMxZdGjFMR#1T%K+)6?WLoBL()Ve3 zc0YUa-R{b$pJA|cPxeeq$R^0x*IhN$SgOF$2;io#%4BknNnyH|_0LG6f@#xKgEL5e z+_2vKq4@9#`~Jep>=DtsrMW9gDXZWkz#5g(!Ig{y3_)B}f2DRHr~;@=dY_X^yci_0nBOnqNhMl{EYYKUGgmj7l#@(o)71WL2K^gL$dy{q7g$CD-*fv%J1@W!#w6@ zpKit2P!tWI++hkFvfSkLAmqUW&WPyasy9_2nu5!V@P5zFZa1e@x<@-+y>U1C(%?Kf z93IuMRN{=x4(G0avZ+go()j z|H~%9Jp`P9mSP@oG9kwJ_Sr7p03I5pQS$g(dl|e19MtU(OX6{uMqHEg?OSe5Uvs02P0%|)Ob`PY&k8lRX_#n*z1k}$Dl%NTRQV1nk z*_84wpQIk={x{Wg%<<@ze0VhRO7hSEn2j@G}Po02$-{t0Hmc(=nrb+4Cl*mlP3fpwg{bWud6X z67r(^&j$`W66fDUDBYR~4Cq1GCs(IB_Q1y2`x=K@ja1*h+a6n=m6u^^)ZN-OYsv-(F5k%R3oGO0` zH@LB&kS>>VGK$_h!hI@>%jFt5w=w2DS3oi~?9k*;Gf z0%5J&apVA~Icf-1-^-hFx_hmxe@{(Ei5~F7GGhccJ(Q2MW!JsrEbEG^2d*vu9JjnW zZmkHT;l$sgM)sY5bZFPViOXlRb+UX|cf9(cQe4c#jC`dJdn*u>g#oe*jh}FBYFIO_ zUbQ(rq?NH#_7ddHVd-LpDrT*Fo9;m81p(X0V1n2<<$7JZ2Q4!7l&{S2uCw>mn!0M6 zQpnTcUEoV6y3%#zta@FMIbjf-<1&_G8|Dp8H+_?H_s32J$(k2Y>P^B~((lYB1|j8x z+Nk2JdqoFt7!oN|hpqo3;7AM}r%7#Hdg<-D)c)#li>pGv`s`R}ndEZzxCby*twy8{ zKr{}%MOL`v^MD@G7U}R1zhegjsQL@j1#0UnN2-oYnkK5BwdS{Kcy;FamX;c<@DNlt z2>3Dx;04nMXYds}86zJ%p~4W0@r0Hd=qI5x4I&5es|Alm(h=Wgm;7k2 zuPA?JX@C&sE$Muw{@V)6TLdbny(vwh z6r6sRF7VX6DN69niB&*_WKUQYS*>~zx+LYusc)a)SXXy&@|XYNyJ4}mE;c!k7<9(( zHhA6N^F>>!1fIE(lVS3@Jrz!N2;zscpyznaKAj&z2`k*9ahj5hl48JlXVR9jYZ54$ zAQj3yWfZ6&5M^9$S?sR#wjHwuLIJX1U87*Y&&ichzxC1R7dJalljY$ z%UCsH1{4*TRg}gyf}Y-h#)M6w6;<cS@*HprUR$4@feqa$cstG>X^28( zfP%;TajK5t-4D!L$f$J1z4!A8i6}G~T&Xy#W!rWnq zib@_%LMx91x;Ih}d08TVnt8n|6bu>qb6&Qf@-TcE7@MuHKFhK$D>z1f0y3;q8~B*xAq{|fN%T;v0!za2 zD9Y>?xS=<(^3(j6zYj>k=HSM}GnB%PQoV)@rI{}wpkf4GEIyfKAWE=m{mPvyf~v?s zpvf<#`4W60b5LP0Xr-2!6){R!cOpXn7#9gR>*40_i?2$(5**-}GLA8YOw$aIhG*6m zbV@L19t1H$s_Cu$8P+r5U>`00*&SLRE1#SIGyvztO9Dd7>*qzl(z#Ubff~dP_Ia#A zgp*@iJJQ8+=oe62y=E(?_SbSQ&Rx72o2;2{B`bj4KDh0u%hGuLo$Lo0k-W>7pTubC z0xJF-M2Sbq`tf@?j4}U4^4KAyq~XYVB~g$yx#QueLd15?*dUXNuS2-|6Jc3~Cy3Z@S4(-CQgqQr{jCvoDYJ%oYN z*rGJZvThf!?wrFsE5g69AY@~9)m;UFUZK(tZ-|{^J=O@BQ{4gG5=Y5*!GGRAA&Lex zFAXc@zb<%XTTzp+OZxjjtS=oK0{A{Tdt@4Rm}0WqhEuRnDfNv3R)QDjsJGnyhAw zgD>#R-N**AV1dTeDXXN0JAsqT52;k_0npmptC`1ILYykt(6`MAtSd;YA^=Mtc9jF4 zp~4&hz77UBf3XR_x&RDYl3ilXQR)wk;nlTdqv1KUQ#x4r!5K3BTB7&fr*v&(E^EOI z6sekmE3OdzsRbAD?4RHN-2!8|usL$%_Y{C{!-lL`1AQbZ7%=`sa@%K=I$X46u|a+lB95* zxxLi6EL^3dAxqmw{?6Qi1f+$_7>*>ec5Ex`SoNI&lPr61!F*5LevImM&tzd$d6bRT z1`+kD`ZI0<(`T<@coKdxXGxlYMRxW5Ra>);Q6JqVzhh||>%q`;_Ahg9#q_YNE_rlb;vCc>iDQ>a!|X#q z8FoXoGIL%e85kt(5I>C->x^M<1V%^)uO?u;e;u;b3qXr`B%70Xe zV$2oBAs&sE#QJoQCH|{ zn1aJHwGm`)Rp@uaV#-eZBf$Kfe-}kp?HjNTw)_@d7Mv&{rS?bp3;*d zY*Yf9T~}yQRz27H0R}xb=GG4m0*M^JhQWGbt-m^cPM5^u@GGCtv}l+J++(WC9wSjU P_;*O>h<2VPHSm7`pZ<&E literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json new file mode 100644 index 0000000000000..ee4c30617ae15 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json @@ -0,0 +1,25 @@ +{ + "name": "posthog-plugin", + "version": "2.3.0", + "description": "Send user and group attributes and events from PostHog to Engage for personalized customer engagement.", + "main": "index.js", + "license": "MIT", + "scripts": { + "lint": "standard --fix", + "test": "jest" + }, + "pre-commit": { + "run": "lint" + }, + "devDependencies": { + "@posthog/plugin-scaffold": "^1.0.4", + "jest": "^28.1.1", + "pre-commit": "^1.2.2", + "standard": "^17.0.0" + }, + "standard": { + "ignore": [ + "test" + ] + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json new file mode 100644 index 0000000000000..929684e837eb1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json @@ -0,0 +1,37 @@ +{ + "name": "Engage", + "url": "https://github.com/engage-so/posthog-plugin", + "description": "Send user and event data to Engage for personalized engagement.", + "main": "index.js", + "config": [ + { + "key": "publicKey", + "name": "Public key", + "type": "string", + "default": "", + "hint": "Get your public key from your Engage dashboard (Settings -> Account)", + "required": true, + "secret": true + }, + { + "key": "secret", + "name":"Private key", + "type": "string", + "default": "", + "hint": "Get your private key from your Engage dashboard (Settings -> Account)", + "required": true, + "secret": true + }, + { + "key": "filter", + "name":"Event filter", + "type": "choice", + "default": "Send events for all users", + "hint": "Sending events for only identified users ensures user and event data for anonymous users are not sent to Engage. However, note that if they are later identified, you will miss the leading events before identification.", + "choices": [ + "Send events for all users", + "Only send events for identified users" + ] + } + ] + } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js new file mode 100644 index 0000000000000..ba816ada8a494 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js @@ -0,0 +1,168 @@ +const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils') +const { composeWebhook } = require('../index') +const config = { + publicKey: 'ENGAGE_PUBLIC_KEY', + secret: 'ENGAGE_SEECRET', + filter: 'Send events for all users' +} + +beforeEach(() => { + resetMeta({ + config + }) +}) + +test('composeWebhook to send the correct data for $identify event (user)', async () => { + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: '$identify', + distinct_id: 'user01', + properties: { + $set: { + first_name: 'User', + plan: 'Pro' + }, + $set_once: { + last_name: '01' + }, + token: '[some token]', + distinct_id: '[distinct_id]' + } + } + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth + }, + method: 'POST' + }) + ) +}) + +test('composeWebhook to send the correct data for $identify event (group)', async () => { + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: '$groupidentify', + distinct_id: 'user01', + properties: { + $group_type: 'company', + $group_key: 'group123', + $group_set: { + name: 'Group' + } + } + } + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth + }, + method: 'POST' + }) + ) +}) + +test('composeWebhook to send the correct data to track user event', async () => { + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: 'newEvent', + distinct_id: 'user01', + properties: { + $set: { + number: '08012345678', + currency: 'NG' + }, + prop1: 'val1', + prop2: 'val2' + } + } + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth + }, + method: 'POST' + }) + ) +}) + +test('composeWebhook to send the correct data to track group event', async () => { + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: 'Played movie', + distinct_id: 'user01', + properties: { + $groups: { + company: 'group123' + }, + prop1: 'val1', + prop2: 'val2' + } + } + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth + }, + method: 'POST' + }) + ) +}) + +test('composeWebhook should not track non-custom events besides $identify and $groupidentify', async () => { + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: '$pageview', + properties: { + $os: 'Mac OS X', + $lib: 'web', + $host: 'localhost:8000', + $time: 1606383312.494, + token: 'mre13a_SMBv9EwHAtdtTyutyy6AfO00OTPwaalaHPGgKLS', + $browser: 'Chrome', + $user_id: '3erf45reXthrGser675waeHFAsbv4AsadfR', + $pathname: '/instance/status', + $device_id: '17554768afe5cb-0fc915d2a583cf-166f6152-1ea000-175543686ffdc5', + $insert_id: 'hgu2p36uvlc1b9dg', + distinct_id: 'scbbAqF7uyrMmamV4QBzcA1rrm9wHNISdFweZz-mQ0', + $current_url: 'http://localhost:8000/instance/status', + $lib_version: '1.7.0-beta.1', + $screen_width: 1790, + $screen_height: 1120, + posthog_version: '1.17.0', + $browser_version: 86, + $initial_referrer: '$direct', + has_slack_webhook: false, + $active_feature_flags: ['navigation-1775', 'session-recording-player'], + $initial_referring_domain: '$direct' + } + } + + const response = await composeWebhook(event, getMeta()) + expect(response).toBe(null) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js new file mode 100644 index 0000000000000..e6ffb76231132 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js @@ -0,0 +1,19 @@ +module.exports = { + env: { + browser: true, + es2021: true, + }, + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + parser: "@typescript-eslint/parser", + parserOptions: { + ecmaVersion: 12, + sourceType: "module", + }, + plugins: ["@typescript-eslint"], + rules: { + indent: ["error", 4], + "linebreak-style": ["error", "unix"], + quotes: ["error", "double"], + semi: ["error", "always"], + }, +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml new file mode 100644 index 0000000000000..5c0b7178a608b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml @@ -0,0 +1,23 @@ +name: Unit tests + +on: + - pull_request + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up Node 14 + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore new file mode 100644 index 0000000000000..a3da4683244fd --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore @@ -0,0 +1,122 @@ +# Custom +.vscode +filters.json + +# Created by https://www.toptal.com/developers/gitignore/api/node +# Edit at https://www.toptal.com/developers/gitignore?templates=node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env*.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# End of https://www.toptal.com/developers/gitignore/api/node diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE new file mode 100644 index 0000000000000..6b564f20cf467 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE @@ -0,0 +1,18 @@ +Copyright (c) 2022, Mihir Chaturvedi + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md new file mode 100644 index 0000000000000..f0e1772f12c71 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md @@ -0,0 +1,93 @@ +# 🦔 PostHog Filter Out Plugin + +> Ingest only those events satisfying the given filter conditions. + +## Configuration + +This plugin configuration requires a JSON file containing an array of filter groups. Events matching **any** filter group will be kept, meaning there's an OR logic between groups. However, within each filter group, **all** conditions must be met (AND logic). + +**Example Filters:** + +**1. Single Filter Group:** +To keep events where all the following conditions are met: +- **Email** _does not contain_ **yourcompany.com** +- **Host** _is not_ **localhost:8000** +- **Browser version** _is greater than_ **100** + +```json +[ + [ + { + "property": "email", + "type": "string", + "operator": "not_contains", + "value": "yourcompany.com" + }, + { + "property": "$host", + "type": "string", + "operator": "is_not", + "value": "localhost:8000" + }, + { + "property": "$browser_version", + "type": "number", + "operator": "gt", + "value": 100 + } + ] +] +``` + +**2. Multiple Filter Groups (OR Logic):** +To keep events where: +- **Group 1:** **Email** _does not contain_ **yourcompany.com** and **Host** _is not_ **localhost:8000** +- OR +- **Group 2:** **Event Type** _is_ **signup** and **Browser** _is_ **Chrome** + +```json +[ + [ + { + "property": "email", + "type": "string", + "operator": "not_contains", + "value": "yourcompany.com" + }, + { + "property": "$host", + "type": "string", + "operator": "is_not", + "value": "localhost:8000" + } + ], + [ + { + "property": "$event_type", + "type": "string", + "operator": "is", + "value": "signup" + }, + { + "property": "$browser", + "type": "string", + "operator": "is", + "value": "Chrome" + } + ] +] +``` + +In this configuration, an event will be retained if it matches **any** of the specified groups. + +### Allowed Types and Their Operators + +| Type | Operators | +| ------- | ---------------------------------------------------- | +| number | gt, gte, lt, lte, eq, neq | +| string | is, is_not, contains, not_contains, regex, not_regex | +| boolean | is, is_not | + +## License + +[MIT](LICENSE) \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..324f18eac61e3c56de53e897986bc589f5f508aa GIT binary patch literal 7626 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 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json new file mode 100644 index 0000000000000..d77e9dcbeb10c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json @@ -0,0 +1,28 @@ +{ + "private": true, + "name": "posthog-filter-out-plugin", + "scripts": { + "lint": "eslint --ext .ts src", + "lint:fix": "eslint --ext .ts src --fix", + "test": "jest ./src" + }, + "jest": { + "preset": "ts-jest", + "testEnvironment": "node" + }, + "devDependencies": { + "@jest/globals": "^29.1.2", + "@posthog/plugin-scaffold": "^1.3.4", + "@types/node": "^18.8.0", + "@typescript-eslint/eslint-plugin": "^5.39.0", + "@typescript-eslint/parser": "^5.39.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.2.1", + "jest": "^29.1.2", + "prettier": "^2.7.1", + "ts-jest": "^29.0.3", + "ts-node": "^10.9.1", + "typescript": "^4.8.4" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json new file mode 100644 index 0000000000000..5421131984fd5 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json @@ -0,0 +1,32 @@ +{ + "name": "Filter Out Plugin", + "url": "https://github.com/plibither8/posthog-filter-out-plugin", + "description": "Filter out events where property values satisfy the given condition", + "main": "src/main.ts", + "config": [ + { + "markdown": "All filters must adhere to the JSON schema specified in the project's [README](https://github.com/plibither8/posthog-filter-out-plugin)." + }, + { + "key": "filters", + "name": "Filters to apply", + "type": "attachment", + "hint": "A JSON file containing an array of filters to apply. See the README for more information.", + "required": false + }, + { + "key": "eventsToDrop", + "name": "Events to filter out", + "type": "string", + "hint": "A comma-separated list of event names to filter out (e.g. $pageview,$autocapture)", + "required": false + }, + { + "key": "keepUndefinedProperties", + "name": "Keep event if any of the filtered properties are undefined?", + "type": "choice", + "choices": ["Yes", "No"], + "default": "No" + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml new file mode 100644 index 0000000000000..83d3689905942 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml @@ -0,0 +1,3100 @@ +lockfileVersion: 5.4 + +specifiers: + '@jest/globals': ^29.1.2 + '@posthog/plugin-scaffold': ^1.3.4 + '@types/node': ^18.8.0 + '@typescript-eslint/eslint-plugin': ^5.39.0 + '@typescript-eslint/parser': ^5.39.0 + eslint-config-airbnb: ^19.0.4 + eslint-config-prettier: ^8.5.0 + eslint-plugin-prettier: ^4.2.1 + jest: ^29.1.2 + prettier: ^2.7.1 + ts-jest: ^29.0.3 + ts-node: ^10.9.1 + typescript: ^4.8.4 + +devDependencies: + '@jest/globals': 29.1.2 + '@posthog/plugin-scaffold': 1.3.4 + '@types/node': 18.8.0 + '@typescript-eslint/eslint-plugin': 5.39.0_7dm4gihkjnuxbxl73rqy4xzt2m + '@typescript-eslint/parser': 5.39.0_typescript@4.8.4 + eslint-config-airbnb: 19.0.4 + eslint-config-prettier: 8.5.0 + eslint-plugin-prettier: 4.2.1_5ipovlnpea62s4232hvmwuqmsm + jest: 29.1.2_wnseany3vswo6p7nhyzogpjzqe + prettier: 2.7.1 + ts-jest: 29.0.3_2gcdg7c5hzdfd67o3khlosdlhu + ts-node: 10.9.1_5ra3kupzwcghzakkfdrtyjk72u + typescript: 4.8.4 + +packages: + + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.16 + dev: true + + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data/7.19.3: + resolution: {integrity: sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.19.3: + resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.19.3 + '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 + '@babel/helper-module-transforms': 7.19.0 + '@babel/helpers': 7.19.0 + '@babel/parser': 7.19.3 + '@babel/template': 7.18.10 + '@babel/traverse': 7.19.3 + '@babel/types': 7.19.3 + convert-source-map: 1.8.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.19.3: + resolution: {integrity: sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.19.3 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets/7.19.3_@babel+core@7.19.3: + resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.19.3 + '@babel/core': 7.19.3 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.4 + semver: 6.3.0 + dev: true + + /@babel/helper-environment-visitor/7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name/7.19.0: + resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.10 + '@babel/types': 7.19.3 + dev: true + + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@babel/helper-module-transforms/7.19.0: + resolution: {integrity: sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.18.10 + '@babel/traverse': 7.19.3 + '@babel/types': 7.19.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-plugin-utils/7.19.0: + resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-simple-access/7.18.6: + resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@babel/helper-string-parser/7.18.10: + resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.19.0: + resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.10 + '@babel/traverse': 7.19.3 + '@babel/types': 7.19.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.19.3: + resolution: {integrity: sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.19.3: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.19.3: + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.19.3: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.19.3: + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.19.3: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.3: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.19.3: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.19.3: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.19.3: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.19.3: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.19.3: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.19.3: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.19.3: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.19.3: + resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.3 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/template/7.18.10: + resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.19.3 + '@babel/types': 7.19.3 + dev: true + + /@babel/traverse/7.19.3: + resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.19.3 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.19.3 + '@babel/types': 7.19.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.19.3: + resolution: {integrity: sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.18.10 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage/0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@cspotcode/source-map-support/0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console/29.1.2: + resolution: {integrity: sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + chalk: 4.1.2 + jest-message-util: 29.1.2 + jest-util: 29.1.2 + slash: 3.0.0 + dev: true + + /@jest/core/29.1.2_ts-node@10.9.1: + resolution: {integrity: sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==} + 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 + dependencies: + '@jest/console': 29.1.2 + '@jest/reporters': 29.1.2 + '@jest/test-result': 29.1.2 + '@jest/transform': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.5.0 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 29.0.0 + jest-config: 29.1.2_wnseany3vswo6p7nhyzogpjzqe + jest-haste-map: 29.1.2 + jest-message-util: 29.1.2 + jest-regex-util: 29.0.0 + jest-resolve: 29.1.2 + jest-resolve-dependencies: 29.1.2 + jest-runner: 29.1.2 + jest-runtime: 29.1.2 + jest-snapshot: 29.1.2 + jest-util: 29.1.2 + jest-validate: 29.1.2 + jest-watcher: 29.1.2 + micromatch: 4.0.4 + pretty-format: 29.1.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /@jest/environment/29.1.2: + resolution: {integrity: sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + jest-mock: 29.1.2 + dev: true + + /@jest/expect-utils/29.1.2: + resolution: {integrity: sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.0.0 + dev: true + + /@jest/expect/29.1.2: + resolution: {integrity: sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.1.2 + jest-snapshot: 29.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers/29.1.2: + resolution: {integrity: sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + '@sinonjs/fake-timers': 9.1.2 + '@types/node': 18.8.0 + jest-message-util: 29.1.2 + jest-mock: 29.1.2 + jest-util: 29.1.2 + dev: true + + /@jest/globals/29.1.2: + resolution: {integrity: sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.1.2 + '@jest/expect': 29.1.2 + '@jest/types': 29.1.2 + jest-mock: 29.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters/29.1.2: + resolution: {integrity: sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==} + 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 + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.1.2 + '@jest/test-result': 29.1.2 + '@jest/transform': 29.1.2 + '@jest/types': 29.1.2 + '@jridgewell/trace-mapping': 0.3.16 + '@types/node': 18.8.0 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.1.2 + jest-util: 29.1.2 + jest-worker: 29.1.2 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + terminal-link: 2.1.1 + v8-to-istanbul: 9.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas/29.0.0: + resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.24.44 + dev: true + + /@jest/source-map/29.0.0: + resolution: {integrity: sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.16 + callsites: 3.1.0 + graceful-fs: 4.2.10 + dev: true + + /@jest/test-result/29.1.2: + resolution: {integrity: sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.1.2 + '@jest/types': 29.1.2 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + + /@jest/test-sequencer/29.1.2: + resolution: {integrity: sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.1.2 + graceful-fs: 4.2.10 + jest-haste-map: 29.1.2 + slash: 3.0.0 + dev: true + + /@jest/transform/29.1.2: + resolution: {integrity: sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.19.3 + '@jest/types': 29.1.2 + '@jridgewell/trace-mapping': 0.3.16 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.8.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.10 + jest-haste-map: 29.1.2 + jest-regex-util: 29.0.0 + jest-util: 29.1.2 + micromatch: 4.0.4 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types/29.1.2: + resolution: {integrity: sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.0.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 18.8.0 + '@types/yargs': 17.0.13 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/gen-mapping/0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.16 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping/0.3.16: + resolution: {integrity: sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/trace-mapping/0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@maxmind/geoip2-node/3.4.0: + resolution: {integrity: sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==} + dependencies: + camelcase-keys: 7.0.2 + ip6addr: 0.2.5 + lodash.set: 4.3.2 + maxmind: 4.3.8 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.11.1 + dev: true + + /@posthog/plugin-scaffold/1.3.4: + resolution: {integrity: sha512-69AC7GA3sU/z5X6SVlH7mgj+0XgolvOp9IUtvRNA4CXF/OglFM81SXbTkURxL9VBSNfdAZxRp+8x+h4rmyj4dw==} + dependencies: + '@maxmind/geoip2-node': 3.4.0 + dev: true + + /@sinclair/typebox/0.24.44: + resolution: {integrity: sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==} + dev: true + + /@sinonjs/commons/1.8.3: + resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/9.1.2: + resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} + dependencies: + '@sinonjs/commons': 1.8.3 + dev: true + + /@tsconfig/node10/1.0.8: + resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} + dev: true + + /@tsconfig/node12/1.0.9: + resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} + dev: true + + /@tsconfig/node14/1.0.1: + resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} + dev: true + + /@tsconfig/node16/1.0.2: + resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} + dev: true + + /@types/babel__core/7.1.19: + resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} + dependencies: + '@babel/parser': 7.19.3 + '@babel/types': 7.19.3 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.18.2 + dev: true + + /@types/babel__generator/7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@types/babel__template/7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.19.3 + '@babel/types': 7.19.3 + dev: true + + /@types/babel__traverse/7.18.2: + resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} + dependencies: + '@babel/types': 7.19.3 + dev: true + + /@types/graceful-fs/4.1.5: + resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} + dependencies: + '@types/node': 18.8.0 + dev: true + + /@types/istanbul-lib-coverage/2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + + /@types/istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + dev: true + + /@types/istanbul-reports/3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + dependencies: + '@types/istanbul-lib-report': 3.0.0 + dev: true + + /@types/json-schema/7.0.9: + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} + dev: true + + /@types/node/18.8.0: + resolution: {integrity: sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==} + dev: true + + /@types/prettier/2.7.1: + resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} + dev: true + + /@types/stack-utils/2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + dev: true + + /@types/yargs-parser/21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs/17.0.13: + resolution: {integrity: sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@typescript-eslint/eslint-plugin/5.39.0_7dm4gihkjnuxbxl73rqy4xzt2m: + resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.39.0_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/type-utils': 5.39.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.39.0_typescript@4.8.4 + debug: 4.3.4 + ignore: 5.2.0 + regexpp: 3.2.0 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + debug: 4.3.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.39.0: + resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 + dev: true + + /@typescript-eslint/type-utils/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.39.0_typescript@4.8.4 + debug: 4.3.4 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.39.0: + resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.39.0: + resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.39.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.0 + dev: true + + /arg/4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /assert-plus/1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + + /babel-jest/29.1.2_@babel+core@7.19.3: + resolution: {integrity: sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.19.3 + '@jest/transform': 29.1.2 + '@types/babel__core': 7.1.19 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.0.2_@babel+core@7.19.3 + chalk: 4.1.2 + graceful-fs: 4.2.10 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul/6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.19.0 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist/29.0.2: + resolution: {integrity: sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.18.10 + '@babel/types': 7.19.3 + '@types/babel__core': 7.1.19 + '@types/babel__traverse': 7.18.2 + dev: true + + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.19.3: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.3 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.19.3 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.19.3 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.19.3 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.19.3 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.19.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.19.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.19.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.19.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.19.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.19.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.19.3 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.19.3 + dev: true + + /babel-preset-jest/29.0.2_@babel+core@7.19.3: + resolution: {integrity: sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.3 + babel-plugin-jest-hoist: 29.0.2 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.19.3 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist/4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001418 + electron-to-chromium: 1.4.276 + node-releases: 2.0.6 + update-browserslist-db: 1.0.10_browserslist@4.21.4 + dev: true + + /bs-logger/0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + dependencies: + fast-json-stable-stringify: 2.1.0 + dev: true + + /bser/2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-keys/7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite/1.0.30001418: + resolution: {integrity: sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex/1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /ci-info/3.5.0: + resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} + dev: true + + /cjs-module-lexer/1.2.2: + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} + dev: true + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /co/4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage/1.0.1: + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + dev: true + + /confusing-browser-globals/1.0.10: + resolution: {integrity: sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==} + dev: true + + /convert-source-map/1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /core-util-is/1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /dedent/0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + + /define-properties/1.1.3: + resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} + engines: {node: '>= 0.4'} + dependencies: + object-keys: 1.1.1 + dev: true + + /detect-newline/3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences/29.0.0: + resolution: {integrity: sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff/4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /electron-to-chromium/1.4.276: + resolution: {integrity: sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==} + dev: true + + /emittery/0.10.2: + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract/1.19.1: + resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + get-symbol-description: 1.0.0 + has: 1.0.3 + has-symbols: 1.0.2 + internal-slot: 1.0.3 + is-callable: 1.2.4 + is-negative-zero: 2.0.1 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.1 + is-string: 1.0.7 + is-weakref: 1.0.2 + object-inspect: 1.12.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.1 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.4 + is-date-object: 1.0.4 + is-symbol: 1.0.4 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /eslint-config-airbnb-base/15.0.0: + resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.2 + dependencies: + confusing-browser-globals: 1.0.10 + object.assign: 4.1.2 + object.entries: 1.1.5 + semver: 6.3.0 + dev: true + + /eslint-config-airbnb/19.0.4: + resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} + engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.28.0 + eslint-plugin-react-hooks: ^4.3.0 + dependencies: + eslint-config-airbnb-base: 15.0.0 + object.assign: 4.1.2 + object.entries: 1.1.5 + dev: true + + /eslint-config-prettier/8.5.0: + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dev: true + + /eslint-plugin-prettier/4.2.1_5ipovlnpea62s4232hvmwuqmsm: + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint-config-prettier: 8.5.0 + prettier: 2.7.1 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-utils/3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.2.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.2.0: + resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} + engines: {node: '>=4.0'} + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit/0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect/29.1.2: + resolution: {integrity: sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.1.2 + jest-get-type: 29.0.0 + jest-matcher-utils: 29.1.2 + jest-message-util: 29.1.2 + jest-util: 29.1.2 + dev: true + + /extsprintf/1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fastq/1.11.1: + resolution: {integrity: sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fb-watchman/2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic/1.1.1: + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.2 + dev: true + + /get-package-type/0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.1 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.1 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /has-bigints/1.0.1: + resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-symbols/1.0.2: + resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.2 + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + engines: {node: '>= 4'} + dev: true + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot/1.0.3: + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.1.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /ip6addr/0.2.5: + resolution: {integrity: sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==} + dependencies: + assert-plus: 1.0.0 + jsprim: 2.0.2 + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint/1.0.2: + resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==} + dev: true + + /is-boolean-object/1.1.1: + resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-callable/1.2.4: + resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module/2.10.0: + resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} + dependencies: + has: 1.0.3 + dev: true + + /is-date-object/1.0.4: + resolution: {integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==} + engines: {node: '>= 0.4'} + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn/2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-glob/4.0.1: + resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-negative-zero/2.0.1: + resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object/1.0.5: + resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==} + engines: {node: '>= 0.4'} + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer/1.0.1: + resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.2 + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /istanbul-lib-coverage/3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument/5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.19.3 + '@babel/parser': 7.19.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps/4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports/3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jest-changed-files/29.0.0: + resolution: {integrity: sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + p-limit: 3.1.0 + dev: true + + /jest-circus/29.1.2: + resolution: {integrity: sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.1.2 + '@jest/expect': 29.1.2 + '@jest/test-result': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.1.2 + jest-matcher-utils: 29.1.2 + jest-message-util: 29.1.2 + jest-runtime: 29.1.2 + jest-snapshot: 29.1.2 + jest-util: 29.1.2 + p-limit: 3.1.0 + pretty-format: 29.1.2 + slash: 3.0.0 + stack-utils: 2.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli/29.1.2_wnseany3vswo6p7nhyzogpjzqe: + resolution: {integrity: sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.1.2_ts-node@10.9.1 + '@jest/test-result': 29.1.2 + '@jest/types': 29.1.2 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 29.1.2_wnseany3vswo6p7nhyzogpjzqe + jest-util: 29.1.2 + jest-validate: 29.1.2 + prompts: 2.4.2 + yargs: 17.6.0 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /jest-config/29.1.2_wnseany3vswo6p7nhyzogpjzqe: + resolution: {integrity: sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==} + 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 + dependencies: + '@babel/core': 7.19.3 + '@jest/test-sequencer': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + babel-jest: 29.1.2_@babel+core@7.19.3 + chalk: 4.1.2 + ci-info: 3.5.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 29.1.2 + jest-environment-node: 29.1.2 + jest-get-type: 29.0.0 + jest-regex-util: 29.0.0 + jest-resolve: 29.1.2 + jest-runner: 29.1.2 + jest-util: 29.1.2 + jest-validate: 29.1.2 + micromatch: 4.0.4 + parse-json: 5.2.0 + pretty-format: 29.1.2 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1_5ra3kupzwcghzakkfdrtyjk72u + transitivePeerDependencies: + - supports-color + dev: true + + /jest-diff/29.1.2: + resolution: {integrity: sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.0.0 + jest-get-type: 29.0.0 + pretty-format: 29.1.2 + dev: true + + /jest-docblock/29.0.0: + resolution: {integrity: sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each/29.1.2: + resolution: {integrity: sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + chalk: 4.1.2 + jest-get-type: 29.0.0 + jest-util: 29.1.2 + pretty-format: 29.1.2 + dev: true + + /jest-environment-node/29.1.2: + resolution: {integrity: sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.1.2 + '@jest/fake-timers': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + jest-mock: 29.1.2 + jest-util: 29.1.2 + dev: true + + /jest-get-type/29.0.0: + resolution: {integrity: sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map/29.1.2: + resolution: {integrity: sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + '@types/graceful-fs': 4.1.5 + '@types/node': 18.8.0 + anymatch: 3.1.2 + fb-watchman: 2.0.2 + graceful-fs: 4.2.10 + jest-regex-util: 29.0.0 + jest-util: 29.1.2 + jest-worker: 29.1.2 + micromatch: 4.0.4 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /jest-leak-detector/29.1.2: + resolution: {integrity: sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.0.0 + pretty-format: 29.1.2 + dev: true + + /jest-matcher-utils/29.1.2: + resolution: {integrity: sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.1.2 + jest-get-type: 29.0.0 + pretty-format: 29.1.2 + dev: true + + /jest-message-util/29.1.2: + resolution: {integrity: sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.18.6 + '@jest/types': 29.1.2 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.10 + micromatch: 4.0.4 + pretty-format: 29.1.2 + slash: 3.0.0 + stack-utils: 2.0.5 + dev: true + + /jest-mock/29.1.2: + resolution: {integrity: sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + jest-util: 29.1.2 + dev: true + + /jest-pnp-resolver/1.2.2_jest-resolve@29.1.2: + resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.1.2 + dev: true + + /jest-regex-util/29.0.0: + resolution: {integrity: sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies/29.1.2: + resolution: {integrity: sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.0.0 + jest-snapshot: 29.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve/29.1.2: + resolution: {integrity: sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.10 + jest-haste-map: 29.1.2 + jest-pnp-resolver: 1.2.2_jest-resolve@29.1.2 + jest-util: 29.1.2 + jest-validate: 29.1.2 + resolve: 1.22.1 + resolve.exports: 1.1.0 + slash: 3.0.0 + dev: true + + /jest-runner/29.1.2: + resolution: {integrity: sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.1.2 + '@jest/environment': 29.1.2 + '@jest/test-result': 29.1.2 + '@jest/transform': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + chalk: 4.1.2 + emittery: 0.10.2 + graceful-fs: 4.2.10 + jest-docblock: 29.0.0 + jest-environment-node: 29.1.2 + jest-haste-map: 29.1.2 + jest-leak-detector: 29.1.2 + jest-message-util: 29.1.2 + jest-resolve: 29.1.2 + jest-runtime: 29.1.2 + jest-util: 29.1.2 + jest-watcher: 29.1.2 + jest-worker: 29.1.2 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime/29.1.2: + resolution: {integrity: sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.1.2 + '@jest/fake-timers': 29.1.2 + '@jest/globals': 29.1.2 + '@jest/source-map': 29.0.0 + '@jest/test-result': 29.1.2 + '@jest/transform': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + chalk: 4.1.2 + cjs-module-lexer: 1.2.2 + collect-v8-coverage: 1.0.1 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-haste-map: 29.1.2 + jest-message-util: 29.1.2 + jest-mock: 29.1.2 + jest-regex-util: 29.0.0 + jest-resolve: 29.1.2 + jest-snapshot: 29.1.2 + jest-util: 29.1.2 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot/29.1.2: + resolution: {integrity: sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.19.3 + '@babel/generator': 7.19.3 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.3 + '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.3 + '@babel/traverse': 7.19.3 + '@babel/types': 7.19.3 + '@jest/expect-utils': 29.1.2 + '@jest/transform': 29.1.2 + '@jest/types': 29.1.2 + '@types/babel__traverse': 7.18.2 + '@types/prettier': 2.7.1 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.19.3 + chalk: 4.1.2 + expect: 29.1.2 + graceful-fs: 4.2.10 + jest-diff: 29.1.2 + jest-get-type: 29.0.0 + jest-haste-map: 29.1.2 + jest-matcher-utils: 29.1.2 + jest-message-util: 29.1.2 + jest-util: 29.1.2 + natural-compare: 1.4.0 + pretty-format: 29.1.2 + semver: 7.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util/29.1.2: + resolution: {integrity: sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + chalk: 4.1.2 + ci-info: 3.5.0 + graceful-fs: 4.2.10 + picomatch: 2.3.0 + dev: true + + /jest-validate/29.1.2: + resolution: {integrity: sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.1.2 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.0.0 + leven: 3.1.0 + pretty-format: 29.1.2 + dev: true + + /jest-watcher/29.1.2: + resolution: {integrity: sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.1.2 + '@jest/types': 29.1.2 + '@types/node': 18.8.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.10.2 + jest-util: 29.1.2 + string-length: 4.0.2 + dev: true + + /jest-worker/29.1.2: + resolution: {integrity: sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 18.8.0 + jest-util: 29.1.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest/29.1.2_wnseany3vswo6p7nhyzogpjzqe: + resolution: {integrity: sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.1.2_ts-node@10.9.1 + '@jest/types': 29.1.2 + import-local: 3.1.0 + jest-cli: 29.1.2_wnseany3vswo6p7nhyzogpjzqe + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema/0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json5/2.2.1: + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsprim/2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.memoize/4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true + + /lodash.set/4.3.2: + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /make-error/1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /makeerror/1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /maxmind/4.3.8: + resolution: {integrity: sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg==} + engines: {node: '>=12', npm: '>=6'} + dependencies: + mmdb-lib: 2.0.2 + tiny-lru: 9.0.3 + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch/4.0.4: + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.0 + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /mmdb-lib/2.0.2: + resolution: {integrity: sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==} + engines: {node: '>=10', npm: '>=6'} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-int64/0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /object-inspect/1.12.0: + resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign/4.1.2: + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + has-symbols: 1.0.2 + object-keys: 1.1.1 + dev: true + + /object.entries/1.1.5: + resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + es-abstract: 1.19.1 + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.18.6 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.0: + resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} + engines: {node: '>=8.6'} + dev: true + + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /prettier-linter-helpers/1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.2.0 + dev: true + + /prettier/2.7.1: + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-format/29.1.2: + resolution: {integrity: sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.0.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /react-is/18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve.exports/1.1.0: + resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + engines: {node: '>=10'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.10.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.1 + object-inspect: 1.12.0 + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-support/0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils/2.0.5: + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /string-length/4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.trimend/1.0.4: + resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + + /string.prototype.trimstart/1.0.4: + resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks/2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /terminal-link/2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: true + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /tiny-lru/9.0.3: + resolution: {integrity: sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw==} + engines: {node: '>=6'} + dev: true + + /tmpl/1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /ts-jest/29.0.3_2gcdg7c5hzdfd67o3khlosdlhu: + resolution: {integrity: sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 29.1.2_wnseany3vswo6p7nhyzogpjzqe + jest-util: 29.1.2 + json5: 2.2.1 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.3.7 + typescript: 4.8.4 + yargs-parser: 21.1.1 + dev: true + + /ts-node/10.9.1_5ra3kupzwcghzakkfdrtyjk72u: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + 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 + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.8 + '@tsconfig/node12': 1.0.9 + '@tsconfig/node14': 1.0.1 + '@tsconfig/node16': 1.0.2 + '@types/node': 18.8.0 + acorn: 8.7.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.8.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tsutils/3.21.0_typescript@4.8.4: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.8.4 + dev: true + + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest/1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /typescript/4.8.4: + resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unbox-primitive/1.0.1: + resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} + dependencies: + function-bind: 1.1.1 + has-bigints: 1.0.1 + has-symbols: 1.0.2 + which-boxed-primitive: 1.0.2 + dev: true + + /update-browserslist-db/1.0.10_browserslist@4.21.4: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.4 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /v8-compile-cache-lib/3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /v8-to-istanbul/9.0.1: + resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.16 + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.8.0 + dev: true + + /verror/1.10.0: + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /walker/1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.2 + is-boolean-object: 1.1.1 + is-number-object: 1.0.5 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic/4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs/17.6.0: + resolution: {integrity: sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==} + engines: {node: '>=12'} + 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.8 + yargs-parser: 21.1.1 + dev: true + + /yn/3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts new file mode 100644 index 0000000000000..61b7c7040d449 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts @@ -0,0 +1,252 @@ +import { expect, test, describe } from "@jest/globals"; +import { createEvent } from "@posthog/plugin-scaffold/dist/test/utils"; +import { PluginEvent } from "@posthog/plugin-scaffold"; + +import { Filter, PluginMeta, processEvent, setupPlugin } from "./main"; + +const filters: Filter[] = [ + { + property: "$host", + type: "string", + operator: "not_contains", + value: "localhost", + }, + { + property: "foo", + type: "number", + operator: "gt", + value: 10, + }, + { + property: "bar", + type: "boolean", + operator: "is", + value: true, + }, +]; + +const meta = { + global: { filters, eventsToDrop: ["to_drop_event"] }, +} as PluginMeta; + +test("Event satisfies all conditions and passes", () => { + const event = createEvent({ + event: "test event", + properties: { + $host: "example.com", + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta); + expect(processedEvent).toEqual(event); +}); + +test("Event does not satisfy one condition and is dropped", () => { + const event = createEvent({ + event: "test event", + properties: { + $host: "localhost:8000", + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta); + expect(processedEvent).toBeUndefined(); +}); + +test("Event does not satisfy any condition and is dropped", () => { + const event = createEvent({ + event: "test event", + properties: { + $host: "localhost:8000", + foo: 5, + bar: false, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta); + expect(processedEvent).toBeUndefined(); +}); + +test("Event is marked to be dropped is dropped", () => { + const event = createEvent({ + event: "to_drop_event", + properties: { + $host: "example.com", + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta); + expect(processedEvent).toBeUndefined(); +}); + +test("Event is marked to be dropped when a property is undefined", () => { + const event = createEvent({ + event: "test_event", + properties: { + $host: undefined, + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta); + expect(processedEvent).toBeUndefined(); +}); + +test("Event is marked to be dropped when a property is undefined but keepUndefinedProperties", () => { + const event = createEvent({ + event: "test_event", + properties: { + $host: undefined, + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, { + global: { ...meta.global, keepUndefinedProperties: true }, + } as PluginMeta); + expect(processedEvent).toEqual(event); +}); + +function setup(config) { + const global: any = {}; + + setupPlugin({ + config, + global, + attachments: { filters: { contents: JSON.stringify(filters) } }, + } as any); + + return global; +} + +test("setupPlugin() parsing eventsToDrop", () => { + expect(setup({ eventsToDrop: "foo, bar " }).eventsToDrop).toEqual([ + "foo", + "bar", + ]); + expect(setup({ eventsToDrop: "$foo,$bar" }).eventsToDrop).toEqual([ + "$foo", + "$bar", + ]); + expect(setup({}).eventsToDrop).toEqual([]); +}); + +test("setupPlugin() parsing keepUndefinedProperties", () => { + expect( + setup({ keepUndefinedProperties: "Yes" }).keepUndefinedProperties + ).toEqual(true); + expect( + setup({ keepUndefinedProperties: "No" }).keepUndefinedProperties + ).toEqual(false); + expect(setup({}).keepUndefinedProperties).toEqual(false); +}); + +describe("empty filters", () => { + const meta_no_filters = { + global: { filters: [], eventsToDrop: ["to_drop_event"] }, + } as PluginMeta; + + test("Event satisfies all conditions and passes", () => { + const event = createEvent({ + event: "test event", + properties: { + $host: "example.com", + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta_no_filters); + expect(processedEvent).toEqual(event); + }); + + test("Event is marked to be dropped is dropped", () => { + const event = createEvent({ + event: "to_drop_event", + properties: { + $host: "example.com", + foo: 20, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta_no_filters); + expect(processedEvent).toBeUndefined(); + }); + + test("setupPlugin() without any config works", () => { + const global: any = {}; + setupPlugin({ config: {}, global, attachments: { filters: null } } as any); + expect(global.filters).toEqual([]); + expect(global.eventsToDrop).toEqual([]); + expect(global.keepUndefinedProperties).toEqual(false); + }); + + test("setupPlugin() with other config works", () => { + const global: any = {}; + setupPlugin({ + config: { eventsToDrop: "foo,bar", keepUndefinedProperties: "Yes" }, + global, + attachments: { filters: null }, + } as any); + expect(global.filters).toEqual([]); + expect(global.eventsToDrop).toEqual(["foo", "bar"]); + expect(global.keepUndefinedProperties).toEqual(true); + }); +}); + + +const filters_or: Filter[][] = [ + [ + { + property: "$host", + type: "string", + operator: "not_contains", + value: "localhost", + }, + { + property: "foo", + type: "number", + operator: "gt", + value: 10, + }, + ], + [ + { + property: "bar", + type: "boolean", + operator: "is", + value: true, + }, + ], +]; + +const meta_or = { + global: { filters: filters_or, eventsToDrop: ["to_drop_event"] }, +} as PluginMeta; + +test("Event satisfies at least one filter group and passes", () => { + const event = createEvent({ + event: "test event", + properties: { + $host: "example.com", + foo: 5, + bar: true, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta_or); + expect(processedEvent).toEqual(event); +}); + +test("Event satisfies no filter groups and is dropped", () => { + const event = createEvent({ + event: "test event", + properties: { + $host: "localhost:8000", + foo: 5, + bar: false, + }, + }) as unknown as PluginEvent; + const processedEvent = processEvent(event, meta_or); + expect(processedEvent).toBeUndefined(); +}); diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts new file mode 100644 index 0000000000000..acabf89ec19d8 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts @@ -0,0 +1,123 @@ +import { Meta, PluginEvent, PluginAttachment } from "@posthog/plugin-scaffold"; + +export interface Filter { + property: string; + type: "string" | "number" | "boolean"; + operator: string; + value: string | number | boolean; +} + +export type PluginMeta = Meta<{ + config: { + eventsToDrop?: string; + keepUndefinedProperties?: "Yes" | "No"; + }; + global: { + filters: Filter[][] | Filter[]; + eventsToDrop: string[]; + keepUndefinedProperties?: boolean; + }; + attachments: { + filters?: PluginAttachment; + }; +}> + +const operations: Record< + Filter["type"], + Record boolean> +> = { + string: { + is: (a, b) => a === b, + is_not: (a, b) => a !== b, + contains: (a, b) => a.includes(b), + not_contains: (a, b) => !a.includes(b), + regex: (a, b) => new RegExp(b).test(a), + not_regex: (a, b) => !new RegExp(b).test(a), + }, + number: { + gt: (a, b) => a > b, + lt: (a, b) => a < b, + gte: (a, b) => a >= b, + lte: (a, b) => a <= b, + eq: (a, b) => a === b, + neq: (a, b) => a !== b, + }, + boolean: { + is: (a, b) => a === b, + is_not: (a, b) => a !== b, + }, +}; + +export function setupPlugin({ global, config, attachments }: PluginMeta) { + if (attachments.filters) { + try { + const filterGroups = parseFiltersAndMigrate(JSON.parse(attachments.filters.contents)); + if (!filterGroups) throw new Error("No filters found"); + + // Check if the filters are valid + for (const filters of filterGroups) { + for (const filter of filters) { + if (!operations[filter.type][filter.operator]) { + throw new Error( + `Invalid operator "${filter.operator}" for type "${filter.type}" in filter for "${filter.property}"` + ); + } + } + } + // Save the filters to the global object + global.filters = filterGroups; + } catch (err) { + throw new Error("Could not parse filters attachment: " + err.message); + } + } else { + global.filters = []; + } + global.eventsToDrop = + config?.eventsToDrop?.split(",")?.map((event) => event.trim()) || []; + + global.keepUndefinedProperties = config.keepUndefinedProperties === "Yes"; +} + +export function processEvent( + event: PluginEvent, + meta: PluginMeta +): PluginEvent { + if (!event.properties) return event; + const { eventsToDrop, keepUndefinedProperties } = meta.global; + const filters = parseFiltersAndMigrate(meta.global.filters); + + // If the event name matches, we drop the event + if (eventsToDrop.some((e) => event.event === e)) { + return undefined; + } + + // Check if the event satisfies any of the filter groups (OR logic between groups) + const keepEvent = filters.some((filterGroup) => + // Check if all filters in the group are satisfied (AND logic within group) + filterGroup.every((filter) => { + const value = event.properties[filter.property]; + if (value === undefined) return keepUndefinedProperties; + + const operation = operations[filter.type][filter.operator]; + if (!operation) throw new Error(`Invalid operator ${filter.operator}`); + + return operation(value, filter.value); + }) + ); + + // If should keep the event, return it, else return undefined + return keepEvent ? event : undefined; +} + +const parseFiltersAndMigrate = (filters: Filter[][] | Filter[]): Filter[][] => { + if (!Array.isArray(filters)) { + throw new Error("No filters found"); + } + + // Handle legacy format: Convert single filter array to nested array + // to maintain backwards compatibility with older plugin versions that used a single array of filters with "AND" logic + if (filters.length === 0 || !Array.isArray(filters[0])) { + return [filters as Filter[]]; + } + return filters as Filter[][]; +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json new file mode 100644 index 0000000000000..b71867d71a4df --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "module": "commonjs", + "moduleResolution": "node", + "noEmit": false, + "outDir": "dist", + "resolveJsonModule": true, + "sourceMap": true, + "target": "es6", + "baseUrl": ".", + "rootDir": "./src", + "paths": { + "src/*": ["./src/*"] + } + }, + "lib": ["ESNext"], + "include": ["src/**/*.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore new file mode 100644 index 0000000000000..93892ec254efd --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore @@ -0,0 +1,4 @@ +yarn-error.log +package-lock.json +node_modules/ +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc new file mode 100644 index 0000000000000..617e18db92cf3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE new file mode 100644 index 0000000000000..83dc56b738b0f --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md new file mode 100644 index 0000000000000..f7fa0a5d11ef4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md @@ -0,0 +1,19 @@ +# PostHog GCS Export Plugin + +Export events to GCS on ingestion. + +:warning: If you have low volumes of data this can cause us to ship a high number of files to blob storage and for loading into GCS. This can translate into higher than usual billing because of blob storage api calls and the time it takes to list and load small files in GCS. + +## Installation + +1. Visit 'Plugins' in PostHog +2. Find this plugin from the repository +3. Configure the plugin: + 1. Upload your Google Cloud key `.json` file. ([How to get the file](https://cloud.google.com/bigquery/docs/reference/libraries).) + 2. Enter your Project ID + 3. Enter your bucket name +4. Watch events roll into GCS + +## Questions? + +### [Join the PostHog Users Slack community.](https://posthog.com/slack) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts new file mode 100644 index 0000000000000..70d0a6e27989d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts @@ -0,0 +1,161 @@ +import { Plugin, PluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { Storage, Bucket } from '@google-cloud/storage' +import { PassThrough } from 'stream' +import { randomBytes } from 'crypto' + + +type GCSPlugin = Plugin<{ + global: { + bucket: Bucket + eventsToIgnore: Set + } + config: { + bucketName: string + exportEventsToIgnore: string + } + jobs: { + exportEventsWithRetry: string[] + } +}> + +interface GCSCredentials { + project_id?: string + client_email?: string + private_key?: string +} + +interface TableRow { + uuid: string + event: string + properties: string // Record + elements: string // Record + people_set: string // Record + people_set_once: string // Record + distinct_id: string + team_id: number + ip: string + site_url: string + timestamp: string +} + +function transformEventToRow(fullEvent: PluginEvent): TableRow { + const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid, ...rest } = + fullEvent + const ip = properties?.['$ip'] || fullEvent.ip + const timestamp = fullEvent.timestamp || properties?.timestamp || now || sent_at + let ingestedProperties = properties + let elements = [] + + // only move prop to elements for the $autocapture action + if (event === '$autocapture' && properties?.['$elements']) { + const { $elements, ...props } = properties + ingestedProperties = props + elements = $elements + } + + return { + event, + distinct_id, + team_id, + ip, + site_url, + timestamp, + uuid: uuid!, + properties: JSON.stringify(ingestedProperties || {}), + elements: JSON.stringify(elements || []), + people_set: JSON.stringify($set || {}), + people_set_once: JSON.stringify($set_once || {}), + } +} + +export const setupPlugin: GCSPlugin['setupPlugin'] = async ({ attachments, global, config }) => { + if (!attachments.googleCloudKeyJson) { + throw new Error('Credentials JSON file not provided!') + } + if (!config.bucketName) { + throw new Error('Table Name not provided!') + } + + let credentials: GCSCredentials + try { + credentials = JSON.parse(attachments.googleCloudKeyJson.contents.toString()) + } catch { + throw new Error('Credentials JSON file has invalid JSON!') + } + + const storage = new Storage({ + projectId: credentials['project_id'], + credentials, + autoRetry: false, + }) + global.bucket = storage.bucket(config.bucketName) + global.eventsToIgnore = new Set((config.exportEventsToIgnore || '').split(',').map((event) => event.trim())) +} + +export const onEvent: GCSPlugin['onEvent'] = async (event, { global, config }) => { + if (global.eventsToIgnore.has(event.event.trim())) { + return + } + const rows = [transformEventToRow(event)] + + let csvString = + 'uuid,event,properties,elements,people_set,people_set_once,distinct_id,team_id,ip,site_url,timestamp\n' + + for (let i = 0; i < rows.length; ++i) { + const { + uuid, + event, + properties, + elements, + people_set, + people_set_once, + distinct_id, + team_id, + ip, + site_url, + timestamp, + } = rows[i] + + // order is important + csvString += `${uuid},${event},${properties},${elements},${people_set},${people_set_once},${distinct_id},${team_id},${ip},${site_url},${timestamp}` + + if (i !== rows.length - 1) { + csvString += '\n' + } + } + + const date = new Date().toISOString() + const [day, time] = date.split('T') + const dayTime = `${day.split('-').join('')}-${time.split(':').join('')}` + const suffix = randomBytes(8).toString('hex') + + const fileName = `${day}/${dayTime}-${suffix}.csv` + + // some minor hackiness to upload without access to the filesystem + const dataStream = new PassThrough() + const gcFile = global.bucket.file(fileName) + + dataStream.push(csvString) + dataStream.push(null) + try { + await new Promise((resolve, reject) => { + dataStream + .pipe( + gcFile.createWriteStream({ + resumable: false, + validation: false, + }) + ) + .on('error', (error: Error) => { + reject(error) + }) + .on('finish', () => { + resolve(true) + }) + }) + } catch { + console.error(`Failed to upload ${rows.length} event${rows.length > 1 ? 's' : ''} to GCS. Retrying later.`) + throw new RetryError() + } + +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c8803440aacf5f398b4d06273e4ba7677040e38c GIT binary patch literal 15848 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 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json new file mode 100644 index 0000000000000..ecc1fd14e18d1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json @@ -0,0 +1,16 @@ +{ + "name": "posthog-gcs-plugin", + "private": true, + "version": "0.0.3", + "description": "Export PostHog events to GCS on ingestion.", + "devDependencies": { + "@posthog/plugin-scaffold": "^0.11.0", + "@types/node": "^16.0.0" + }, + "dependencies": { + "@google-cloud/storage": "^5.8.5" + }, + "engines": { + "node": ">= 14.0.0" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json new file mode 100644 index 0000000000000..425c4c9166342 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json @@ -0,0 +1,30 @@ +{ + "name": "GCS Export", + "url": "https://github.com/PostHog/posthog-gcs-plugin", + "description": "Sends events to GCS on ingestion.", + "main": "index.ts", + "posthogVersion": ">= 1.25.0", + "config": [ + { + "key": "googleCloudKeyJson", + "name": "JSON file with your google cloud key", + "type": "attachment", + "required": true, + "secret": true + }, + { + "key": "bucketName", + "hint": "Bucket name", + "name": "Table ID", + "type": "string", + "required": true + }, + { + "key": "exportEventsToIgnore", + "name": "Events to ignore", + "type": "string", + "default": "$feature_flag_called", + "hint": "Comma separated list of events to ignore" + } + ] +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json new file mode 100644 index 0000000000000..8c2108edaf372 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ES2019"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock new file mode 100644 index 0000000000000..12414a4326de1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock @@ -0,0 +1,569 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@google-cloud/common@^3.6.0": + "integrity" "sha512-aHIFTqJZmeTNO9md8XxV+ywuvXF3xBm5WNmgWeeCK+XN5X+kGW0WEX94wGwj+/MdOnrVf4dL2RvSIt9J5yJG6Q==" + "resolved" "https://registry.npmjs.org/@google-cloud/common/-/common-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "@google-cloud/projectify" "^2.0.0" + "@google-cloud/promisify" "^2.0.0" + "arrify" "^2.0.1" + "duplexify" "^4.1.1" + "ent" "^2.2.0" + "extend" "^3.0.2" + "google-auth-library" "^7.0.2" + "retry-request" "^4.1.1" + "teeny-request" "^7.0.0" + +"@google-cloud/paginator@^3.0.0": + "integrity" "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==" + "resolved" "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz" + "version" "3.0.5" + dependencies: + "arrify" "^2.0.0" + "extend" "^3.0.2" + +"@google-cloud/projectify@^2.0.0": + "integrity" "sha512-qbpidP/fOvQNz3nyabaVnZqcED1NNzf7qfeOlgtAZd9knTwY+KtsGRkYpiQzcATABy4gnGP2lousM3S0nuWVzA==" + "resolved" "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.0.tgz" + "version" "2.1.0" + +"@google-cloud/promisify@^2.0.0": + "integrity" "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==" + "resolved" "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz" + "version" "2.0.3" + +"@google-cloud/storage@^5.8.5": + "integrity" "sha512-i0gB9CRwQeOBYP7xuvn14M40LhHCwMjceBjxE4CTvsqL519sVY5yVKxLiAedHWGwUZHJNRa7Q2CmNfkdRwVNPg==" + "resolved" "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.8.5.tgz" + "version" "5.8.5" + dependencies: + "@google-cloud/common" "^3.6.0" + "@google-cloud/paginator" "^3.0.0" + "@google-cloud/promisify" "^2.0.0" + "arrify" "^2.0.0" + "async-retry" "^1.3.1" + "compressible" "^2.0.12" + "date-and-time" "^1.0.0" + "duplexify" "^4.0.0" + "extend" "^3.0.2" + "gaxios" "^4.0.0" + "gcs-resumable-upload" "^3.1.4" + "get-stream" "^6.0.0" + "hash-stream-validation" "^0.2.2" + "mime" "^2.2.0" + "mime-types" "^2.0.8" + "onetime" "^5.1.0" + "p-limit" "^3.0.1" + "pumpify" "^2.0.0" + "snakeize" "^0.1.0" + "stream-events" "^1.0.1" + "xdg-basedir" "^4.0.0" + +"@posthog/plugin-scaffold@^0.11.0": + "integrity" "sha512-ZqI9yBe9hSswf6lDf2Ydl/hRk0WFd4ARluu3pOwkkPOwCfnPhkbPR6729inCPvuw2yoKV/IWOOg/yyd70Nh3AQ==" + "resolved" "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.11.0.tgz" + "version" "0.11.0" + +"@tootallnate/once@1": + "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + "version" "1.1.2" + +"@types/node@^16.0.0": + "integrity" "sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-16.0.0.tgz" + "version" "16.0.0" + +"abort-controller@^3.0.0": + "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" + "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "event-target-shim" "^5.0.0" + +"agent-base@6": + "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" + "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "debug" "4" + +"arrify@^2.0.0", "arrify@^2.0.1": + "integrity" "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + "resolved" "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" + "version" "2.0.1" + +"async-retry@^1.3.1": + "integrity" "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==" + "resolved" "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "retry" "0.12.0" + +"base64-js@^1.3.0": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" + +"bignumber.js@^9.0.0": + "integrity" "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz" + "version" "9.0.1" + +"buffer-equal-constant-time@1.0.1": + "integrity" "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "resolved" "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" + "version" "1.0.1" + +"compressible@^2.0.12": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + +"configstore@^5.0.0": + "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" + "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "dot-prop" "^5.2.0" + "graceful-fs" "^4.1.2" + "make-dir" "^3.0.0" + "unique-string" "^2.0.0" + "write-file-atomic" "^3.0.0" + "xdg-basedir" "^4.0.0" + +"crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + +"date-and-time@^1.0.0": + "integrity" "sha512-7u+uNfnjWkX+YFQfivvW24TjaJG6ahvTrfw1auq7KlC7osuGcZBIWGBvB9UcENjH6JnLVhMqlRripk1dSHjAUA==" + "resolved" "https://registry.npmjs.org/date-and-time/-/date-and-time-1.0.1.tgz" + "version" "1.0.1" + +"debug@^4.1.1", "debug@4": + "integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "ms" "2.1.2" + +"dot-prop@^5.2.0": + "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "is-obj" "^2.0.0" + +"duplexify@^4.0.0", "duplexify@^4.1.1": + "integrity" "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "end-of-stream" "^1.4.1" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" + "stream-shift" "^1.0.0" + +"ecdsa-sig-formatter@^1.0.11", "ecdsa-sig-formatter@1.0.11": + "integrity" "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==" + "resolved" "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "safe-buffer" "^5.0.1" + +"end-of-stream@^1.1.0", "end-of-stream@^1.4.1": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"ent@^2.2.0": + "integrity" "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + "resolved" "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz" + "version" "2.2.0" + +"event-target-shim@^5.0.0": + "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" + "version" "5.0.1" + +"extend@^3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"fast-text-encoding@^1.0.0": + "integrity" "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" + "resolved" "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz" + "version" "1.0.3" + +"gaxios@^4.0.0": + "integrity" "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==" + "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "abort-controller" "^3.0.0" + "extend" "^3.0.2" + "https-proxy-agent" "^5.0.0" + "is-stream" "^2.0.0" + "node-fetch" "^2.3.0" + +"gcp-metadata@^4.2.0": + "integrity" "sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==" + "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "gaxios" "^4.0.0" + "json-bigint" "^1.0.0" + +"gcs-resumable-upload@^3.1.4": + "integrity" "sha512-T7YPQVPFibgt6DmJVPGIgY8jHF9ycGJVDRCutwMBp/7Y2++QYEW8drL9XUdzS6ZvEiwTKvgvGMG77yb63XwSXA==" + "resolved" "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "abort-controller" "^3.0.0" + "configstore" "^5.0.0" + "extend" "^3.0.2" + "gaxios" "^4.0.0" + "google-auth-library" "^7.0.0" + "pumpify" "^2.0.0" + "stream-events" "^1.0.4" + +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" + +"google-auth-library@^7.0.0", "google-auth-library@^7.0.2": + "integrity" "sha512-F5mnidUaIXfZZl2FzhZOhboLNR6pIgIPrmP4QAbDKMy+kkb3GOc4r7KndAV9+Kx3VijrQTi4FI/AMLg8VWG6nw==" + "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "arrify" "^2.0.0" + "base64-js" "^1.3.0" + "ecdsa-sig-formatter" "^1.0.11" + "fast-text-encoding" "^1.0.0" + "gaxios" "^4.0.0" + "gcp-metadata" "^4.2.0" + "gtoken" "^5.0.4" + "jws" "^4.0.0" + "lru-cache" "^6.0.0" + +"google-p12-pem@^3.0.3": + "integrity" "sha512-JUtEHXL4DY/N+xhlm7TC3qL797RPAtk0ZGXNs3/gWyiDHYoA/8Rjes0pztkda+sZv4ej1EoO2KhWgW5V9KTrSQ==" + "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "node-forge" "^0.10.0" + +"graceful-fs@^4.1.2": + "integrity" "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" + "version" "4.2.6" + +"gtoken@^5.0.4": + "integrity" "sha512-mCcISYiaRZrJpfqOs0QWa6lfEM/C1V9ASkzFmuz43XBb5s1Vynh+CZy1ECeeJXVGx2PRByjYzb4Y4/zr1byr0w==" + "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "gaxios" "^4.0.0" + "google-p12-pem" "^3.0.3" + "jws" "^4.0.0" + +"hash-stream-validation@^0.2.2": + "integrity" "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==" + "resolved" "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz" + "version" "0.2.4" + +"http-proxy-agent@^4.0.0": + "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" + "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "@tootallnate/once" "1" + "agent-base" "6" + "debug" "4" + +"https-proxy-agent@^5.0.0": + "integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==" + "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "agent-base" "6" + "debug" "4" + +"imurmurhash@^0.1.4": + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"inherits@^2.0.3": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"is-obj@^2.0.0": + "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + "version" "2.0.0" + +"is-stream@^2.0.0": + "integrity" "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" + "version" "2.0.0" + +"is-typedarray@^1.0.0": + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"json-bigint@^1.0.0": + "integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==" + "resolved" "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "bignumber.js" "^9.0.0" + +"jwa@^2.0.0": + "integrity" "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==" + "resolved" "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "buffer-equal-constant-time" "1.0.1" + "ecdsa-sig-formatter" "1.0.11" + "safe-buffer" "^5.0.1" + +"jws@^4.0.0": + "integrity" "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==" + "resolved" "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "jwa" "^2.0.0" + "safe-buffer" "^5.0.1" + +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + +"make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + +"mime-db@>= 1.43.0 < 2", "mime-db@1.48.0": + "integrity" "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz" + "version" "1.48.0" + +"mime-types@^2.0.8": + "integrity" "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz" + "version" "2.1.31" + dependencies: + "mime-db" "1.48.0" + +"mime@^2.2.0": + "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" + "version" "2.5.2" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"node-fetch@^2.3.0", "node-fetch@^2.6.1": + "integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" + "version" "2.6.1" + +"node-forge@^0.10.0": + "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + "version" "0.10.0" + +"once@^1.3.1", "once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"onetime@^5.1.0": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"p-limit@^3.0.1": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "yocto-queue" "^0.1.0" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pumpify@^2.0.0": + "integrity" "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==" + "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "duplexify" "^4.1.1" + "inherits" "^2.0.3" + "pump" "^3.0.0" + +"readable-stream@^3.1.1": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"retry-request@^4.1.1": + "integrity" "sha512-afiCoZZ7D/AR2mf+9ajr75dwGFgWmPEshv3h+oKtf9P1AsHfHvcVXumdbAEq2qNy4UXFEXsEX5HpyGj4axvoaA==" + "resolved" "https://registry.npmjs.org/retry-request/-/retry-request-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "debug" "^4.1.1" + +"retry@0.12.0": + "integrity" "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + "version" "0.12.0" + +"safe-buffer@^5.0.1", "safe-buffer@~5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"semver@^6.0.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"signal-exit@^3.0.2": + "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + "version" "3.0.3" + +"snakeize@^0.1.0": + "integrity" "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=" + "resolved" "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz" + "version" "0.1.0" + +"stream-events@^1.0.1", "stream-events@^1.0.4", "stream-events@^1.0.5": + "integrity" "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==" + "resolved" "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "stubs" "^3.0.0" + +"stream-shift@^1.0.0": + "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + "version" "1.0.1" + +"string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + +"stubs@^3.0.0": + "integrity" "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" + "resolved" "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz" + "version" "3.0.0" + +"teeny-request@^7.0.0": + "integrity" "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==" + "resolved" "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz" + "version" "7.1.1" + dependencies: + "http-proxy-agent" "^4.0.0" + "https-proxy-agent" "^5.0.0" + "node-fetch" "^2.6.1" + "stream-events" "^1.0.5" + "uuid" "^8.0.0" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "crypto-random-string" "^2.0.0" + +"util-deprecate@^1.0.1": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"uuid@^8.0.0": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" + +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + +"xdg-basedir@^4.0.0": + "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + "version" "4.0.0" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yocto-queue@^0.1.0": + "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + "version" "0.1.0" diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore new file mode 100644 index 0000000000000..e82eb841636eb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore @@ -0,0 +1,19 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +node_modules/ +.npm + +# Editors +.vscode +.idea + +# Yalc +.yalc +yalc* + +# macOS +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE new file mode 100644 index 0000000000000..7a2be083fb6f9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Patterns + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md new file mode 100644 index 0000000000000..84343a0a1cc55 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md @@ -0,0 +1,22 @@ +# PostHog Patterns App + +Send PostHog event data to a webhook endpoint in a [patterns.app](https://patterns.app/) graph. + +## Installation + +- Sign up for a free Patterns account [here](https://www.patterns.app/beta) +- Create a graph in Patterns and add a webhook node in it. ![Patterns Graph Webhook](patterns_graph_webhook.png) +- Copy the webhook URL from the sidebar. +- Install Patterns app from PostHog. Paste the URL in "Patterns Webhook URL" during app configuration. +- [Optional] Set a comma-separated list of allowed event types for sending to Patterns. Example: `$pageview, $pageview`. If empty, all events are sent to Patterns. + +## Function + +- Ingest data from PostHog to Patterns +- Sync with other destinations or databases +- Generate models to measure customer health and churn risk +- Integrate with other data in Patterns and create a customer data platform + +## We'd love to connect + +- [Create a Patterns Account](https://www.patterns.app/beta) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js new file mode 100644 index 0000000000000..f81ee74aebd2c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js @@ -0,0 +1,12 @@ +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + ], +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts new file mode 100644 index 0000000000000..305836a9557cf --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts @@ -0,0 +1,65 @@ +import { + createEvent, +} from "@posthog/plugin-scaffold/test/utils"; +import fetchMock from "jest-fetch-mock"; + +fetchMock.enableMocks(); + +import { PatternsPluginInput, onEvent, setupPlugin } from "./index"; +import { Meta } from "@posthog/plugin-scaffold"; + +const testWebhookUrl = + "https://api-staging.patterns.app/api/app/webhooks/wh1234"; + +beforeEach(() => { + fetchMock.resetMocks(); +}); + +test("onEvent called for event", async () => { + let meta = { + config: { + webhookUrl: testWebhookUrl, + }, + global: {}, + } as Meta + setupPlugin(meta); + const event1 = createEvent({ event: "$pageView" }); + + // @ts-ignore + await onEvent(event1, meta); + + expect(fetchMock.mock.calls.length).toEqual(1); + expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify([event1]), + }); +}); + +test("onEvent called for allowed event", async () => { + let meta = { + config: { + webhookUrl: testWebhookUrl, + allowedEventTypes: "$pageView, $autoCapture, $customEvent1", + }, + global: {}, + } as Meta + setupPlugin(meta); + + const event = createEvent({ event: "$pageView" }); + // @ts-ignore + await onEvent(event, meta); + expect(fetchMock.mock.calls.length).toEqual(1); + expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify([event]), + }); + + const event2 = createEvent({ event: "$pageLeave" }); + // @ts-ignore + await onEvent(event2, meta); + expect(fetchMock.mock.calls.length).toEqual(1); +}); diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts new file mode 100644 index 0000000000000..047ec2131a3b3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts @@ -0,0 +1,50 @@ +import { + PluginInput, + Plugin, + Meta, + RetryError, +} from "@posthog/plugin-scaffold"; +import fetch, { Response } from "node-fetch"; + +type PatternsInputs = { + webhookUrl: string; + allowedEventTypes: string; +}; + +export interface PatternsPluginInput extends PluginInput { + config: PatternsInputs; +} + +// Plugin method that runs on plugin load +//@ts-ignore +export async function setupPlugin({ config, global }: Meta) { + if (config.allowedEventTypes) { + let allowedEventTypes = config.allowedEventTypes.split(","); + allowedEventTypes = allowedEventTypes.map((eventType: string) => eventType.trim()); + global.allowedEventTypesSet = new Set(allowedEventTypes); + } +} + +// Plugin method to export events +export const onEvent: Plugin["onEvent"] = async ( + event, + { config, global }: Meta +) => { + if (global.allowedEventTypesSet) { + if (!global.allowedEventTypesSet.has(event.event)) { + return + } + } + + let response: Response; + response = await fetch(config.webhookUrl, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify([event]), + }); + + if (response.status != 200) { + const data = await response.json(); + throw new RetryError(`Export events failed: ${JSON.stringify(data)}`); + } +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js new file mode 100644 index 0000000000000..bfb42743723ea --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + preset: 'ts-jest', + moduleDirectories: ['node_modules'], + transform: { + '^.+\\.(ts|tsx)?$': 'ts-jest', + '^.+\\.(js|jsx)$': 'babel-jest', + }, + transformIgnorePatterns: [], +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2654ed464e11967f5e40b78783b18e59fec008e8 GIT binary patch literal 3525 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 E0Dhgt2LJ#7 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json new file mode 100644 index 0000000000000..7b80eed4dbb56 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json @@ -0,0 +1,13464 @@ +{ + "name": "posthog-patterns-app", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "posthog-patterns-app", + "dependencies": { + "node-fetch": "^3.2.6" + }, + "devDependencies": { + "@babel/preset-env": "^7.18.10", + "@posthog/plugin-scaffold": "^1.2.0", + "@types/jest": "^28.1.6", + "@types/node": "^18.0.3", + "jest": "^27.5.1", + "jest-fetch-mock": "^3.0.3", + "ts-jest": "^28.0.7", + "typescript": "^4.7.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", + "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.10", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", + "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", + "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", + "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", + "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", + "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", + "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", + "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.18.9", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", + "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", + "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", + "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@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-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@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-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "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, + "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, + "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, + "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, + "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-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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", + "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.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.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", + "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "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-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", + "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", + "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "dev": true, + "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-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", + "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "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-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", + "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.18.6", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.10", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", + "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", + "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "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 + }, + "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, + "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/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/core/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/core/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/reporters/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/reporters/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/test-sequencer/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@maxmind/geoip2-node": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", + "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", + "dev": true, + "dependencies": { + "camelcase-keys": "^7.0.0", + "ip6addr": "^0.2.5", + "lodash.set": "^4.3.2", + "maxmind": "^4.2.0" + } + }, + "node_modules/@posthog/plugin-scaffold": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", + "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", + "dev": true, + "dependencies": { + "@maxmind/geoip2-node": "^3.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.26", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", + "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "28.1.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", + "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", + "dev": true, + "dependencies": { + "jest-matcher-utils": "^28.0.0", + "pretty-format": "^28.0.0" + } + }, + "node_modules/@types/jest/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/@types/jest/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/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==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", + "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", + "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", + "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": 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 + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.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==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "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, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.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, + "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-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", + "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.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, + "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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "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, + "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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "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 + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001373", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", + "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", + "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/core-js-compat": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.3", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/cross-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==", + "dev": true + }, + "node_modules/cross-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==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "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, + "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 + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "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 + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", + "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "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==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.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 + }, + "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 + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "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==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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, + "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==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "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, + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "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 + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "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, + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ip6addr": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", + "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2" + } + }, + "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==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.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 + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "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/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "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.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-config/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-config/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-config/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-resolve/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-resolve/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runner/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-runner/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runner/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runtime/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-runtime/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runtime/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-snapshot/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-snapshot/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dev": true + }, + "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, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "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, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.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, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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 + }, + "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 + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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 + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/maxmind": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", + "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", + "dev": true, + "dependencies": { + "mmdb-lib": "2.0.2", + "tiny-lru": "8.0.2" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "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==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mmdb-lib": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", + "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", + "dev": true, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "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==", + "dev": true + }, + "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 + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", + "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "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 + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "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, + "engines": { + "node": ">=0.10.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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", + "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/promise-polyfill": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", + "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", + "dev": true + }, + "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, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "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 + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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 + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "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/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.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-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, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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 + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "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, + "engines": { + "node": ">=8" + } + }, + "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, + "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==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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 + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/tiny-lru": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", + "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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 + }, + "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, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "28.0.7", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", + "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^28.0.0", + "babel-jest": "^28.0.0", + "jest": "^28.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "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, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "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, + "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, + "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.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "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 + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "dev": true + }, + "@babel/core": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", + "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.10", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", + "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", + "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", + "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", + "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", + "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "dev": true, + "requires": { + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", + "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", + "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.18.9", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/helpers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", + "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "dev": true, + "requires": { + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", + "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", + "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", + "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", + "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", + "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", + "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", + "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", + "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.18.6", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.10", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", + "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", + "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@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, + "requires": { + "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" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@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 + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, + "requires": { + "@jest/schemas": "^28.1.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" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@maxmind/geoip2-node": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", + "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", + "dev": true, + "requires": { + "camelcase-keys": "^7.0.0", + "ip6addr": "^0.2.5", + "lodash.set": "^4.3.2", + "maxmind": "^4.2.0" + } + }, + "@posthog/plugin-scaffold": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", + "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", + "dev": true, + "requires": { + "@maxmind/geoip2-node": "^3.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.24.26", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", + "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "28.1.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", + "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", + "dev": true, + "requires": { + "jest-matcher-utils": "^28.0.0", + "pretty-format": "^28.0.0" + }, + "dependencies": { + "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 + }, + "diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true + }, + "jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true + }, + "jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@types/node": { + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", + "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", + "dev": true + }, + "@types/prettier": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", + "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", + "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "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, + "requires": { + "@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-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", + "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2" + } + }, + "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, + "requires": { + "@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" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + } + }, + "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, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "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 + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001373", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", + "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "ci-info": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", + "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js-compat": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "dev": true, + "requires": { + "browserslist": "^4.21.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "requires": { + "node-fetch": "2.6.7" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "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==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "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 + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "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 + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "electron-to-chromium": { + "version": "1.4.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", + "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", + "dev": true + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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==", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "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 + }, + "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 + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, + "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==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "requires": { + "fetch-blob": "^3.1.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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 + }, + "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==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "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 + }, + "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==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "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 + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ip6addr": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", + "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "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==", + "dev": true + }, + "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 + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "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 + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@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-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "requires": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + } + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "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 + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "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 + }, + "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 + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "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 + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "maxmind": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", + "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", + "dev": true, + "requires": { + "mmdb-lib": "2.0.2", + "tiny-lru": "8.0.2" + } + }, + "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==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mmdb-lib": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", + "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + }, + "node-fetch": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", + "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } + }, + "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 + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nwsapi": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", + "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "@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" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "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==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "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, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "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 + } + } + }, + "promise-polyfill": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", + "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", + "dev": true + }, + "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, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "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 + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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 + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "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==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "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 + } + } + }, + "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, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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==", + "dev": true + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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==", + "dev": true + }, + "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 + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "tiny-lru": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", + "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", + "dev": true + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "ts-jest": { + "version": "28.0.7", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", + "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "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 + }, + "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 + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "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==", + "dev": true + } + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json new file mode 100644 index 0000000000000..74935ebabddeb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json @@ -0,0 +1,21 @@ +{ + "name": "posthog-patterns-app", + "private": false, + "description": "Export PostHog events to Patterns.", + "devDependencies": { + "@babel/preset-env": "^7.18.10", + "@posthog/plugin-scaffold": "^1.2.0", + "@types/jest": "^28.1.6", + "@types/node": "^18.0.3", + "jest": "^27.5.1", + "jest-fetch-mock": "^3.0.3", + "ts-jest": "^28.0.7", + "typescript": "^4.7.4" + }, + "dependencies": { + "node-fetch": "^3.2.6" + }, + "scripts": { + "test": "jest ." + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/patterns_graph_webhook.png b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/patterns_graph_webhook.png new file mode 100644 index 0000000000000000000000000000000000000000..a5a61525c9c8c268f9052bd058f598ffec75e6c1 GIT binary patch literal 63342 zcmcG#WmKHW)&`1(AOQlwHMj&1?hqUrcMER8-7SFxcXw|H?(XjH+PFJG8g6Ii%sF%J znQz@+w|lYP>bGi_?2^6r^AtZ601|JI@R6XPpx#JHeo}&hf&)Q8L1(>w1$nc7oZA2e zg<@?XDykqQDoU#0U~6je#RLjU@<+Tnf`;-Sc7}FLRMZ5_Ye~dbawS+v#BBH|Jvf5* zh!k%R!eg1}&h!QirAGOcJr3QC-Ho>Tj-}np zH?lR}L1o?h(?@S-Ye8*?BIhA)c80N79H2}o`$54dAlP(74aZ7p*xOG+4Q+tWE>B<8 z1UbxVcHWHNztHh``G+Auv7&CtwuL34*|S0YdX@1>3kpgxyFN{cRB?kF{Ycut54~J% z;|t|len+yjms1B7t^b<~6R4RYowAPvP~n~m<22hQqQv3j=*=PbWGqlA0Ca@&uQ~!f zAq(l3SJbq2+&wN6dN3?u2+VBlppj<+-(7UU#8m#T@$PTFYkilb8Uz6z1!b<drfCt0e`WkdLof@i zl0K6F1HO`_$6%`^$vj?wP3B#nKkg~EQ*n`BELRQgp)H(7iXMzWe_z@4!9pWosEtCOBZ;X_jApB+=)4ogKy)_}xHY z`wnbLkLa3G2WHV*a5pawDsdPm8fx!T`#hRuyM=}VX6e)b0zd0V1co2kJ?MsTEMex6 z1e?$eB*bsZh3y(PWmn9YBW-WL7JhZrWo;xC`wRPHFV_6%70l1 zAkT+;7knIrH{T!b$94)0t~eLkU&ORrEN;M3HF)X(*Q2y~;?wa~(c@8~kt0N(_~-yP zvo^VVa*A&5ZWQ}cxK(U#Cq^Ql7uQuY(asbFwG2ZmL>DxV;arG$LuR30&3&CUDqUcK zCtlK(f8{ctRsYrB&Eb9IKFM) zuiSycjPou~se9(P!{L+NR$WI2W zx8F~FYY`U6#+4RxR>YinMdZ(_h>ib^DjPKU#feqxE2B_i&W<@{6GEw&d=}2+kvYNx z#z`+!LBxU4ZW3Ex&w|E>ga{J@r7zfO0r3X$8gJ%aXI`oPggxpL*!q+f!DeUH5J-M* zoE9wKXSOMGe)Eg51zYf&elN)u|1Wiz@XxY#6u&UIzOsD%()CV+B|EGl&@RaiKO-N| z#Y+}lBws`6(OsP+KJp$w&G_Di;*^{NbNNT)k5&qd!KiJ?OX}X3hCCQ077HQ^G~f@X zZ!=O4Sp{XL1-k{<1qo$TYN>^41$Ejd4NF+HW|rQ@3{~uliG(t{v4zoz(e<$egNXy_ z+X5jRy$M_LQaRfSyGlc}>~Yg^o^kbuhlkjQ0*4oeWH;Q0JBN?6<3K@`7s=Ud9)-mj zdlhbHT4(CoWRKK`1o7O(i2(D18ki*|EvyrY6X=t`SGwI|fw`UYNu`R}iY4}9pm-|H zX|33NZsBUlYT2u(UCL1#hN^^cZ0*nzc9{~965*o)wQ>$!&pel(E^W6MC#y?)wV6jz zPG6ivoPY5kJJlVe&A7|N62-{r4>&N0}wc)%@dt+rg63y|LWXy4O28i0KtI{`j*4A z!#(9><+|i3sE%X-DNd<}sjrfElgc>wZI(>LIgyz$lS?_QSUo!@j4E*5!yNi(#UmRl z-M==jc$K)Px@UeX6|3sy3-!jnW1vlt9sV#po4}C3uV$*2TWYGIs=ZoCrOj6QZO*E6 zT¨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�hd)S(skGRUp(l7=l})YxLJmQvR&gDd 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 z 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 TTaTanzz23s^J= 1.25.0", + "config": [ + { + "key": "webhookUrl", + "name": "Patterns Webhook URL", + "type": "string", + "required": true + }, + { + "key": "allowedEventTypes", + "name": "Event types to send to Patterns (comma-separated)", + "description": "Comma-separated like '$pageView, $pageLeave, $myEvent1'", + "type": "string", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json new file mode 100644 index 0000000000000..efe8445d2bb87 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts new file mode 100644 index 0000000000000..e84f7acdf8e06 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts @@ -0,0 +1 @@ +declare module '@posthog/plugin-scaffold/test/utils'; \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/yarn.lock new file mode 100644 index 0000000000000..63ef556f77e75 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/yarn.lock @@ -0,0 +1,3702 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + "integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==" + "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": + "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": + "integrity" "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==" + "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz" + "version" "7.18.8" + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": + "integrity" "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.10" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.10" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.18.10" + "@babel/types" "^7.18.10" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.2" + "json5" "^2.2.1" + "semver" "^6.3.0" + +"@babel/generator@^7.18.10", "@babel/generator@^7.7.2": + "integrity" "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/types" "^7.18.10" + "@jridgewell/gen-mapping" "^0.3.2" + "jsesc" "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" + "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + "integrity" "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==" + "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": + "integrity" "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==" + "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-validator-option" "^7.18.6" + "browserslist" "^4.20.2" + "semver" "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6": + "integrity" "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6": + "integrity" "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "regexpu-core" "^5.1.0" + +"@babel/helper-define-polyfill-provider@^0.3.2": + "integrity" "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==" + "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + "debug" "^4.1.1" + "lodash.debounce" "^4.0.8" + "resolve" "^1.14.2" + "semver" "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9": + "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + "version" "7.18.9" + +"@babel/helper-explode-assignable-expression@^7.18.6": + "integrity" "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==" + "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.9": + "integrity" "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-hoist-variables@^7.18.6": + "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.18.9": + "integrity" "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==" + "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/types" "^7.18.9" + +"@babel/helper-module-imports@^7.18.6": + "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": + "integrity" "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-optimise-call-expression@^7.18.6": + "integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==" + "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@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.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + "integrity" "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz" + "version" "7.18.9" + +"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": + "integrity" "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==" + "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": + "integrity" "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-simple-access@^7.18.6": + "integrity" "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": + "integrity" "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==" + "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/types" "^7.18.9" + +"@babel/helper-split-export-declaration@^7.18.6": + "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.18.10": + "integrity" "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" + "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" + "version" "7.18.10" + +"@babel/helper-validator-identifier@^7.18.6": + "integrity" "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" + "version" "7.18.6" + +"@babel/helper-validator-option@^7.18.6": + "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + "version" "7.18.6" + +"@babel/helper-wrap-function@^7.18.9": + "integrity" "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/helper-function-name" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/helpers@^7.18.9": + "integrity" "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/highlight@^7.18.6": + "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10": + "integrity" "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz" + "version" "7.18.10" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + "integrity" "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==" + "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.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + "integrity" "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + +"@babel/plugin-proposal-async-generator-functions@^7.18.10": + "integrity" "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.18.6": + "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + "integrity" "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + "integrity" "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + "integrity" "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + "integrity" "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + "integrity" "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.18.9": + "integrity" "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.18.8" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9": + "integrity" "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + "integrity" "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "version" "7.14.5" + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.18.6": + "integrity" "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-import-meta@^7.8.3": + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "version" "7.14.5" + 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": + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + "integrity" "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.18.6": + "integrity" "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + "integrity" "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + "integrity" "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-block-scoping@^7.18.9": + "integrity" "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-classes@^7.18.9": + "integrity" "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + "globals" "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9": + "integrity" "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-destructuring@^7.18.9": + "integrity" "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + "integrity" "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + "integrity" "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + "integrity" "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-for-of@^7.18.8": + "integrity" "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" + "version" "7.18.8" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-function-name@^7.18.9": + "integrity" "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-literals@^7.18.9": + "integrity" "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-member-expression-literals@^7.18.6": + "integrity" "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-modules-amd@^7.18.6": + "integrity" "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "babel-plugin-dynamic-import-node" "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.18.6": + "integrity" "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "babel-plugin-dynamic-import-node" "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.18.9": + "integrity" "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-identifier" "^7.18.6" + "babel-plugin-dynamic-import-node" "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.18.6": + "integrity" "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": + "integrity" "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-new-target@^7.18.6": + "integrity" "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-object-super@^7.18.6": + "integrity" "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + +"@babel/plugin-transform-parameters@^7.18.8": + "integrity" "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz" + "version" "7.18.8" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-property-literals@^7.18.6": + "integrity" "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-regenerator@^7.18.6": + "integrity" "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "regenerator-transform" "^0.15.0" + +"@babel/plugin-transform-reserved-words@^7.18.6": + "integrity" "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-shorthand-properties@^7.18.6": + "integrity" "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-spread@^7.18.9": + "integrity" "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + "integrity" "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-template-literals@^7.18.9": + "integrity" "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + "integrity" "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + "integrity" "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + "integrity" "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" + "version" "7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/preset-env@^7.18.10": + "integrity" "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==" + "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.18.10" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.18.6" + "@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-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.9" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.18.9" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.18.10" + "babel-plugin-polyfill-corejs2" "^0.3.2" + "babel-plugin-polyfill-corejs3" "^0.5.3" + "babel-plugin-polyfill-regenerator" "^0.4.0" + "core-js-compat" "^3.22.1" + "semver" "^6.3.0" + +"@babel/preset-modules@^0.1.5": + "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" + "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + "version" "0.1.5" + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + "esutils" "^2.0.2" + +"@babel/runtime@^7.8.4": + "integrity" "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz" + "version" "7.18.9" + dependencies: + "regenerator-runtime" "^0.13.4" + +"@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3": + "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": + "integrity" "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.10" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + "debug" "^4.1.0" + "globals" "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + "integrity" "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz" + "version" "7.18.10" + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.18.6" + "to-fast-properties" "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + "version" "0.2.3" + +"@istanbuljs/load-nyc-config@^1.0.0": + "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" + "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "camelcase" "^5.3.1" + "find-up" "^4.1.0" + "get-package-type" "^0.1.0" + "js-yaml" "^3.13.1" + "resolve-from" "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + "version" "0.1.3" + +"@jest/console@^27.5.1": + "integrity" "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + "chalk" "^4.0.0" + "jest-message-util" "^27.5.1" + "jest-util" "^27.5.1" + "slash" "^3.0.0" + +"@jest/core@^27.5.1": + "integrity" "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==" + "resolved" "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "emittery" "^0.8.1" + "exit" "^0.1.2" + "graceful-fs" "^4.2.9" + "jest-changed-files" "^27.5.1" + "jest-config" "^27.5.1" + "jest-haste-map" "^27.5.1" + "jest-message-util" "^27.5.1" + "jest-regex-util" "^27.5.1" + "jest-resolve" "^27.5.1" + "jest-resolve-dependencies" "^27.5.1" + "jest-runner" "^27.5.1" + "jest-runtime" "^27.5.1" + "jest-snapshot" "^27.5.1" + "jest-util" "^27.5.1" + "jest-validate" "^27.5.1" + "jest-watcher" "^27.5.1" + "micromatch" "^4.0.4" + "rimraf" "^3.0.0" + "slash" "^3.0.0" + "strip-ansi" "^6.0.0" + +"@jest/environment@^27.5.1": + "integrity" "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "jest-mock" "^27.5.1" + +"@jest/fake-timers@^27.5.1": + "integrity" "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + "jest-message-util" "^27.5.1" + "jest-mock" "^27.5.1" + "jest-util" "^27.5.1" + +"@jest/globals@^27.5.1": + "integrity" "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==" + "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + "expect" "^27.5.1" + +"@jest/reporters@^27.5.1": + "integrity" "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==" + "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "chalk" "^4.0.0" + "collect-v8-coverage" "^1.0.0" + "exit" "^0.1.2" + "glob" "^7.1.2" + "graceful-fs" "^4.2.9" + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-instrument" "^5.1.0" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^4.0.0" + "istanbul-reports" "^3.1.3" + "jest-haste-map" "^27.5.1" + "jest-resolve" "^27.5.1" + "jest-util" "^27.5.1" + "jest-worker" "^27.5.1" + "slash" "^3.0.0" + "source-map" "^0.6.0" + "string-length" "^4.0.1" + "terminal-link" "^2.0.0" + "v8-to-istanbul" "^8.1.0" + +"@jest/schemas@^28.1.3": + "integrity" "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==" + "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" + "version" "28.1.3" + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/source-map@^27.5.1": + "integrity" "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==" + "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "callsites" "^3.0.0" + "graceful-fs" "^4.2.9" + "source-map" "^0.6.0" + +"@jest/test-result@^27.5.1": + "integrity" "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/console" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/istanbul-lib-coverage" "^2.0.0" + "collect-v8-coverage" "^1.0.0" + +"@jest/test-sequencer@^27.5.1": + "integrity" "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==" + "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/test-result" "^27.5.1" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^27.5.1" + "jest-runtime" "^27.5.1" + +"@jest/transform@^27.5.1": + "integrity" "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + "babel-plugin-istanbul" "^6.1.1" + "chalk" "^4.0.0" + "convert-source-map" "^1.4.0" + "fast-json-stable-stringify" "^2.0.0" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^27.5.1" + "jest-regex-util" "^27.5.1" + "jest-util" "^27.5.1" + "micromatch" "^4.0.4" + "pirates" "^4.0.4" + "slash" "^3.0.0" + "source-map" "^0.6.1" + "write-file-atomic" "^3.0.0" + +"@jest/types@^27.5.1": + "integrity" "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + "chalk" "^4.0.0" + +"@jest/types@^28.0.0", "@jest/types@^28.1.3": + "integrity" "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" + "version" "28.1.3" + dependencies: + "@jest/schemas" "^28.1.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" + +"@jridgewell/gen-mapping@^0.1.0": + "integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + "version" "0.3.2" + 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": + "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + "version" "3.1.0" + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + "version" "1.1.2" + +"@jridgewell/sourcemap-codec@^1.4.10": + "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + "version" "1.4.14" + +"@jridgewell/trace-mapping@^0.3.9": + "integrity" "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz" + "version" "0.3.14" + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@maxmind/geoip2-node@^3.0.0": + "integrity" "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==" + "resolved" "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz" + "version" "3.4.0" + dependencies: + "camelcase-keys" "^7.0.0" + "ip6addr" "^0.2.5" + "lodash.set" "^4.3.2" + "maxmind" "^4.2.0" + +"@posthog/plugin-scaffold@^1.2.0": + "integrity" "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==" + "resolved" "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "@maxmind/geoip2-node" "^3.0.0" + +"@sinclair/typebox@^0.24.1": + "integrity" "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==" + "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz" + "version" "0.24.26" + +"@sinonjs/commons@^1.7.0": + "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + "version" "1.8.3" + dependencies: + "type-detect" "4.0.8" + +"@sinonjs/fake-timers@^8.0.1": + "integrity" "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tootallnate/once@1": + "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + "version" "1.1.2" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + "integrity" "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==" + "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" + "version" "7.1.19" + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" + "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + "version" "7.6.4" + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" + "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + "version" "7.4.1" + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + "integrity" "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==" + "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz" + "version" "7.17.1" + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" + "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + "version" "4.1.5" + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + "version" "2.0.4" + +"@types/istanbul-lib-report@*": + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^28.1.6": + "integrity" "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==" + "resolved" "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz" + "version" "28.1.6" + dependencies: + "jest-matcher-utils" "^28.0.0" + "pretty-format" "^28.0.0" + +"@types/node@*", "@types/node@^18.0.3": + "integrity" "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz" + "version" "18.6.3" + +"@types/prettier@^2.1.5": + "integrity" "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==" + "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz" + "version" "2.6.4" + +"@types/stack-utils@^2.0.0": + "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + "version" "2.0.1" + +"@types/yargs-parser@*": + "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + "version" "21.0.0" + +"@types/yargs@^16.0.0": + "integrity" "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" + "version" "16.0.4" + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + "integrity" "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz" + "version" "17.0.10" + dependencies: + "@types/yargs-parser" "*" + +"abab@^2.0.3", "abab@^2.0.5": + "integrity" "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" + "version" "2.0.6" + +"acorn-globals@^6.0.0": + "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" + "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "acorn" "^7.1.1" + "acorn-walk" "^7.1.1" + +"acorn-walk@^7.1.1": + "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + "version" "7.2.0" + +"acorn@^7.1.1": + "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + "version" "7.4.1" + +"acorn@^8.2.4": + "integrity" "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" + "version" "8.8.0" + +"agent-base@6": + "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" + "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "debug" "4" + +"ansi-escapes@^4.2.1": + "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "type-fest" "^0.21.3" + +"ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"ansi-styles@^5.0.0": + "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + "version" "5.2.0" + +"anymatch@^3.0.3": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" + +"asynckit@^0.4.0": + "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"babel-jest@^27.5.1": + "integrity" "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==" + "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + "babel-plugin-istanbul" "^6.1.1" + "babel-preset-jest" "^27.5.1" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "slash" "^3.0.0" + +"babel-plugin-dynamic-import-node@^2.3.3": + "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "object.assign" "^4.1.0" + +"babel-plugin-istanbul@^6.1.1": + "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + "version" "6.1.1" + 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@^27.5.1": + "integrity" "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +"babel-plugin-polyfill-corejs2@^0.3.2": + "integrity" "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.2" + "semver" "^6.1.1" + +"babel-plugin-polyfill-corejs3@^0.5.3": + "integrity" "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.2" + "core-js-compat" "^3.21.0" + +"babel-plugin-polyfill-regenerator@^0.4.0": + "integrity" "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.2" + +"babel-preset-current-node-syntax@^1.0.0": + "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" + "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + "version" "1.0.1" + 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@^27.5.1": + "integrity" "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==" + "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "babel-plugin-jest-hoist" "^27.5.1" + "babel-preset-current-node-syntax" "^1.0.0" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"braces@^3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"browser-process-hrtime@^1.0.0": + "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" + "version" "1.0.0" + +"browserslist@^4.20.2", "browserslist@^4.21.3", "browserslist@>= 4.21.0": + "integrity" "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz" + "version" "4.21.3" + dependencies: + "caniuse-lite" "^1.0.30001370" + "electron-to-chromium" "^1.4.202" + "node-releases" "^2.0.6" + "update-browserslist-db" "^1.0.5" + +"bs-logger@0.x": + "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" + "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + "version" "0.2.6" + dependencies: + "fast-json-stable-stringify" "2.x" + +"bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + +"buffer-from@^1.0.0": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"call-bind@^1.0.0": + "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" + "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "function-bind" "^1.1.1" + "get-intrinsic" "^1.0.2" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camelcase-keys@^7.0.0": + "integrity" "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz" + "version" "7.0.2" + dependencies: + "camelcase" "^6.3.0" + "map-obj" "^4.1.0" + "quick-lru" "^5.1.1" + "type-fest" "^1.2.1" + +"camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^6.2.0", "camelcase@^6.3.0": + "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + "version" "6.3.0" + +"caniuse-lite@^1.0.30001370": + "integrity" "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz" + "version" "1.0.30001373" + +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^4.0.0": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"char-regex@^1.0.2": + "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + "version" "1.0.2" + +"ci-info@^3.2.0": + "integrity" "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz" + "version" "3.3.2" + +"cjs-module-lexer@^1.0.0": + "integrity" "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + "resolved" "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" + "version" "1.2.2" + +"cliui@^7.0.2": + "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + "version" "7.0.4" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^7.0.0" + +"co@^4.6.0": + "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + +"collect-v8-coverage@^1.0.0": + "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + "version" "1.0.1" + +"color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"combined-stream@^1.0.8": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"concat-map@0.0.1": + "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": + "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "safe-buffer" "~5.1.1" + +"core-js-compat@^3.21.0", "core-js-compat@^3.22.1": + "integrity" "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==" + "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz" + "version" "3.24.1" + dependencies: + "browserslist" "^4.21.3" + "semver" "7.0.0" + +"core-util-is@1.0.2": + "integrity" "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + +"cross-fetch@^3.0.4": + "integrity" "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==" + "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "node-fetch" "2.6.7" + +"cross-spawn@^7.0.3": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"cssom@^0.4.4": + "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" + "version" "0.4.4" + +"cssom@~0.3.6": + "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + "version" "0.3.8" + +"cssstyle@^2.3.0": + "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" + "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "cssom" "~0.3.6" + +"data-uri-to-buffer@^4.0.0": + "integrity" "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" + "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz" + "version" "4.0.0" + +"data-urls@^2.0.0": + "integrity" "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==" + "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "abab" "^2.0.3" + "whatwg-mimetype" "^2.3.0" + "whatwg-url" "^8.0.0" + +"debug@^4.1.0", "debug@^4.1.1", "debug@4": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"decimal.js@^10.2.1": + "integrity" "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz" + "version" "10.3.1" + +"dedent@^0.7.0": + "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + "version" "0.7.0" + +"deep-is@~0.1.3": + "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + "version" "0.1.4" + +"deepmerge@^4.2.2": + "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + "version" "4.2.2" + +"define-properties@^1.1.3": + "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "has-property-descriptors" "^1.0.0" + "object-keys" "^1.1.1" + +"delayed-stream@~1.0.0": + "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"detect-newline@^3.0.0": + "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + "version" "3.1.0" + +"diff-sequences@^27.5.1": + "integrity" "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" + "version" "27.5.1" + +"diff-sequences@^28.1.1": + "integrity" "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz" + "version" "28.1.1" + +"domexception@^2.0.1": + "integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==" + "resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "webidl-conversions" "^5.0.0" + +"electron-to-chromium@^1.4.202": + "integrity" "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz" + "version" "1.4.209" + +"emittery@^0.8.1": + "integrity" "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" + "version" "0.8.1" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-string-regexp@^1.0.5": + "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + +"escodegen@^2.0.0": + "integrity" "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==" + "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "esprima" "^4.0.1" + "estraverse" "^5.2.0" + "esutils" "^2.0.2" + "optionator" "^0.8.1" + optionalDependencies: + "source-map" "~0.6.1" + +"esprima@^4.0.0", "esprima@^4.0.1": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"estraverse@^5.2.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"execa@^5.0.0": + "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + "version" "5.1.1" + 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" + +"exit@^0.1.2": + "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + +"expect@^27.5.1": + "integrity" "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==" + "resolved" "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "jest-get-type" "^27.5.1" + "jest-matcher-utils" "^27.5.1" + "jest-message-util" "^27.5.1" + +"extsprintf@^1.2.0", "extsprintf@1.3.0": + "integrity" "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + +"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@2.x": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" + +"fast-levenshtein@~2.0.6": + "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" + +"fb-watchman@^2.0.0": + "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "bser" "2.1.1" + +"fetch-blob@^3.1.2", "fetch-blob@^3.1.4": + "integrity" "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==" + "resolved" "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "node-domexception" "^1.0.0" + "web-streams-polyfill" "^3.0.3" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"find-up@^4.0.0", "find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"form-data@^3.0.0": + "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.8" + "mime-types" "^2.1.12" + +"formdata-polyfill@^4.0.10": + "integrity" "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==" + "resolved" "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" + "version" "4.0.10" + dependencies: + "fetch-blob" "^3.1.2" + +"fs.realpath@^1.0.0": + "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fsevents@^2.3.2": + "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + "version" "2.3.2" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-caller-file@^2.0.5": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1": + "integrity" "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==" + "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.3" + +"get-package-type@^0.1.0": + "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + "version" "0.1.0" + +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" + +"glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4": + "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + "version" "7.2.3" + 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" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"graceful-fs@^4.2.9": + "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + "version" "4.2.10" + +"has-flag@^3.0.0": + "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-property-descriptors@^1.0.0": + "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" + "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-intrinsic" "^1.1.1" + +"has-symbols@^1.0.1", "has-symbols@^1.0.3": + "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + "version" "1.0.3" + +"has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"html-encoding-sniffer@^2.0.1": + "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "whatwg-encoding" "^1.0.5" + +"html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + +"http-proxy-agent@^4.0.1": + "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" + "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "@tootallnate/once" "1" + "agent-base" "6" + "debug" "4" + +"https-proxy-agent@^5.0.0": + "integrity" "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==" + "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "agent-base" "6" + "debug" "4" + +"human-signals@^2.1.0": + "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + "version" "2.1.0" + +"iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + +"import-local@^3.0.2": + "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + +"imurmurhash@^0.1.4": + "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"inflight@^1.0.4": + "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"ip6addr@^0.2.5": + "integrity" "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==" + "resolved" "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "assert-plus" "^1.0.0" + "jsprim" "^2.0.2" + +"is-arrayish@^0.2.1": + "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-core-module@^2.9.0": + "integrity" "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" + "version" "2.9.0" + dependencies: + "has" "^1.0.3" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + +"is-generator-fn@^2.0.0": + "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + "version" "2.1.0" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-potential-custom-element-name@^1.0.1": + "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" + "version" "1.0.1" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"is-typedarray@^1.0.0": + "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"isexe@^2.0.0": + "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.2.0": + "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + "version" "3.2.0" + +"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": + "integrity" "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" + "version" "5.2.0" + 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-report@^3.0.0": + "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "istanbul-lib-coverage" "^3.0.0" + "make-dir" "^3.0.0" + "supports-color" "^7.1.0" + +"istanbul-lib-source-maps@^4.0.0": + "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^3.0.0" + "source-map" "^0.6.1" + +"istanbul-reports@^3.1.3": + "integrity" "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "html-escaper" "^2.0.0" + "istanbul-lib-report" "^3.0.0" + +"jest-changed-files@^27.5.1": + "integrity" "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==" + "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "execa" "^5.0.0" + "throat" "^6.0.1" + +"jest-circus@^27.5.1": + "integrity" "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==" + "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "chalk" "^4.0.0" + "co" "^4.6.0" + "dedent" "^0.7.0" + "expect" "^27.5.1" + "is-generator-fn" "^2.0.0" + "jest-each" "^27.5.1" + "jest-matcher-utils" "^27.5.1" + "jest-message-util" "^27.5.1" + "jest-runtime" "^27.5.1" + "jest-snapshot" "^27.5.1" + "jest-util" "^27.5.1" + "pretty-format" "^27.5.1" + "slash" "^3.0.0" + "stack-utils" "^2.0.3" + "throat" "^6.0.1" + +"jest-cli@^27.5.1": + "integrity" "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==" + "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "chalk" "^4.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.9" + "import-local" "^3.0.2" + "jest-config" "^27.5.1" + "jest-util" "^27.5.1" + "jest-validate" "^27.5.1" + "prompts" "^2.0.1" + "yargs" "^16.2.0" + +"jest-config@^27.5.1": + "integrity" "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==" + "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + "babel-jest" "^27.5.1" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "deepmerge" "^4.2.2" + "glob" "^7.1.1" + "graceful-fs" "^4.2.9" + "jest-circus" "^27.5.1" + "jest-environment-jsdom" "^27.5.1" + "jest-environment-node" "^27.5.1" + "jest-get-type" "^27.5.1" + "jest-jasmine2" "^27.5.1" + "jest-regex-util" "^27.5.1" + "jest-resolve" "^27.5.1" + "jest-runner" "^27.5.1" + "jest-util" "^27.5.1" + "jest-validate" "^27.5.1" + "micromatch" "^4.0.4" + "parse-json" "^5.2.0" + "pretty-format" "^27.5.1" + "slash" "^3.0.0" + "strip-json-comments" "^3.1.1" + +"jest-diff@^27.5.1": + "integrity" "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "chalk" "^4.0.0" + "diff-sequences" "^27.5.1" + "jest-get-type" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-diff@^28.1.3": + "integrity" "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" + "version" "28.1.3" + dependencies: + "chalk" "^4.0.0" + "diff-sequences" "^28.1.1" + "jest-get-type" "^28.0.2" + "pretty-format" "^28.1.3" + +"jest-docblock@^27.5.1": + "integrity" "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==" + "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "detect-newline" "^3.0.0" + +"jest-each@^27.5.1": + "integrity" "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==" + "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "chalk" "^4.0.0" + "jest-get-type" "^27.5.1" + "jest-util" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-environment-jsdom@^27.5.1": + "integrity" "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==" + "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "jest-mock" "^27.5.1" + "jest-util" "^27.5.1" + "jsdom" "^16.6.0" + +"jest-environment-node@^27.5.1": + "integrity" "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "jest-mock" "^27.5.1" + "jest-util" "^27.5.1" + +"jest-fetch-mock@^3.0.3": + "integrity" "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==" + "resolved" "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "cross-fetch" "^3.0.4" + "promise-polyfill" "^8.1.3" + +"jest-get-type@^27.5.1": + "integrity" "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" + "version" "27.5.1" + +"jest-get-type@^28.0.2": + "integrity" "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" + "version" "28.0.2" + +"jest-haste-map@^27.5.1": + "integrity" "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + "anymatch" "^3.0.3" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.2.9" + "jest-regex-util" "^27.5.1" + "jest-serializer" "^27.5.1" + "jest-util" "^27.5.1" + "jest-worker" "^27.5.1" + "micromatch" "^4.0.4" + "walker" "^1.0.7" + optionalDependencies: + "fsevents" "^2.3.2" + +"jest-jasmine2@^27.5.1": + "integrity" "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==" + "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "chalk" "^4.0.0" + "co" "^4.6.0" + "expect" "^27.5.1" + "is-generator-fn" "^2.0.0" + "jest-each" "^27.5.1" + "jest-matcher-utils" "^27.5.1" + "jest-message-util" "^27.5.1" + "jest-runtime" "^27.5.1" + "jest-snapshot" "^27.5.1" + "jest-util" "^27.5.1" + "pretty-format" "^27.5.1" + "throat" "^6.0.1" + +"jest-leak-detector@^27.5.1": + "integrity" "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==" + "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "jest-get-type" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-matcher-utils@^27.5.1": + "integrity" "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "chalk" "^4.0.0" + "jest-diff" "^27.5.1" + "jest-get-type" "^27.5.1" + "pretty-format" "^27.5.1" + +"jest-matcher-utils@^28.0.0": + "integrity" "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz" + "version" "28.1.3" + dependencies: + "chalk" "^4.0.0" + "jest-diff" "^28.1.3" + "jest-get-type" "^28.0.2" + "pretty-format" "^28.1.3" + +"jest-message-util@^27.5.1": + "integrity" "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.1" + "@types/stack-utils" "^2.0.0" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "micromatch" "^4.0.4" + "pretty-format" "^27.5.1" + "slash" "^3.0.0" + "stack-utils" "^2.0.3" + +"jest-mock@^27.5.1": + "integrity" "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +"jest-pnp-resolver@^1.2.2": + "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + "version" "1.2.2" + +"jest-regex-util@^27.5.1": + "integrity" "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" + "version" "27.5.1" + +"jest-resolve-dependencies@^27.5.1": + "integrity" "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==" + "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "jest-regex-util" "^27.5.1" + "jest-snapshot" "^27.5.1" + +"jest-resolve@*", "jest-resolve@^27.5.1": + "integrity" "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^27.5.1" + "jest-pnp-resolver" "^1.2.2" + "jest-util" "^27.5.1" + "jest-validate" "^27.5.1" + "resolve" "^1.20.0" + "resolve.exports" "^1.1.0" + "slash" "^3.0.0" + +"jest-runner@^27.5.1": + "integrity" "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==" + "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "chalk" "^4.0.0" + "emittery" "^0.8.1" + "graceful-fs" "^4.2.9" + "jest-docblock" "^27.5.1" + "jest-environment-jsdom" "^27.5.1" + "jest-environment-node" "^27.5.1" + "jest-haste-map" "^27.5.1" + "jest-leak-detector" "^27.5.1" + "jest-message-util" "^27.5.1" + "jest-resolve" "^27.5.1" + "jest-runtime" "^27.5.1" + "jest-util" "^27.5.1" + "jest-worker" "^27.5.1" + "source-map-support" "^0.5.6" + "throat" "^6.0.1" + +"jest-runtime@^27.5.1": + "integrity" "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==" + "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "chalk" "^4.0.0" + "cjs-module-lexer" "^1.0.0" + "collect-v8-coverage" "^1.0.0" + "execa" "^5.0.0" + "glob" "^7.1.3" + "graceful-fs" "^4.2.9" + "jest-haste-map" "^27.5.1" + "jest-message-util" "^27.5.1" + "jest-mock" "^27.5.1" + "jest-regex-util" "^27.5.1" + "jest-resolve" "^27.5.1" + "jest-snapshot" "^27.5.1" + "jest-util" "^27.5.1" + "slash" "^3.0.0" + "strip-bom" "^4.0.0" + +"jest-serializer@^27.5.1": + "integrity" "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==" + "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@types/node" "*" + "graceful-fs" "^4.2.9" + +"jest-snapshot@^27.5.1": + "integrity" "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + "babel-preset-current-node-syntax" "^1.0.0" + "chalk" "^4.0.0" + "expect" "^27.5.1" + "graceful-fs" "^4.2.9" + "jest-diff" "^27.5.1" + "jest-get-type" "^27.5.1" + "jest-haste-map" "^27.5.1" + "jest-matcher-utils" "^27.5.1" + "jest-message-util" "^27.5.1" + "jest-util" "^27.5.1" + "natural-compare" "^1.4.0" + "pretty-format" "^27.5.1" + "semver" "^7.3.2" + +"jest-util@^27.5.1": + "integrity" "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "graceful-fs" "^4.2.9" + "picomatch" "^2.2.3" + +"jest-util@^28.0.0": + "integrity" "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" + "version" "28.1.3" + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + "chalk" "^4.0.0" + "ci-info" "^3.2.0" + "graceful-fs" "^4.2.9" + "picomatch" "^2.2.3" + +"jest-validate@^27.5.1": + "integrity" "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/types" "^27.5.1" + "camelcase" "^6.2.0" + "chalk" "^4.0.0" + "jest-get-type" "^27.5.1" + "leven" "^3.1.0" + "pretty-format" "^27.5.1" + +"jest-watcher@^27.5.1": + "integrity" "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "jest-util" "^27.5.1" + "string-length" "^4.0.1" + +"jest-worker@^27.5.1": + "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@types/node" "*" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" + +"jest@^27.5.1", "jest@^28.0.0": + "integrity" "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==" + "resolved" "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "@jest/core" "^27.5.1" + "import-local" "^3.0.2" + "jest-cli" "^27.5.1" + +"js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"jsdom@^16.6.0": + "integrity" "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==" + "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" + "version" "16.7.0" + dependencies: + "abab" "^2.0.5" + "acorn" "^8.2.4" + "acorn-globals" "^6.0.0" + "cssom" "^0.4.4" + "cssstyle" "^2.3.0" + "data-urls" "^2.0.0" + "decimal.js" "^10.2.1" + "domexception" "^2.0.1" + "escodegen" "^2.0.0" + "form-data" "^3.0.0" + "html-encoding-sniffer" "^2.0.1" + "http-proxy-agent" "^4.0.1" + "https-proxy-agent" "^5.0.0" + "is-potential-custom-element-name" "^1.0.1" + "nwsapi" "^2.2.0" + "parse5" "6.0.1" + "saxes" "^5.0.1" + "symbol-tree" "^3.2.4" + "tough-cookie" "^4.0.0" + "w3c-hr-time" "^1.0.2" + "w3c-xmlserializer" "^2.0.0" + "webidl-conversions" "^6.1.0" + "whatwg-encoding" "^1.0.5" + "whatwg-mimetype" "^2.3.0" + "whatwg-url" "^8.5.0" + "ws" "^7.4.6" + "xml-name-validator" "^3.0.0" + +"jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"jsesc@~0.5.0": + "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" + +"json-parse-even-better-errors@^2.3.0": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-schema@0.4.0": + "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + "version" "0.4.0" + +"json5@^2.2.1": + "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + "version" "2.2.1" + +"jsprim@^2.0.2": + "integrity" "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.4.0" + "verror" "1.10.0" + +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"levn@~0.3.0": + "integrity" "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + +"lines-and-columns@^1.1.6": + "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + "version" "1.2.4" + +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"lodash.debounce@^4.0.8": + "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + "version" "4.0.8" + +"lodash.memoize@4.x": + "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" + +"lodash.set@^4.3.2": + "integrity" "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + "resolved" "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" + "version" "4.3.2" + +"lodash@^4.7.0": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + +"make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + +"make-error@1.x": + "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + "version" "1.3.6" + +"makeerror@1.0.12": + "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + "version" "1.0.12" + dependencies: + "tmpl" "1.0.5" + +"map-obj@^4.1.0": + "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" + "version" "4.3.0" + +"maxmind@^4.2.0": + "integrity" "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==" + "resolved" "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz" + "version" "4.3.6" + dependencies: + "mmdb-lib" "2.0.2" + "tiny-lru" "8.0.2" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"micromatch@^4.0.4": + "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + "version" "4.0.5" + dependencies: + "braces" "^3.0.2" + "picomatch" "^2.3.1" + +"mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.12": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"minimatch@^3.0.4", "minimatch@^3.1.1": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"mmdb-lib@2.0.2": + "integrity" "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==" + "resolved" "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz" + "version" "2.0.2" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"natural-compare@^1.4.0": + "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + +"node-domexception@^1.0.0": + "integrity" "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + "resolved" "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" + "version" "1.0.0" + +"node-fetch@^3.2.6": + "integrity" "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz" + "version" "3.2.8" + dependencies: + "data-uri-to-buffer" "^4.0.0" + "fetch-blob" "^3.1.4" + "formdata-polyfill" "^4.0.10" + +"node-fetch@2.6.7": + "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" + "version" "2.6.7" + dependencies: + "whatwg-url" "^5.0.0" + +"node-int64@^0.4.0": + "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + +"node-releases@^2.0.6": + "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" + "version" "2.0.6" + +"normalize-path@^3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"npm-run-path@^4.0.1": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"nwsapi@^2.2.0": + "integrity" "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==" + "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz" + "version" "2.2.1" + +"object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object.assign@^4.1.0": + "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "has-symbols" "^1.0.1" + "object-keys" "^1.1.1" + +"once@^1.3.0": + "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"onetime@^5.1.2": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"optionator@^0.8.1": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + +"p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "p-limit" "^2.2.0" + +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" + +"parse-json@^5.2.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "@babel/code-frame" "^7.0.0" + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"parse5@6.0.1": + "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + "version" "6.0.1" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-key@^3.0.0", "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.7": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"picocolors@^1.0.0": + "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + "version" "1.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.3", "picomatch@^2.3.1": + "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + "version" "2.3.1" + +"pirates@^4.0.4": + "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + "version" "4.0.5" + +"pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"prelude-ls@~1.1.2": + "integrity" "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "version" "1.1.2" + +"pretty-format@^27.5.1": + "integrity" "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" + "version" "27.5.1" + dependencies: + "ansi-regex" "^5.0.1" + "ansi-styles" "^5.0.0" + "react-is" "^17.0.1" + +"pretty-format@^28.0.0", "pretty-format@^28.1.3": + "integrity" "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" + "version" "28.1.3" + dependencies: + "@jest/schemas" "^28.1.3" + "ansi-regex" "^5.0.1" + "ansi-styles" "^5.0.0" + "react-is" "^18.0.0" + +"promise-polyfill@^8.1.3": + "integrity" "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==" + "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz" + "version" "8.2.3" + +"prompts@^2.0.1": + "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"psl@^1.1.33": + "integrity" "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" + "version" "1.9.0" + +"punycode@^2.1.1": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" + +"quick-lru@^5.1.1": + "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + "version" "5.1.1" + +"react-is@^17.0.1": + "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" + "version" "17.0.2" + +"react-is@^18.0.0": + "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + "version" "18.2.0" + +"regenerate-unicode-properties@^10.0.1": + "integrity" "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" + "version" "10.0.1" + dependencies: + "regenerate" "^1.4.2" + +"regenerate@^1.4.2": + "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + "version" "1.4.2" + +"regenerator-runtime@^0.13.4": + "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" + "version" "0.13.9" + +"regenerator-transform@^0.15.0": + "integrity" "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==" + "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" + "version" "0.15.0" + dependencies: + "@babel/runtime" "^7.8.4" + +"regexpu-core@^5.1.0": + "integrity" "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "regenerate" "^1.4.2" + "regenerate-unicode-properties" "^10.0.1" + "regjsgen" "^0.6.0" + "regjsparser" "^0.8.2" + "unicode-match-property-ecmascript" "^2.0.0" + "unicode-match-property-value-ecmascript" "^2.0.0" + +"regjsgen@^0.6.0": + "integrity" "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" + "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" + "version" "0.6.0" + +"regjsparser@^0.8.2": + "integrity" "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" + "version" "0.8.4" + dependencies: + "jsesc" "~0.5.0" + +"require-directory@^2.1.1": + "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve.exports@^1.1.0": + "integrity" "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" + "resolved" "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" + "version" "1.1.0" + +"resolve@^1.14.2", "resolve@^1.20.0": + "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + "version" "1.22.1" + dependencies: + "is-core-module" "^2.9.0" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"rimraf@^3.0.0": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"safe-buffer@~5.1.1": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + +"safer-buffer@>= 2.1.2 < 3": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" + +"saxes@^5.0.1": + "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" + "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "xmlchars" "^2.2.0" + +"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.3.2": + "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + "version" "7.3.7" + dependencies: + "lru-cache" "^6.0.0" + +"semver@7.0.0": + "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + "version" "7.0.0" + +"semver@7.x": + "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + "version" "7.3.7" + dependencies: + "lru-cache" "^6.0.0" + +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"signal-exit@^3.0.2", "signal-exit@^3.0.3": + "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + "version" "3.0.7" + +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" + +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + +"source-map-support@^0.5.6": + "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + "version" "0.5.21" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"source-map@^0.7.3": + "integrity" "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + "version" "0.7.4" + +"sprintf-js@~1.0.2": + "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"stack-utils@^2.0.3": + "integrity" "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "escape-string-regexp" "^2.0.0" + +"string-length@^4.0.1": + "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "char-regex" "^1.0.2" + "strip-ansi" "^6.0.0" + +"string-width@^4.1.0", "string-width@^4.2.0": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "ansi-regex" "^5.0.1" + +"strip-bom@^4.0.0": + "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + "version" "4.0.0" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + +"strip-json-comments@^3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^7.0.0", "supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"supports-color@^8.0.0": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "has-flag" "^4.0.0" + +"supports-hyperlinks@^2.0.0": + "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" + "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "has-flag" "^4.0.0" + "supports-color" "^7.0.0" + +"supports-preserve-symlinks-flag@^1.0.0": + "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + "version" "1.0.0" + +"symbol-tree@^3.2.4": + "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + "version" "3.2.4" + +"terminal-link@^2.0.0": + "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" + "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ansi-escapes" "^4.2.1" + "supports-hyperlinks" "^2.0.0" + +"test-exclude@^6.0.0": + "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "@istanbuljs/schema" "^0.1.2" + "glob" "^7.1.4" + "minimatch" "^3.0.4" + +"throat@^6.0.1": + "integrity" "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" + "resolved" "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz" + "version" "6.0.1" + +"tiny-lru@8.0.2": + "integrity" "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==" + "resolved" "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz" + "version" "8.0.2" + +"tmpl@1.0.5": + "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + "version" "1.0.5" + +"to-fast-properties@^2.0.0": + "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"tough-cookie@^4.0.0": + "integrity" "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "psl" "^1.1.33" + "punycode" "^2.1.1" + "universalify" "^0.1.2" + +"tr46@^2.1.0": + "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "punycode" "^2.1.1" + +"tr46@~0.0.3": + "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + "version" "0.0.3" + +"ts-jest@^28.0.7": + "integrity" "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==" + "resolved" "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz" + "version" "28.0.7" + dependencies: + "bs-logger" "0.x" + "fast-json-stable-stringify" "2.x" + "jest-util" "^28.0.0" + "json5" "^2.2.1" + "lodash.memoize" "4.x" + "make-error" "1.x" + "semver" "7.x" + "yargs-parser" "^21.0.1" + +"type-check@~0.3.2": + "integrity" "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "prelude-ls" "~1.1.2" + +"type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type-fest@^0.21.3": + "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + "version" "0.21.3" + +"type-fest@^1.2.1": + "integrity" "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" + "version" "1.4.0" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"typescript@^4.7.4", "typescript@>=4.3": + "integrity" "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" + "version" "4.7.4" + +"unicode-canonical-property-names-ecmascript@^2.0.0": + "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-match-property-ecmascript@^2.0.0": + "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "unicode-canonical-property-names-ecmascript" "^2.0.0" + "unicode-property-aliases-ecmascript" "^2.0.0" + +"unicode-match-property-value-ecmascript@^2.0.0": + "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-property-aliases-ecmascript@^2.0.0": + "integrity" "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"universalify@^0.1.2": + "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + "version" "0.1.2" + +"update-browserslist-db@^1.0.5": + "integrity" "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==" + "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "escalade" "^3.1.1" + "picocolors" "^1.0.0" + +"v8-to-istanbul@^8.1.0": + "integrity" "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==" + "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + "convert-source-map" "^1.6.0" + "source-map" "^0.7.3" + +"verror@1.10.0": + "integrity" "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" + +"w3c-hr-time@^1.0.2": + "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" + "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "browser-process-hrtime" "^1.0.0" + +"w3c-xmlserializer@^2.0.0": + "integrity" "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==" + "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "xml-name-validator" "^3.0.0" + +"walker@^1.0.7": + "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "makeerror" "1.0.12" + +"web-streams-polyfill@^3.0.3": + "integrity" "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + "resolved" "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" + "version" "3.2.1" + +"webidl-conversions@^3.0.0": + "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + "version" "3.0.1" + +"webidl-conversions@^5.0.0": + "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" + "version" "5.0.0" + +"webidl-conversions@^6.1.0": + "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" + "version" "6.1.0" + +"whatwg-encoding@^1.0.5": + "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "iconv-lite" "0.4.24" + +"whatwg-mimetype@^2.3.0": + "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + "version" "2.3.0" + +"whatwg-url@^5.0.0": + "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "tr46" "~0.0.3" + "webidl-conversions" "^3.0.0" + +"whatwg-url@^8.0.0", "whatwg-url@^8.5.0": + "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" + "version" "8.7.0" + dependencies: + "lodash" "^4.7.0" + "tr46" "^2.1.0" + "webidl-conversions" "^6.1.0" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"word-wrap@~1.2.3": + "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + "version" "1.2.3" + +"wrap-ansi@^7.0.0": + "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrappy@1": + "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + +"ws@^7.4.6": + "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + "version" "7.5.9" + +"xml-name-validator@^3.0.0": + "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" + "version" "3.0.0" + +"xmlchars@^2.2.0": + "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + "version" "2.2.0" + +"y18n@^5.0.5": + "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + "version" "5.0.8" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yargs-parser@^20.2.2": + "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + "version" "20.2.9" + +"yargs-parser@^21.0.1": + "integrity" "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" + "version" "21.0.1" + +"yargs@^16.2.0": + "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + "version" "16.2.0" + dependencies: + "cliui" "^7.0.2" + "escalade" "^3.1.1" + "get-caller-file" "^2.0.5" + "require-directory" "^2.1.1" + "string-width" "^4.2.0" + "y18n" "^5.0.5" + "yargs-parser" "^20.2.2" diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig new file mode 100644 index 0000000000000..b0b709a63cc2d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js new file mode 100644 index 0000000000000..7014226ee89d6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'simple-import-sort'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes new file mode 100644 index 0000000000000..dfe0770424b2a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md new file mode 100644 index 0000000000000..3fe0f6f335209 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md @@ -0,0 +1,7 @@ +## Changes + +... + +## Checklist + +- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml new file mode 100644 index 0000000000000..950c2443f8405 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +name: CI + +on: + - pull_request + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up Node 14 + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn test + + code-quality: + name: Code quality + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up Node 14 + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Lint + run: yarn lint diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore new file mode 100644 index 0000000000000..abd8ee954280e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore @@ -0,0 +1,76 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# environment variables file +.env +.environment + +# next.js build output +.next + +# editors +.vscode +.idea + +# yalc +.yalc +yalc* + +# macOS +.DS_Store + +# output +dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore new file mode 100644 index 0000000000000..1521c8b7652b1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore @@ -0,0 +1 @@ +dist diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/GeoLite2-City-Test.mmdb b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/GeoLite2-City-Test.mmdb new file mode 100644 index 0000000000000000000000000000000000000000..0809201619b5915fa6189200e4c53e6088f437da GIT binary patch literal 20809 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 + +## Caveats + +A case to be aware of is sending events from a server – such events, if not provided with custom property `$ip`, +will be detected as sent from the location of the data center, instead of the related user. + +If you'd like this plugin to skip over an event and not add the above properties, +set property `$geoip_disable` to `true` on that event. + +## Installation + +1. Access PostHog's **Plugins** page from the sidebar. +1. Go to the **Advanced** tab. +1. **Fetch and install** the following URL in the **Install from GitHub, GitLab or npm** section: + `http://github.com/PostHog/posthog-plugin-geoip`. +1. Enable the plugin and watch your events come in with enriched data! + +## Questions? + +### [Join the PostHo community.](https://posthog.com/questions) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts new file mode 100644 index 0000000000000..9d5af590946dc --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts @@ -0,0 +1,141 @@ +import { City, Reader } from '@maxmind/geoip2-node' +import { Plugin, PluginMeta } from '@posthog/plugin-scaffold' +// @ts-ignore +import { createPageview, resetMeta } from '@posthog/plugin-scaffold/test/utils' +import { join } from 'path' + +import * as index from '.' + +const { processEvent } = index as Required + +const DEFAULT_MMDB_FILE_NAME = 'GeoLite2-City-Test.mmdb' + +async function resetMetaWithMmdb( + transformResult = (res: City) => res as Record, + file = DEFAULT_MMDB_FILE_NAME +): Promise { + const mmdb = await Reader.open(join(__dirname, file)) + return resetMeta({ + geoip: { + locate: (ipAddress: string) => { + const res = mmdb.city(ipAddress) + return transformResult(res) + }, + }, + }) as PluginMeta +} + +test('event is enriched with IP location', async () => { + const event = await processEvent({ ...createPageview(), ip: '89.160.20.129' }, await resetMetaWithMmdb()) + expect(event!.properties).toEqual( + expect.objectContaining({ + $geoip_city_name: 'Linköping', + $geoip_country_name: 'Sweden', + $geoip_country_code: 'SE', + $geoip_continent_name: 'Europe', + $geoip_continent_code: 'EU', + $geoip_latitude: 58.4167, + $geoip_longitude: 15.6167, + $geoip_accuracy_radius: 76, + $geoip_time_zone: 'Europe/Stockholm', + $geoip_subdivision_1_code: 'E', + $geoip_subdivision_1_name: 'Östergötland County', + }) + ) +}) + +test('person is enriched with IP location', async () => { + const event = await processEvent({ ...createPageview(), ip: '89.160.20.129' }, await resetMetaWithMmdb()) + expect(event!.properties!.$set).toEqual( + expect.objectContaining({ + $geoip_city_name: 'Linköping', + $geoip_country_name: 'Sweden', + $geoip_country_code: 'SE', + $geoip_continent_name: 'Europe', + $geoip_continent_code: 'EU', + $geoip_latitude: 58.4167, + $geoip_longitude: 15.6167, + $geoip_time_zone: 'Europe/Stockholm', + $geoip_subdivision_1_code: 'E', + $geoip_subdivision_1_name: 'Östergötland County', + }) + ) + expect(event!.properties!.$set_once).toEqual( + expect.objectContaining({ + $initial_geoip_city_name: 'Linköping', + $initial_geoip_country_name: 'Sweden', + $initial_geoip_country_code: 'SE', + $initial_geoip_continent_name: 'Europe', + $initial_geoip_continent_code: 'EU', + $initial_geoip_latitude: 58.4167, + $initial_geoip_longitude: 15.6167, + $initial_geoip_time_zone: 'Europe/Stockholm', + $initial_geoip_subdivision_1_code: 'E', + $initial_geoip_subdivision_1_name: 'Östergötland County', + }) + ) +}) + +test('person props default to null if no values present', async () => { + const removeCityNameFromLookupResult = (res: City) => { + const { city, ...remainingResult } = res + return remainingResult + } + const event = await processEvent( + { ...createPageview(), ip: '89.160.20.129' }, + await resetMetaWithMmdb(removeCityNameFromLookupResult) + ) + expect(event!.properties!.$set).toMatchInlineSnapshot(` + Object { + "$geoip_accuracy_radius": 76, + "$geoip_city_confidence": null, + "$geoip_city_name": null, + "$geoip_continent_code": "EU", + "$geoip_continent_name": "Europe", + "$geoip_country_code": "SE", + "$geoip_country_name": "Sweden", + "$geoip_latitude": 58.4167, + "$geoip_longitude": 15.6167, + "$geoip_postal_code": null, + "$geoip_subdivision_1_code": "E", + "$geoip_subdivision_1_name": "Östergötland County", + "$geoip_subdivision_2_code": null, + "$geoip_subdivision_2_name": null, + "$geoip_time_zone": "Europe/Stockholm", + } + `) + expect(event!.properties!.$set_once).toMatchInlineSnapshot(` + Object { + "$initial_geoip_accuracy_radius": 76, + "$initial_geoip_city_confidence": null, + "$initial_geoip_city_name": null, + "$initial_geoip_continent_code": "EU", + "$initial_geoip_continent_name": "Europe", + "$initial_geoip_country_code": "SE", + "$initial_geoip_country_name": "Sweden", + "$initial_geoip_latitude": 58.4167, + "$initial_geoip_longitude": 15.6167, + "$initial_geoip_postal_code": null, + "$initial_geoip_subdivision_1_code": "E", + "$initial_geoip_subdivision_1_name": "Östergötland County", + "$initial_geoip_subdivision_2_code": null, + "$initial_geoip_subdivision_2_name": null, + "$initial_geoip_time_zone": "Europe/Stockholm", + } + `) +}) + +test('error is thrown if meta.geoip is not provided', async () => { + expect.assertions(1) + await expect( + async () => await processEvent({ ...createPageview(), ip: '89.160.20.129' }, resetMeta()) + ).rejects.toEqual( + new Error('This PostHog version does not have GeoIP capabilities! Upgrade to PostHog 1.24.0 or later') + ) +}) + +test('event is skipped using $geoip_disable', async () => { + const testEvent = { ...createPageview(), ip: '89.160.20.129', properties: { $geoip_disable: true } } + const processedEvent = await processEvent(JSON.parse(JSON.stringify(testEvent)), await resetMetaWithMmdb()) + expect(testEvent).toEqual(processedEvent) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts new file mode 100644 index 0000000000000..ebc356a09e237 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts @@ -0,0 +1,119 @@ +import { Plugin } from '@posthog/plugin-scaffold' + +const props = { + city_name: null, + city_confidence: null, + subdivision_2_name: null, + subdivision_2_code: null, + subdivision_1_name: null, + subdivision_1_code: null, + country_name: null, + country_code: null, + continent_name: null, + continent_code: null, + postal_code: null, + latitude: null, + longitude: null, + accuracy_radius: null, + time_zone: null, +} + +const defaultLocationSetProps = Object.entries(props).reduce((acc, [key]) => { + acc[`$geoip_${key}`] = null + return acc +}, {} as Record) + + +const defaultLocationSetOnceProps = Object.entries(props).reduce((acc, [key]) => { + acc[`$initial_geoip_${key}`] = null + return acc +}, {} as Record) + + + +const plugin: Plugin = { + processEvent: async (event, { geoip }) => { + if (!geoip) { + throw new Error('This PostHog version does not have GeoIP capabilities! Upgrade to PostHog 1.24.0 or later') + } + let ip = event.properties?.$ip || event.ip + if (ip && !event.properties?.$geoip_disable) { + ip = String(ip) + if (ip === '127.0.0.1') { + ip = '13.106.122.3' // Spoofing an Australian IP address for local development + } + const response = await geoip.locate(ip) + if (response) { + const location: Record = {} + if (response.city) { + location['city_name'] = response.city.names?.en + if (typeof response.city.confidence === 'number') { + // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed + location['city_confidence'] = response.city.confidence + } + } + if (response.country) { + location['country_name'] = response.country.names?.en + location['country_code'] = response.country.isoCode + if (typeof response.country.confidence === 'number') { + // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed + location['country_confidence'] = response.country.confidence ?? null + } + } + if (response.continent) { + location['continent_name'] = response.continent.names?.en + location['continent_code'] = response.continent.code + } + if (response.postal) { + location['postal_code'] = response.postal.code + if (typeof response.postal.confidence === 'number') { + // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed + location['postal_code_confidence'] = response.postal.confidence ?? null + } + } + if (response.location) { + location['latitude'] = response.location?.latitude + location['longitude'] = response.location?.longitude + location['accuracy_radius'] = response.location?.accuracyRadius + location['time_zone'] = response.location?.timeZone + } + if (response.subdivisions) { + for (const [index, subdivision] of response.subdivisions.entries()) { + location[`subdivision_${index + 1}_code`] = subdivision.isoCode + location[`subdivision_${index + 1}_name`] = subdivision.names?.en + + if (typeof subdivision.confidence === 'number') { + // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed + location[`subdivision_${index + 1}_confidence`] = subdivision.confidence ?? null + } + } + } + + if (!event.properties) { + event.properties = {} + } + + if (!event.properties.$set) { + event.properties.$set = {} + } + if (!event.properties.$set_once) { + event.properties.$set_once = {} + } + event.properties.$set = { ...defaultLocationSetProps, ...(event.properties.$set ?? {}) } + event.properties.$set_once = { + ...defaultLocationSetOnceProps, + ...(event.properties.$set_once ?? {}), + } + + for (const [key, value] of Object.entries(location)) { + event.properties[`$geoip_${key}`] = value + event.properties.$set![`$geoip_${key}`] = value + event.properties.$set_once![`$initial_geoip_${key}`] = value + } + } + } + return event + }, +} + +module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js new file mode 100644 index 0000000000000..e8fe1cf80ad20 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js @@ -0,0 +1,13 @@ +const { pathsToModuleNameMapper } = require('ts-jest/utils') +const { compilerOptions } = require('./tsconfig') + +const moduleNameMapper = undefined +if (compilerOptions.paths) { + moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) +} + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + moduleNameMapper, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1c815bd5f4a128fc69c60986ca962d34f5201379 GIT binary patch literal 15719 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", + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc" + }, + "dependencies": {}, + "devDependencies": { + "@maxmind/geoip2-node": "^2.3.1", + "@posthog/plugin-scaffold": "github:PostHog/plugin-scaffold", + "@types/jest": "^26.0.19", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "~4.3.6", + "jest": "^26.6.3", + "lint-staged": "~10.5.3", + "prettier": "^2.2.1", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json new file mode 100644 index 0000000000000..723251ca4a6cf --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "GeoIP", + "url": "https://github.com/PostHog/posthog-plugin-geoip", + "description": "Enrich PostHog events and persons with IP location data", + "main": "index.ts", + "posthogVersion": ">=1.24.0", + "stateless": true +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json new file mode 100644 index 0000000000000..962462f8f91e8 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ESNext"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock new file mode 100644 index 0000000000000..96785a465855e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock @@ -0,0 +1,4994 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@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.0.0", "@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.12.13" + +"@babel/compat-data@^7.13.8": + version "7.13.11" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.11.tgz#9c8fe523c206979c9a81b1e12fe50c1254f1aa35" + integrity sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg== + +"@babel/core@^7.1.0", "@babel/core@^7.7.5": + 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.9" + "@babel/helper-compilation-targets" "^7.13.10" + "@babel/helper-module-transforms" "^7.13.0" + "@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" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^6.3.0" + source-map "^0.5.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== + dependencies: + "@babel/types" "^7.13.0" + jsesc "^2.5.1" + source-map "^0.5.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-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-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.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.13" + +"@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.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.13.0" + "@babel/types" "^7.13.0" + lodash "^4.17.19" + +"@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.12.13", "@babel/helper-plugin-utils@^7.8.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-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.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-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-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.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/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" + "@babel/types" "^7.13.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.10": + version "7.13.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.11.tgz#f93ebfc99d21c1772afbbaa153f47e7ce2f50b88" + integrity sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q== + +"@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.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-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-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.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-top-level-await@^7.8.3": + 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.12.13" + +"@babel/template@^7.12.13", "@babel/template@^7.3.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.1.0", "@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.12.13", "@babel/types@^7.13.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + 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" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@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" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@maxmind/geoip2-node@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-2.3.1.tgz#f465bfec300b9a24ce14fc1acdd2b0d931b5674a" + integrity sha512-iWxQiymqUJeZOm2GibQlOebZgEFly6SvTL1iALennYGPAsbBX+Iu50tz6xFGsO+2uoohDjPglx0h2TFZO7N2kQ== + dependencies: + camelcase-keys "^6.0.1" + ip6addr "^0.2.3" + lodash.set "^4.3.2" + maxmind "^4.2.0" + +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + +"@posthog/plugin-scaffold@github:PostHog/plugin-scaffold": + version "0.4.2" + resolved "https://codeload.github.com/PostHog/plugin-scaffold/tar.gz/35040ed41a7a23638bbef26384d6bd5838d909f9" + dependencies: + "@maxmind/geoip2-node" "^2.3.1" + +"@sinonjs/commons@^1.7.0": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.13" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.13.tgz#bc6eea53975fdf163aff66c086522c6f293ae4cf" + integrity sha512-CC6amBNND16pTk4K3ZqKIaba6VGKAQs3gMjEY17FVd56oI/ZWt9OhS6riYiWv9s8ENbYUi7p8lgqb0QHQvUKQQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.11.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" + integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^26.0.19": + 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" + +"@types/json-schema@^7.0.3": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/node@*": + version "14.14.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" + integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" + integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@types/yargs@^15.0.0": + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.12.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.18.0.tgz#50fbce93211b5b690895d20ebec6fe8db48af1f6" + integrity sha512-Lzkc/2+7EoH7+NjIWLS2lVuKKqbEmJhtXe3rmfA8cyiKnZm3IfLf51irnBcmow8Q/AptVV0XBZmBJKuUJTe6cQ== + dependencies: + "@typescript-eslint/experimental-utils" "4.18.0" + "@typescript-eslint/scope-manager" "4.18.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.18.0.tgz#ed6c955b940334132b17100d2917449b99a91314" + integrity sha512-92h723Kblt9JcT2RRY3QS2xefFKar4ZQFVs3GityOKWQYgtajxt/tuXIzL7sVCUlM1hgreiV5gkGYyBpdOwO6A== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.18.0" + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/typescript-estree" "4.18.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.12.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.18.0.tgz#a211edb14a69fc5177054bec04c95b185b4dde21" + integrity sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA== + dependencies: + "@typescript-eslint/scope-manager" "4.18.0" + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/typescript-estree" "4.18.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz#d75b55234c35d2ff6ac945758d6d9e53be84a427" + integrity sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ== + dependencies: + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/visitor-keys" "4.18.0" + +"@typescript-eslint/types@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.18.0.tgz#bebe323f81f2a7e2e320fac9415e60856267584a" + integrity sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A== + +"@typescript-eslint/typescript-estree@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz#756d3e61da8c16ab99185532c44872f4cd5538cb" + integrity sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg== + dependencies: + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/visitor-keys" "4.18.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz#4e6fe2a175ee33418318a029610845a81e2ff7b6" + integrity sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw== + dependencies: + "@typescript-eslint/types" "4.18.0" + eslint-visitor-keys "^2.0.0" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +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-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.5: + version "8.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe" + integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA== + +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@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + 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@^7.0.2: + version "7.2.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.1.tgz#a5ac226171912447683524fa2f1248fcf8bac83d" + integrity sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-includes@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + 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-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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.14.5: + 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.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + +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" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +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" + +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.0.1: + 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@^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.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001181: + version "1.0.30001203" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz#a7a34df21a387d9deffcd56c000b8cf5ab540580" + integrity sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0: + 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.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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-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@^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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +colorette@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +combined-stream@^1.0.6, 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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@^2.2.0, debug@^2.3.3, 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.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.3.649: + version "1.3.692" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.692.tgz#4d00479055a7282cdd1b19caec09ed7779529640" + integrity sha512-Ix+zDUAXWZuUzqKdhkgN5dP7ZM+IwMG4yAGFGDLpGJP/3vNEEwuHG1LIhtXUfW0FFV0j38t5PUv2n/3MFSRviQ== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5, 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" + +error-ex@^1.2.0, 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" + +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-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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" + integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== + +eslint-import-resolver-node@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-module-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.22.1: + version "2.22.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" + integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== + dependencies: + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +eslint-scope@^5.0.0, 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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint@^7.21.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" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.21" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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.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: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +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== + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + 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-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.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-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 "^3.1.2" + +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@^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== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +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" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +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: + 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: + 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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-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" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.0: + 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globals@^13.6.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" + integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.1: + version "11.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.2.4: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-bigints@^1.0.1: + 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" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-symbols@^1.0.1, 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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +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== + +husky@~4.3.6: + 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 "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip6addr@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" + integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.4.0" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-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.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.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +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-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +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" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +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" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is-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== + dependencies: + has-symbols "^1.0.1" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +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-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0, isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.5.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.1.tgz#4ced6bbd7b77d67fb980e64d9e3e6fb900f97dd6" + integrity sha512-pF73EOsJgwZekbDHEY5VO/yKXUkab/DuvrQB/ANVizbr6UAHJsDdHXuotZYwkJSGQl1JM+ivXaqY+XBDDL4TiA== + dependencies: + abab "^2.0.5" + acorn "^8.0.5" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "6.0.1" + request "^2.88.2" + request-promise-native "^1.0.9" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.4.4" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsprim@^1.2.2, jsprim@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@~10.5.3: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.4.3.tgz#543bcf849d5ffc70602708b69d2daac73f751699" + integrity sha512-wZmkzNiuinOfwrGqAwTCcPw6aKQGTAMGXwG5xeU1WpDjJNeBA35jGBeWxR3OF+R6Yl5Y3dRG+3vE8t6PDcSNHA== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.6" + through "^2.3.8" + wrap-ansi "^7.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, 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" + +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" + +make-dir@^3.0.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-error@1.x: + 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.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.0.tgz#0e8bc823e2aaca8a0942567d12ed14f389eec153" + integrity sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +maxmind@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.1.tgz#b20103f19e9fc12e4d1618814380d89a00f65770" + integrity sha512-0CxAgwWIwQy4zF1/qCMOeUPleMTYgfnsuIsZ4Otzx6hzON4PCqivPiH6Kz7iWrC++KOGCbSB3nxkJMvDEdWt6g== + dependencies: + mmdb-lib "1.2.0" + tiny-lru "7.0.6" + +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: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.46.0: + version "1.46.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.29" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== + dependencies: + mime-db "1.46.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mmdb-lib@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-1.2.0.tgz#0ecd93f4942f65a2d09be0502fa9126939606727" + integrity sha512-3XYebkStxqCgWJjsmT9FCaE19Yi4Tvs2SBPKhUks3rJJh52oF1AKAd9kei+LTutud3a6RCZ0o2Um96Fn7o3zVA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-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== + +normalize-package-data@^2.3.2, 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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + +object-keys@^1.0.12, 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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +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.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" + integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +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: + 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" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.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-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-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +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@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^5.0.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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^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== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +queue-microtask@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" + integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== + +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== + +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "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@^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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: + 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" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +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" + +rxjs@^6.6.6: + version "6.6.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" + integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +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@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.2.1, semver@^7.3.2: + 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" + +semver@^6.0.0, semver@^6.1.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== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +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.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" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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.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== + +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.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-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +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" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tiny-lru@7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" + integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +ts-jest@^26.4.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: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.8.1, tslib@^1.9.0: + 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.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +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-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +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.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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.1.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" + integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== + +unbox-primitive@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.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-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +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, which@^2.0.2: + 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" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.4: + version "7.4.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" + integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +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.4.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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig new file mode 100644 index 0000000000000..b0b709a63cc2d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js new file mode 100644 index 0000000000000..7014226ee89d6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'simple-import-sort'], + extends: ['plugin:@typescript-eslint/recommended', 'prettier'], + ignorePatterns: ['bin', 'dist', 'node_modules'], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + curly: 'error', + }, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes new file mode 100644 index 0000000000000..dfe0770424b2a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md new file mode 100644 index 0000000000000..3fe0f6f335209 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md @@ -0,0 +1,7 @@ +## Changes + +... + +## Checklist + +- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml new file mode 100644 index 0000000000000..a313eb1632673 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml @@ -0,0 +1,21 @@ +name: CI + +on: + - pull_request + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + tests: + timeout-minutes: 3 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-node@v1 + with: + node-version: 16 + + - run: yarn install + - run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore new file mode 100644 index 0000000000000..abd8ee954280e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore @@ -0,0 +1,76 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# environment variables file +.env +.environment + +# next.js build output +.next + +# editors +.vscode +.idea + +# yalc +.yalc +yalc* + +# macOS +.DS_Store + +# output +dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore new file mode 100644 index 0000000000000..1521c8b7652b1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore @@ -0,0 +1 @@ +dist diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md new file mode 100644 index 0000000000000..29207aaebc031 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md @@ -0,0 +1,18 @@ +This app is deprecated an no longer available on PostHog Cloud. + +# PostHog Plugin: Replicator + +Replicate PostHog event stream in another PostHog instance. Simply: export events. + +## Installation + +1. Access PostHog's **Plugins** page from the sidebar. +1. Go to the **Advanced** tab. +1. **Fetch and install** the following URL in the **Install from GitHub, GitLab or npm** section: + `https://github.com/PostHog/posthog-plugin-replicator`. +1. Configure the plugin. +1. See events come into another PostHog instance, identically to originals. + +## Questions? + +### [Join our community.](https://posthog.com/questions) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts new file mode 100644 index 0000000000000..96f6c07e32cd0 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts @@ -0,0 +1,119 @@ +import { Plugin, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' +import fetch from 'node-fetch' + +export interface ReplicatorMetaInput { + config: { + host: string + project_api_key: string + replication: string + events_to_ignore: string + disable_geoip: 'Yes' | 'No' + } +} + +type StrippedEvent = Omit + +const reverseAutocaptureEvent = (autocaptureEvent: StrippedEvent) => { + // TRICKY: This code basically reverses what the plugin server does + // Adapted from https://github.com/PostHog/posthog/blob/master/plugin-server/src/utils/db/elements-chain.ts#L105 + const { elements, properties, ...event } = autocaptureEvent + + const $elements = elements?.map((el) => { + // $el_text and attributes are the only differently named parts + const { attributes, text, ...commonProps } = el + return { + ...commonProps, + $el_text: text, + ...attributes, + } + }) + + return { + ...event, + properties: $elements + ? { + ...properties, + $elements, + } + : properties, + } +} + +const plugin: Plugin = { + onEvent: async (event, { config }) => { + const replication = parseInt(config.replication) || 1 + if (replication > 1) { + // This is a quick fix to make sure we don't become a spam bot + throw Error('Replication factor > 1 is not allowed') + } + + const eventsToIgnore = new Set( + config.events_to_ignore && config.events_to_ignore.trim() !== '' + ? config.events_to_ignore.split(',').map((event) => event.trim()) + : null + ) + if (eventsToIgnore.has(event.event)) { + return + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { team_id, person: _, ...sendableEvent } = { ...event, token: config.project_api_key } + + if (config.disable_geoip === 'Yes') { + sendableEvent.properties.$geoip_disable = true + } + + const finalSendableEvent = + sendableEvent.event === '$autocapture' ? reverseAutocaptureEvent(sendableEvent) : sendableEvent + + const batch = [] + for (let i = 0; i < replication; i++) { + batch.push(finalSendableEvent) + } + + if (batch.length > 0) { + const batchDescription = `${batch.length} event${batch.length > 1 ? 's' : ''}` + + await fetch(`https://${config.host.replace(/\/$/, '')}/e`, { + method: 'POST', + body: JSON.stringify(batch), + headers: { 'Content-Type': 'application/json' }, + // TODO: add a timeout signal to make sure we retry if capture is slow, instead of failing the export + }).then( + (res) => { + if (res.ok) { + console.log(`Flushed ${batchDescription} to ${config.host}`) + } else if (res.status >= 500) { + // Server error, retry the batch later + console.error( + `Failed to submit ${batchDescription} to ${config.host} due to server error: ${res.status} ${res.statusText}` + ) + throw new RetryError(`Server error: ${res.status} ${res.statusText}`) + } else { + // node-fetch handles 300s internaly, so we're left with 400s here: skip the batch and move forward + // We might have old events in ClickHouse that don't pass new stricter checks, don't fail the whole export if that happens + console.warn( + `Skipping ${batchDescription}, rejected by ${config.host}: ${res.status} ${res.statusText}` + ) + } + }, + (err) => { + if (err.name === 'AbortError' || err.name === 'FetchError') { + // Network / timeout error, retry the batch later + // See https://github.com/node-fetch/node-fetch/blob/2.x/ERROR-HANDLING.md + console.error( + `Failed to submit ${batchDescription} to ${config.host} due to network error`, + err + ) + throw new RetryError(`Target is unreachable: ${(err as Error).message}`) + } + // Other errors are rethrown to stop the export + console.error(`Failed to submit ${batchDescription} to ${config.host} due to unexpected error`, err) + throw err + } + ) + } + }, +} + +module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js new file mode 100644 index 0000000000000..e8fe1cf80ad20 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js @@ -0,0 +1,13 @@ +const { pathsToModuleNameMapper } = require('ts-jest/utils') +const { compilerOptions } = require('./tsconfig') + +const moduleNameMapper = undefined +if (compilerOptions.paths) { + moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) +} + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + moduleNameMapper, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1be72dd066e7bc6f3e58160e12335984530e1ef8 GIT binary patch literal 3526 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 By?+1z literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json new file mode 100644 index 0000000000000..f75d474460828 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json @@ -0,0 +1,59 @@ +{ + "name": "posthog-plugin-replicator", + "version": "1.1.1", + "description": "Replicate PostHog event stream in another PostHog instance", + "keywords": [ + "posthog", + "plugin", + "replication" + ], + "main": "index.ts", + "repository": "github:PostHog/posthog-plugin-replicator", + "bugs": { + "url": "https://github.com/PostHog/posthog-plugin-replicator/issues" + }, + "homepage": "https://github.com/PostHog/posthog-plugin-replicator#readme", + "author": "PostHog ", + "scripts": { + "test": "jest .", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check .", + "prepublishOnly": "yarn test", + "typecheck": "tsc" + }, + "dependencies": {}, + "devDependencies": { + "@posthog/plugin-contrib": "^0.0.3", + "@posthog/plugin-scaffold": "^1.3.4", + "@types/jest": "^26.0.19", + "@types/node-fetch": "^2.5.10", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.3.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "husky": "~4.3.6", + "jest": "^26.6.3", + "jest-fetch-mock": "^3.0.3", + "lint-staged": "~10.5.3", + "msw": "^0.49.3", + "node-fetch": "^2.6.1", + "prettier": "^2.2.1", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && tsc --noEmit" + } + }, + "lint-staged": { + "*.{js,ts}": "eslint --fix", + "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/plugin.json new file mode 100644 index 0000000000000..84508835b778c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/plugin.json @@ -0,0 +1,47 @@ +{ + "name": "Replicator", + "url": "https://github.com/PostHog/posthog-plugin-replicator", + "description": "Replicate PostHog event stream in another PostHog instance", + "main": "index.ts", + "config": [ + { + "key": "host", + "hint": "E.g. posthog.yourcompany.com", + "name": "Host", + "type": "string", + "required": true + }, + { + "key": "project_api_key", + "hint": "Grab it from e.g. https://posthog.yourcompany.com/project/settings", + "name": "Project API Key", + "type": "string", + "required": true + }, + { + "key": "replication", + "hint": "How many times should each event be sent", + "name": "Replication", + "type": "string", + "default": "1", + "required": false + }, + { + "key": "events_to_ignore", + "name": "Events to ignore", + "type": "string", + "default": "", + "hint": "Comma-separated list of events to ignore, e.g. $pageleave, purchase", + "required": false + }, + { + "key": "disable_geoip", + "hint": "Add $disable_geoip so that the receiving PostHog instance doesn't try to resolve the IP address.", + "name": "Disable Geo IP?", + "type": "choice", + "choices": ["Yes", "No"], + "default": "No", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/autocapture-event.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/autocapture-event.json new file mode 100644 index 0000000000000..470aa736d9887 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/autocapture-event.json @@ -0,0 +1,177 @@ +{ + "distinct_id": "12345", + "event": "$autocapture", + "properties": { + "$ip": "127.0.0.1", + "$os": "Mac OS X", + "$browser": "Firefox" + }, + "timestamp": "2022-12-06T12:54:30.810Z", + "uuid": "0184e780-8f2b-0000-9e00-4cdcba315fe9", + "elements": [ + { + "attributes": { "attr__class": "view-line", "attr__style": "top:396px;height:18px;" }, + "order": 0, + "tag_name": "div", + "attr_class": "view-line", + "nth_child": 18, + "nth_of_type": 18 + }, + { + "attributes": { + "attr__aria-hidden": "true", + "attr__class": "view-lines monaco-mouse-cursor-text", + "attr__data-mprt": "7", + "attr__role": "presentation", + "attr__style": "position: absolute; font-family: Menlo, Monaco, \\\"Courier New\\\", monospace; font-weight: normal; font-size: 12px; font-feature-settings: \\\"liga\\\" 0, \\\"calt\\\" 0; line-height: 18px; letter-spacing: 0px; width: 899px; height: 1438px;" + }, + "order": 1, + "tag_name": "div", + "attr_class": "view-lines monaco-mouse-cursor-text", + "nth_child": 4, + "nth_of_type": 4 + }, + { + "attributes": { + "attr__class": "lines-content monaco-editor-background", + "attr__style": "position: absolute; overflow: hidden; width: 1000000px; height: 1000000px; transform: translate3d(0px, 0px, 0px); contain: strict; top: -93px; left: 0px;" + }, + "order": 2, + "tag_name": "div", + "attr_class": "lines-content monaco-editor-background", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { + "attr__class": "monaco-scrollable-element editor-scrollable vs-dark mac", + "attr__data-mprt": "5", + "attr__role": "presentation", + "attr__style": "position: absolute; overflow: hidden; left: 62px; width: 899px; height: 700px;" + }, + "order": 3, + "tag_name": "div", + "attr_class": "monaco-scrollable-element editor-scrollable vs-dark mac", + "nth_child": 2, + "nth_of_type": 2 + }, + { + "attributes": { + "attr__class": "overflow-guard", + "attr__data-mprt": "3", + "attr__style": "width: 961px; height: 700px;" + }, + "order": 4, + "tag_name": "div", + "attr_class": "overflow-guard", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { + "attr__class": "monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused", + "attr__data-uri": "file:///index.ts", + "attr__role": "code", + "attr__style": "width: 961px; height: 700px;" + }, + "order": 5, + "tag_name": "div", + "attr_class": "monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { + "attr__data-keybinding-context": "2", + "attr__data-mode-id": "typescript", + "attr__style": "width: 100%;" + }, + "order": 6, + "tag_name": "div", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { + "attr__style": "display: flex; position: relative; text-align: initial; width: 100%; height: 700px;" + }, + "order": 7, + "tag_name": "section", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { "attr__class": "Field flex gap-2 flex-col" }, + "order": 8, + "tag_name": "div", + "attr_class": "Field flex gap-2 flex-col", + "nth_child": 3, + "nth_of_type": 2 + }, + { + "attributes": { "attr__class": "PluginSource" }, + "order": 9, + "tag_name": "form", + "attr_class": "PluginSource", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { "attr__class": "ant-drawer-body" }, + "order": 10, + "tag_name": "div", + "attr_class": "ant-drawer-body", + "nth_child": 2, + "nth_of_type": 2 + }, + { + "attributes": { "attr__class": "ant-drawer-wrapper-body" }, + "order": 11, + "tag_name": "div", + "attr_class": "ant-drawer-wrapper-body", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { "attr__class": "ant-drawer-content" }, + "order": 12, + "tag_name": "div", + "attr_class": "ant-drawer-content", + "nth_child": 1, + "nth_of_type": 1 + }, + { + "attributes": { "attr__class": "ant-drawer-content-wrapper", "attr__style": "width: min(90vw, 64rem);" }, + "order": 13, + "tag_name": "div", + "attr_class": "ant-drawer-content-wrapper", + "nth_child": 2, + "nth_of_type": 2 + }, + { + "attributes": { + "attr__class": "ant-drawer ant-drawer-left ant-drawer-open", + "attr__style": "z-index: 950;", + "attr__tabindex": "-1" + }, + "order": 14, + "tag_name": "div", + "attr_class": "ant-drawer ant-drawer-left ant-drawer-open", + "nth_child": 1, + "nth_of_type": 1 + }, + { "attributes": {}, "order": 15, "tag_name": "div", "nth_child": 12, "nth_of_type": 7 }, + { + "attributes": { + "attr__class": "ant-scrolling-effect", + "attr__style": "touch-action: none; width: calc(100% - 15px); overflow: hidden;" + }, + "order": 16, + "tag_name": "body", + "attr_class": "ant-scrolling-effect", + "nth_child": 7, + "nth_of_type": 1 + } + ], + "token": "phc_1234" +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/event.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/event.json new file mode 100644 index 0000000000000..1646271b24349 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/event.json @@ -0,0 +1,9 @@ +{ + "distinct_id": "1234", + "event": "my-event", + "properties": { + "$ip": "127.0.0.1", + "foo": "bar" + }, + "token": "phc_1234" +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/events-to-ignore.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/events-to-ignore.json new file mode 100644 index 0000000000000..588092c7c8234 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/events-to-ignore.json @@ -0,0 +1,29 @@ +[ + { + "distinct_id": "1234", + "event": "my-event-alpha", + "properties": { + "$ip": "127.0.0.1", + "foo": "bar" + }, + "token": "phc_1234" + }, + { + "distinct_id": "1234", + "event": "my-event-beta", + "properties": { + "$ip": "127.0.0.1", + "foo": "bar" + }, + "token": "phc_1234" + }, + { + "distinct_id": "1234", + "event": "my-event-gamma", + "properties": { + "$ip": "127.0.0.1", + "foo": "bar" + }, + "token": "phc_1234" + } +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts new file mode 100644 index 0000000000000..0ebe52ba221d3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts @@ -0,0 +1,353 @@ +import { RetryError } from '@posthog/plugin-scaffold' +import { MockedRequest, rest } from 'msw' +import { setupServer } from 'msw/node' +import { FetchError } from 'node-fetch' + +const plugin = require('../index') + +const captureHost = 'localhost:8000' +const captureUrl = `https://${captureHost}/e` + +const config = { + host: captureHost, + project_api_key: 'test', + replication: 1, + events_to_ignore: 'my-event-alpha, my-event-beta, my-event-gamma', +} + +const mockEvent = require('./data/event.json') +const mockAutocaptureEvent = require('./data/autocapture-event.json') +const mockEventsToIgnore = require('./data/events-to-ignore.json') + +describe('payload contents', () => { + const mswServer = setupServer() + + beforeAll(() => { + mswServer.listen() + }) + + afterAll(() => { + mswServer.events.removeAllListeners() + mswServer.resetHandlers() + mswServer.close() + }) + + describe('event pre-processing', () => { + // Helper handler to accept one single request to the capture endpoint, return a 200 and capture the incoming request. + const acceptAndCaptureRequest = () => { + return new Promise((resolve, reject) => { + mswServer.use( + rest.post(captureUrl, (req, res, ctx) => { + if (req.headers.get('Content-Type') != 'application/json') { + return res(ctx.status(400), ctx.json({ errorMessage: 'Bad content type' })) + } + resolve(req) + return res.once(ctx.json({ status: 1 })) + }) + ) + mswServer.events.on('request:unhandled', (req) => { + reject(new Error(`The ${req.method} ${req.url.href} request was unhandled.`)) + }) + }) + } + + it('should handle a single event', async () => { + const req = acceptAndCaptureRequest() + await plugin.onEvent(mockEvent, { config }) + const body = await req.then((res) => res.json()) + + expect(body).toEqual([ + { + distinct_id: '1234', + event: 'my-event', + properties: { foo: 'bar', $ip: '127.0.0.1' }, + token: 'test', + }, + ]) + }) + + it('should skip ignored events', async () => { + let requestHandled = false + + mswServer.use( + rest.post(captureUrl, (_req, res, ctx) => { + requestHandled = true + return res.once(ctx.json({ status: 1 })) + }) + ) + for (const event of mockEventsToIgnore) { + await plugin.onEvent(event, { config }) + } + expect(requestHandled).toBe(false) + await plugin.onEvent(mockEvent, { config }) + expect(requestHandled).toBe(true) + }) + + it('should reuse the values for timestamp, event, uuid', async () => { + // This is important to ensure that we end up sending the correct + // values for the properties that we dedup. + // NOTE: we should be reasonably confident that these are the + // values we'd receive as per the functional test here: + // https://github.com/PostHog/posthog/blob/771691e8bdd6bf4465887b88d0a6019c9b4b91d6/plugin-server/functional_tests/exports-v2.test.ts#L151 + + const req = acceptAndCaptureRequest() + await plugin.onEvent( + { distinct_id: '1234', event: 'my-event', sent_at: 'asdf', uuid: 'asdf-zxcv' }, + { config } + ) + const body = await req.then((res) => res.json()) + + expect(body).toEqual([ + { + distinct_id: '1234', + event: 'my-event', + sent_at: 'asdf', + uuid: 'asdf-zxcv', + token: 'test', + }, + ]) + }) + + it('should correctly reverse the autocapture format', async () => { + const req = acceptAndCaptureRequest() + await plugin.onEvent(mockAutocaptureEvent, { config }) + const body = await req.then((res) => res.json()) + expect(body).toEqual([ + { + distinct_id: '12345', + event: '$autocapture', + + timestamp: '2022-12-06T12:54:30.810Z', + token: 'test', + uuid: '0184e780-8f2b-0000-9e00-4cdcba315fe9', + properties: { + $browser: 'Firefox', + $os: 'Mac OS X', + $ip: '127.0.0.1', + $elements: [ + { + order: 0, + tag_name: 'div', + attr_class: 'view-line', + nth_child: 18, + nth_of_type: 18, + attr__class: 'view-line', + attr__style: 'top:396px;height:18px;', + }, + { + order: 1, + tag_name: 'div', + attr_class: 'view-lines monaco-mouse-cursor-text', + nth_child: 4, + nth_of_type: 4, + 'attr__aria-hidden': 'true', + attr__class: 'view-lines monaco-mouse-cursor-text', + 'attr__data-mprt': '7', + attr__role: 'presentation', + attr__style: + 'position: absolute; font-family: Menlo, Monaco, \\"Courier New\\", monospace; font-weight: normal; font-size: 12px; font-feature-settings: \\"liga\\" 0, \\"calt\\" 0; line-height: 18px; letter-spacing: 0px; width: 899px; height: 1438px;', + }, + { + order: 2, + tag_name: 'div', + attr_class: 'lines-content monaco-editor-background', + nth_child: 1, + nth_of_type: 1, + attr__class: 'lines-content monaco-editor-background', + attr__style: + 'position: absolute; overflow: hidden; width: 1000000px; height: 1000000px; transform: translate3d(0px, 0px, 0px); contain: strict; top: -93px; left: 0px;', + }, + { + order: 3, + tag_name: 'div', + attr_class: 'monaco-scrollable-element editor-scrollable vs-dark mac', + nth_child: 2, + nth_of_type: 2, + attr__class: 'monaco-scrollable-element editor-scrollable vs-dark mac', + 'attr__data-mprt': '5', + attr__role: 'presentation', + attr__style: + 'position: absolute; overflow: hidden; left: 62px; width: 899px; height: 700px;', + }, + { + order: 4, + tag_name: 'div', + attr_class: 'overflow-guard', + nth_child: 1, + nth_of_type: 1, + attr__class: 'overflow-guard', + 'attr__data-mprt': '3', + attr__style: 'width: 961px; height: 700px;', + }, + { + order: 5, + tag_name: 'div', + attr_class: + 'monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused', + nth_child: 1, + nth_of_type: 1, + attr__class: + 'monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused', + 'attr__data-uri': 'file:///index.ts', + attr__role: 'code', + attr__style: 'width: 961px; height: 700px;', + }, + { + order: 6, + tag_name: 'div', + nth_child: 1, + nth_of_type: 1, + 'attr__data-keybinding-context': '2', + 'attr__data-mode-id': 'typescript', + attr__style: 'width: 100%;', + }, + { + order: 7, + tag_name: 'section', + nth_child: 1, + nth_of_type: 1, + attr__style: + 'display: flex; position: relative; text-align: initial; width: 100%; height: 700px;', + }, + { + order: 8, + tag_name: 'div', + attr_class: 'Field flex gap-2 flex-col', + nth_child: 3, + nth_of_type: 2, + attr__class: 'Field flex gap-2 flex-col', + }, + { + order: 9, + tag_name: 'form', + attr_class: 'PluginSource', + nth_child: 1, + nth_of_type: 1, + attr__class: 'PluginSource', + }, + { + order: 10, + tag_name: 'div', + attr_class: 'ant-drawer-body', + nth_child: 2, + nth_of_type: 2, + attr__class: 'ant-drawer-body', + }, + { + order: 11, + tag_name: 'div', + attr_class: 'ant-drawer-wrapper-body', + nth_child: 1, + nth_of_type: 1, + attr__class: 'ant-drawer-wrapper-body', + }, + { + order: 12, + tag_name: 'div', + attr_class: 'ant-drawer-content', + nth_child: 1, + nth_of_type: 1, + attr__class: 'ant-drawer-content', + }, + { + order: 13, + tag_name: 'div', + attr_class: 'ant-drawer-content-wrapper', + nth_child: 2, + nth_of_type: 2, + attr__class: 'ant-drawer-content-wrapper', + attr__style: 'width: min(90vw, 64rem);', + }, + { + order: 14, + tag_name: 'div', + attr_class: 'ant-drawer ant-drawer-left ant-drawer-open', + nth_child: 1, + nth_of_type: 1, + attr__class: 'ant-drawer ant-drawer-left ant-drawer-open', + attr__style: 'z-index: 950;', + attr__tabindex: '-1', + }, + { order: 15, tag_name: 'div', nth_child: 12, nth_of_type: 7 }, + { + order: 16, + tag_name: 'body', + attr_class: 'ant-scrolling-effect', + nth_child: 7, + nth_of_type: 1, + attr__class: 'ant-scrolling-effect', + attr__style: 'touch-action: none; width: calc(100% - 15px); overflow: hidden;', + }, + ], + }, + }, + ]) + }) + }) + + describe('error management', () => { + it('succeeds and logs on 200', async () => { + const logSpy = jest.spyOn(console, 'log') + mswServer.use( + rest.post(captureUrl, (_, res, ctx) => { + return res(ctx.status(200)) + }) + ) + await plugin.onEvent(mockEvent, { config }) + expect(logSpy).toHaveBeenCalledWith('Flushed 1 event to localhost:8000') + logSpy.mockReset() + }) + + it('skips and warns without throwing on 400s', async () => { + const logSpy = jest.spyOn(console, 'warn') + mswServer.use( + rest.post(captureUrl, (_, res, ctx) => { + return res(ctx.status(400)) + }) + ) + await plugin.onEvent(mockEvent, { config }) + expect(logSpy).toHaveBeenCalledWith('Skipping 1 event, rejected by localhost:8000: 400 Bad Request') + logSpy.mockReset() + }) + + it('throws RetryError on 500s', async () => { + const logSpy = jest.spyOn(console, 'error') + mswServer.use( + rest.post(captureUrl, (_, res, ctx) => { + return res(ctx.status(500)) + }) + ) + await expect(plugin.onEvent(mockEvent, { config })).rejects.toThrow(RetryError) + expect(logSpy).toHaveBeenCalledWith( + 'Failed to submit 1 event to localhost:8000 due to server error: 500 Internal Server Error' + ) + logSpy.mockReset() + }) + + it('throws RetryError on ECONNREFUSED', async () => { + const logSpy = jest.spyOn(console, 'error') + mswServer.close() + await expect(plugin.onEvent(mockEvent, { config })).rejects.toThrow(RetryError) + expect(logSpy).toHaveBeenCalledWith( + 'Failed to submit 1 event to localhost:8000 due to network error', + expect.any(FetchError) + ) + logSpy.mockReset() + }) + + it('rethrows other fetch errors unhandled', async () => { + const badConfig = { + host: '/invalid', + project_api_key: 'test', + replication: 1, + events_to_ignore: '', + } + const logSpy = jest.spyOn(console, 'error') + await expect(plugin.onEvent(mockEvent, { config: badConfig })).rejects.toThrow( + TypeError('Only absolute URLs are supported') + ) + expect(logSpy).toHaveBeenCalledTimes(1) + logSpy.mockReset() + }) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json new file mode 100644 index 0000000000000..c8be791c4e505 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2018", + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "types": ["node", "jest"], + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true, + "resolveJsonModule": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock new file mode 100644 index 0000000000000..a584fc54d66cb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock @@ -0,0 +1,5634 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@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.0.0", "@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.12.13" + +"@babel/compat-data@^7.13.8": + version "7.13.11" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.11.tgz#9c8fe523c206979c9a81b1e12fe50c1254f1aa35" + integrity sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg== + +"@babel/core@^7.1.0", "@babel/core@^7.7.5": + 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.9" + "@babel/helper-compilation-targets" "^7.13.10" + "@babel/helper-module-transforms" "^7.13.0" + "@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" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^6.3.0" + source-map "^0.5.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== + dependencies: + "@babel/types" "^7.13.0" + jsesc "^2.5.1" + source-map "^0.5.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-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-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.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.13" + +"@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.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.13.0" + "@babel/types" "^7.13.0" + lodash "^4.17.19" + +"@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.12.13", "@babel/helper-plugin-utils@^7.8.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-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.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-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-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.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/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" + "@babel/types" "^7.13.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.10": + version "7.13.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.11.tgz#f93ebfc99d21c1772afbbaa153f47e7ce2f50b88" + integrity sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q== + +"@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.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-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-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.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-top-level-await@^7.8.3": + 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.12.13" + +"@babel/template@^7.12.13", "@babel/template@^7.3.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.1.0", "@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.12.13", "@babel/types@^7.13.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + 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" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@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" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@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@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@maxmind/geoip2-node@^3.4.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" + integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== + dependencies: + camelcase-keys "^7.0.0" + ip6addr "^0.2.5" + maxmind "^4.2.0" + +"@mswjs/cookies@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.2.2.tgz#b4e207bf6989e5d5427539c2443380a33ebb922b" + integrity sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g== + dependencies: + "@types/set-cookie-parser" "^2.4.0" + set-cookie-parser "^2.4.6" + +"@mswjs/interceptors@^0.17.5": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.6.tgz#7f7900f4cd26f70d9f698685e4485b2f4101d26a" + integrity sha512-201pBIWehTURb6q8Gheu4Zhvd3Ox1U4BJq5KiOQsYzkWyfiOG4pwcz5hPZIEryztgrf8/sdwABpvY757xMmfrQ== + dependencies: + "@open-draft/until" "^1.0.3" + "@types/debug" "^4.1.7" + "@xmldom/xmldom" "^0.8.3" + debug "^4.3.3" + headers-polyfill "^3.1.0" + outvariant "^1.2.1" + strict-event-emitter "^0.2.4" + web-encoding "^1.1.5" + +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + +"@open-draft/until@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-1.0.3.tgz#db9cc719191a62e7d9200f6e7bab21c5b848adca" + integrity sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q== + +"@posthog/plugin-contrib@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@posthog/plugin-contrib/-/plugin-contrib-0.0.3.tgz#d0772c6dd9ec9944ebee9dc475e1e781256b0b5f" + integrity sha512-0HrE8AuPv3OLZA93RrJDbljn9u5D/wmiIkBCeckU3LL67LNozDIJgKsY4Td91zgc+b4Rlx/X0MJNp2l6BHbQqg== + +"@posthog/plugin-scaffold@^1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.3.4.tgz#56a36f55c8709b89968501c15dd9f3cb216af6c7" + integrity sha512-69AC7GA3sU/z5X6SVlH7mgj+0XgolvOp9IUtvRNA4CXF/OglFM81SXbTkURxL9VBSNfdAZxRp+8x+h4rmyj4dw== + dependencies: + "@maxmind/geoip2-node" "^3.4.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.13" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.13.tgz#bc6eea53975fdf163aff66c086522c6f293ae4cf" + integrity sha512-CC6amBNND16pTk4K3ZqKIaba6VGKAQs3gMjEY17FVd56oI/ZWt9OhS6riYiWv9s8ENbYUi7p8lgqb0QHQvUKQQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.11.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" + integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== + dependencies: + "@babel/types" "^7.3.0" + +"@types/cookie@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + +"@types/debug@^4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + dependencies: + "@types/ms" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^26.0.19": + 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" + +"@types/js-levenshtein@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/js-levenshtein/-/js-levenshtein-1.1.1.tgz#ba05426a43f9e4e30b631941e0aa17bf0c890ed5" + integrity sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g== + +"@types/json-schema@^7.0.3": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/ms@*": + version "0.7.31" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + +"@types/node-fetch@^2.5.10": + version "2.5.10" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*": + version "14.14.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" + integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" + integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== + +"@types/set-cookie-parser@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/set-cookie-parser/-/set-cookie-parser-2.4.2.tgz#b6a955219b54151bfebd4521170723df5e13caad" + integrity sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@types/yargs@^15.0.0": + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.12.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.18.0.tgz#50fbce93211b5b690895d20ebec6fe8db48af1f6" + integrity sha512-Lzkc/2+7EoH7+NjIWLS2lVuKKqbEmJhtXe3rmfA8cyiKnZm3IfLf51irnBcmow8Q/AptVV0XBZmBJKuUJTe6cQ== + dependencies: + "@typescript-eslint/experimental-utils" "4.18.0" + "@typescript-eslint/scope-manager" "4.18.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.18.0.tgz#ed6c955b940334132b17100d2917449b99a91314" + integrity sha512-92h723Kblt9JcT2RRY3QS2xefFKar4ZQFVs3GityOKWQYgtajxt/tuXIzL7sVCUlM1hgreiV5gkGYyBpdOwO6A== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.18.0" + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/typescript-estree" "4.18.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.12.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.18.0.tgz#a211edb14a69fc5177054bec04c95b185b4dde21" + integrity sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA== + dependencies: + "@typescript-eslint/scope-manager" "4.18.0" + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/typescript-estree" "4.18.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz#d75b55234c35d2ff6ac945758d6d9e53be84a427" + integrity sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ== + dependencies: + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/visitor-keys" "4.18.0" + +"@typescript-eslint/types@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.18.0.tgz#bebe323f81f2a7e2e320fac9415e60856267584a" + integrity sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A== + +"@typescript-eslint/typescript-estree@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz#756d3e61da8c16ab99185532c44872f4cd5538cb" + integrity sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg== + dependencies: + "@typescript-eslint/types" "4.18.0" + "@typescript-eslint/visitor-keys" "4.18.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz#4e6fe2a175ee33418318a029610845a81e2ff7b6" + integrity sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw== + dependencies: + "@typescript-eslint/types" "4.18.0" + eslint-visitor-keys "^2.0.0" + +"@xmldom/xmldom@^0.8.3": + version "0.8.6" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440" + integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg== + +"@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== + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +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-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.5: + version "8.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe" + integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA== + +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@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + 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@^7.0.2: + version "7.2.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.1.tgz#a5ac226171912447683524fa2f1248fcf8bac83d" + integrity sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-includes@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + 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-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-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +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 sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +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== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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.1.0: + 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" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.14.5: + 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.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + +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" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +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" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +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" + +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@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== + dependencies: + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" + +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.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001181: + version "1.0.30001203" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz#a7a34df21a387d9deffcd56c000b8cf5ab540580" + integrity sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +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@^2.0.0: + 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.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.1: + 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== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^3.4.2: + 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" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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.5.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + +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-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +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@^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 sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +colorette@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +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== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + +cross-fetch@^3.0.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" + integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== + dependencies: + node-fetch "2.6.1" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@^2.2.0, debug@^2.3.3, 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.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@^4.3.3: + 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" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +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" + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +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" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +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" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.3.649: + version "1.3.692" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.692.tgz#4d00479055a7282cdd1b19caec09ed7779529640" + integrity sha512-Ix+zDUAXWZuUzqKdhkgN5dP7ZM+IwMG4yAGFGDLpGJP/3vNEEwuHG1LIhtXUfW0FFV0j38t5PUv2n/3MFSRviQ== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +enquirer@^2.3.5, 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" + +error-ex@^1.2.0, 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" + +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-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" + +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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" + integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== + +eslint-import-resolver-node@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-module-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.22.1: + version "2.22.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" + integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== + dependencies: + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + +eslint-scope@^5.0.0, 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-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint@^7.21.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" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.21" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.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" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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.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: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +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== + +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + 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-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +figures@^3.0.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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.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-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 "^3.1.2" + +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@^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== + +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" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + 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" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +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: + 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-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-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" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.0, 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globals@^13.6.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" + integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.1: + version "11.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +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" + +graceful-fs@^4.1.2, graceful-fs@^4.2.4: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +"graphql@^15.0.0 || ^16.0.0": + version "16.6.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" + integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-bigints@^1.0.1: + 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" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-symbols@^1.0.1, 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-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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +headers-polyfill@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.1.2.tgz#9a4dcb545c5b95d9569592ef7ec0708aab763fbe" + integrity sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA== + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +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== + +husky@~4.3.6: + 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 "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, 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== + +inquirer@^8.2.0: + version "8.2.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +ip6addr@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" + integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + 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-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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@~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.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.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: + 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-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +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.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: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-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-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-node-process@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.0.1.tgz#4fc7ac3a91e8aac58175fe0578abbc56f2831b23" + integrity sha512-5IcdXuf++TTNt3oGl9EBdkvndXA8gmc4bz/Y+mdEpWh3Mcn/+kOw6hI7LD5CocqJWMzeb0I0ClndRVNdEPuJXQ== + +is-number-object@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +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" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is-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== + dependencies: + has-symbols "^1.0.1" + +is-typed-array@^1.1.10, is-typed-array@^1.1.3: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +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-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0, isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-fetch-mock@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz#31749c456ae27b8919d69824f1c2bd85fe0a1f3b" + integrity sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw== + dependencies: + cross-fetch "^3.0.4" + promise-polyfill "^8.1.3" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +js-levenshtein@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + +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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.5.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.1.tgz#4ced6bbd7b77d67fb980e64d9e3e6fb900f97dd6" + integrity sha512-pF73EOsJgwZekbDHEY5VO/yKXUkab/DuvrQB/ANVizbr6UAHJsDdHXuotZYwkJSGQl1JM+ivXaqY+XBDDL4TiA== + dependencies: + abab "^2.0.5" + acorn "^8.0.5" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "6.0.1" + request "^2.88.2" + request-promise-native "^1.0.9" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.4.4" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +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" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@~10.5.3: + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.4.3.tgz#543bcf849d5ffc70602708b69d2daac73f751699" + integrity sha512-wZmkzNiuinOfwrGqAwTCcPw6aKQGTAMGXwG5xeU1WpDjJNeBA35jGBeWxR3OF+R6Yl5Y3dRG+3vE8t6PDcSNHA== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.6" + through "^2.3.8" + wrap-ansi "^7.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, 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, log-symbols@^4.1.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" + +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" + +make-dir@^3.0.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-error@1.x: + 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.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +maxmind@^4.2.0: + version "4.3.8" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.8.tgz#e284edd3619987211ee45909076c6d4fcd2dc4df" + integrity sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg== + dependencies: + mmdb-lib "2.0.2" + tiny-lru "9.0.3" + +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: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.46.0: + version "1.46.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.29" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== + dependencies: + mime-db "1.46.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mmdb-lib@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" + integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +msw@^0.49.3: + version "0.49.3" + resolved "https://registry.yarnpkg.com/msw/-/msw-0.49.3.tgz#c4ca29eddda3e82ad9e36918dda4a7428eddd7fe" + integrity sha512-kRCbDNbNnRq5LC1H/NUceZlrPAvSrMH6Or0mirIuH69NY84xwDruPn/hkXTovIK1KwDwbk+ZdoSyJlpiekLxEA== + dependencies: + "@mswjs/cookies" "^0.2.2" + "@mswjs/interceptors" "^0.17.5" + "@open-draft/until" "^1.0.3" + "@types/cookie" "^0.4.1" + "@types/js-levenshtein" "^1.1.1" + chalk "4.1.1" + chokidar "^3.4.2" + cookie "^0.4.2" + graphql "^15.0.0 || ^16.0.0" + headers-polyfill "^3.1.0" + inquirer "^8.2.0" + is-node-process "^1.0.1" + js-levenshtein "^1.1.6" + node-fetch "^2.6.7" + outvariant "^1.3.0" + path-to-regexp "^6.2.0" + strict-event-emitter "^0.4.3" + type-fest "^2.19.0" + yargs "^17.3.1" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-fetch@2.6.1, node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-fetch@^2.6.7: + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-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== + +normalize-package-data@^2.3.2, 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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + +object-keys@^1.0.12, 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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +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.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" + integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +outvariant@^1.2.1, outvariant@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9" + integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ== + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +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: + 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" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.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-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-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +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@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^5.0.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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-to-regexp@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" + integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^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== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-polyfill@^8.1.3: + version "8.2.0" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.0.tgz#367394726da7561457aba2133c9ceefbd6267da0" + integrity sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g== + +prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +queue-microtask@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" + integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== + +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== + +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^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.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "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@^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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: + 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" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +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== + +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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +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" + +rxjs@^6.6.6: + version "6.6.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" + integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== + dependencies: + tslib "^1.9.0" + +rxjs@^7.5.5: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + dependencies: + tslib "^2.1.0" + +safe-buffer@^5.0.1, 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +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@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.2.1, semver@^7.3.2: + 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" + +semver@^6.0.0, semver@^6.1.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== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-cookie-parser@^2.4.6: + version "2.5.1" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b" + integrity sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ== + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +strict-event-emitter@^0.2.4: + version "0.2.8" + resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz#b4e768927c67273c14c13d20e19d5e6c934b47ca" + integrity sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A== + dependencies: + events "^3.3.0" + +strict-event-emitter@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.4.3.tgz#45d0f75e1dc071eeb7cfbdff864fd2b9172bc257" + integrity sha512-uD0y7Wp3+ifPyfzIS+JrMvSnxFExHytmD5gTkndF1fi8Vrk2uiOY/2At73AwzLHz+RwrchegD8tHdowsfG7raQ== + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.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.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.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.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" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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.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== + +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.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-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +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" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.6, through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tiny-lru@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-9.0.3.tgz#f6a2121f433607a7f338881a23090829c1ea8cae" + integrity sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-jest@^26.4.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: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +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-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +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.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-fest@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.1.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" + integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== + +unbox-primitive@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +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" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + 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@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +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@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.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-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +which-typed-array@^1.1.2: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +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, which@^2.0.2: + 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" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.4: + version "7.4.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" + integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +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@^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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +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@^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@^15.4.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: + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== + 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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js new file mode 100644 index 0000000000000..08c35087eb81b --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js @@ -0,0 +1,28 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier', + 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 12, + sourceType: 'module', + }, + plugins: ['@typescript-eslint'], + rules: { + '@typescript-eslint/explicit-module-boundary-types': 'off', + 'react/prop-types': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-var-requires': 'off', + }, +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore new file mode 100644 index 0000000000000..d1b130a29846c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore @@ -0,0 +1,7 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local +yarn-error.log +.dccache diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit new file mode 100755 index 0000000000000..07c67d33d7b32 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +yarn prettier +yarn lint diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore new file mode 100644 index 0000000000000..db4c6d9b67976 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore @@ -0,0 +1,2 @@ +dist +node_modules \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc new file mode 100644 index 0000000000000..1d085c6d9df25 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc @@ -0,0 +1,7 @@ +{ + "printWidth": 120, + "trailingComma": "all", + "singleQuote": true, + "tabWidth": 2, + "singleAttributePerLine": true +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE new file mode 100644 index 0000000000000..1b5f4d2331387 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023, Ava Labs, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md new file mode 100644 index 0000000000000..6c0ddf70e69da --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md @@ -0,0 +1,108 @@ +# Posthog Route Censor Plugin 🚓 + +This plugin allows you to censor variables from URLs that are passed to PostHog. This is useful because PostHog tracks certain URLs automatically, so if your app contains sensitive data within the URLs (such as sensitive IDs, addresses, etc.), then this offers away to censor that data before it is stored in the PostHog database. + +[See it on NPM here](https://www.npmjs.com/package/@avalabs/posthog-route-censor-plugin). + +## Getting Started + +#### Enable this Plugin for your Posthog Project + +- *coming soon* + +#### Locally +```sh +yarn # installs dependencies +yarn build +``` + +## Plugin Options + +The list of properties censored by the plugin can be configured directly from the PostHog UI. + +```json + { + "key": "routes", + "name": "JSON list of routes following the React Router route patterns. See package README for more details.", + "type": "attachment", + "hint": "See README for more details and example.", + "required": true + }, + { + "key": "properties", + "name": "List of properties to censor", + "type": "string", + "default": "$current_url,$referrer,$pathname,$initial_current_url,initial_pathname,initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + }, + { + "key": "set_properties", + "name": "List of $set properties to censor", + "type": "string", + "default": "$initial_current_url,$initial_pathname,$initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + }, + { + "key": "set_once_properties", + "name": "List of $set_once properties to censor", + "type": "string", + "default": "$initial_current_url,$initial_pathname,$initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + } +``` + +### Routes + +To provide routes, attach a JSON file, similar to the example at `./src/assets/exampleRoutes.json`, that matches the Routes type defined in './src/types/index.ts`. + +The routes JSON includes an array of all pathnames that you would like to censor. The routes should match the pattern defined by the first parameter of the React Router V6 [matchRoutes](https://reactrouter.com/en/main/utils/match-routes) function, with an extra attribte `includes`. `includes` should contain a list of variables from the `path` pattern that you wish to censor. + +#### **Example Routes JSON** + +> `./src/assets/exampleRoutes.json`: + +```json +[ + /** + * This will censor the `driversLicenseId` variable from the URL. + * + * https://example.com/drivers-license/12345 => https://example.com/drivers-license/:driversLicenseId + */ + { + "path": "/drivers-license/:driversLicenseId", + "include": ["driversLicenseId"] + }, + /** + * This will censor the `medicalIdNumber` variable from the URL. + * + * https://example.com/medical-id-number/12345 => https://example.com/medical-id-number/:medicalIdNumber + */ + { + "path": "/medical-id-number/:medicalIdNumber", + "include": ["medicalIdNumber"] + }, + /** + * This will censor the `secretClubId` variable from the URL, but will not sensor the `categoryId` variable. + * + * https://example.com/secret-clubs/12345/abcde => https://example.com/secret-clubs/12345/:secretClubId + */ + { + "path": "/secret-clubs/:categoryId/:secretClubId", + "include": ["secretClubId"] + } +] +``` + +### Properties + +> Note: you probably don't need to change this from the default values. + +`properties`, `set_properties`, and `set_once_properties` are a comma separated list of properties that will be censored by this plugin. All properties in these lists should contain either a full URL (ex: "https://www.example.com/super-secret-id/1234") or a pathname (ex: "/super-secret-id/1234"). The default values should already include all properties with URLs that PostHog tracks by default, but more can be added to this list when configuring your plugin if needed. + +### Caveats: + +- Any properties previously defined for a user by `$set_once` cannot be overwritten by this plugin. It can only overwrite `$set_once` properties when they are initially set. +- The routes JSON must be updated whenever a new route is added to your app. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d93192084f93c19b013f470d6efe3ee17c2a6cc0 GIT binary patch literal 85255 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 BpFjWr literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json new file mode 100644 index 0000000000000..6acaffa3c98a1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json @@ -0,0 +1,50 @@ +{ + "name": "@avalabs/posthog-route-censor-plugin", + "version": "3.0.23", + "description": "Removes route variables from the URLs stored in posthog.", + "author": "Connor Chevli ", + "main": "dist/index.js", + "private": false, + "license": "BSD-3-Clause", + "keywords": [ + "posthog", + "analytics", + "route", + "privacy", + "anonymize" + ], + "scripts": { + "build": "tsc --p tsconfig.json && rollup -c", + "lint": "eslint --fix -c ./.eslintrc.js \"src/**/*.ts*\"", + "prettier": "prettier --write \"src/**/*.ts*\"", + "prepare": "husky install", + "prerelease": "npm version patch && yarn && yarn build" + }, + "dependencies": { + "@posthog/plugin-scaffold": "1.3.4", + "@remix-run/router": "1.5.0" + }, + "devDependencies": { + "@rollup/plugin-node-resolve": "15.0.1", + "@rollup/plugin-typescript": "9.0.2", + "@types/node": "18.14.0", + "@typescript-eslint/eslint-plugin": "5.46.0", + "@typescript-eslint/parser": "5.52.0", + "eslint": "8.34.0", + "eslint-config-prettier": "8.5.0", + "eslint-plugin-prettier": "4.2.1", + "husky": "8.0.3", + "prettier": "2.8.4", + "rollup": "3.7.0", + "rollup-plugin-copy": "3.4.0", + "typescript": "4.9.5" + }, + "homepage": "https://github.com/ava-labs/posthog-route-censor-plugin", + "repository": { + "type": "git", + "url": "https://github.com/ava-labs/posthog-route-censor-plugin" + }, + "bugs": { + "url": "https://github.com/ava-labs/posthog-route-censor-plugin/issues" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json new file mode 100644 index 0000000000000..17089005c3953 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json @@ -0,0 +1,43 @@ +{ + "name": "Route Censor", + "description": "Removes segments of URLs based on route patterns.", + "url": "https://github.com/ava-labs/posthog-route-censor-plugin", + "main": "dist/index.js", + "config": [ + { + "markdown": "Removes segments of URLs based on route patterns. See [Github Repo](https://github.com/ava-labs/posthog-route-censor-plugin) for more details." + }, + { + "key": "routes", + "name": "List of routes following the React Router route patterns.", + "markdown": "[Example Here](https://github.com/ava-labs/posthog-route-censor-plugin/blob/main/src/assets/exampleRoutes.json). See package [README](https://github.com/ava-labs/posthog-route-censor-plugin) for more details.", + "type": "attachment", + "hint": "See README for more details and example.", + "required": true + }, + { + "key": "properties", + "name": "List of properties to censor", + "type": "string", + "default": "$current_url,$referrer,$pathname,$initial_current_url,initial_pathname,initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + }, + { + "key": "set_properties", + "name": "List of $set properties to censor", + "type": "string", + "default": "$initial_current_url,$initial_pathname,$initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + }, + { + "key": "set_once_properties", + "name": "List of $set_once properties to censor", + "type": "string", + "default": "$initial_current_url,$initial_pathname,$initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs new file mode 100644 index 0000000000000..9ee646ca8f6fa --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs @@ -0,0 +1,20 @@ +import typescript from '@rollup/plugin-typescript'; +import nodeResolve from '@rollup/plugin-node-resolve'; + +export default [ + { + input: 'src/index.ts', + output: [ + { + name: 'main', + format: 'cjs', + file: 'dist/index.js' + }, + ], + plugins: [ + // Compile TypeScript files + typescript({ tsconfig: './tsconfig.json' }), + nodeResolve(), + ], + }, +]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json new file mode 100644 index 0000000000000..342ac7192a4e3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json @@ -0,0 +1,14 @@ +[ + { + "path": "/drivers-license/:driversLicenseId", + "include": ["driversLicenseId"] + }, + { + "path": "/medical-id-number/:medicalIdNumber", + "include": ["medicalIdNumber"] + }, + { + "path": "/secret-clubs/:category/:secretClubId", + "include": ["secretClubId"] + } +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts new file mode 100644 index 0000000000000..7f5d27e46d44c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts @@ -0,0 +1,10 @@ +import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold'; +export declare const setupPlugin: ({ global, config }: any) => void; +/** + * Runs on every event + * + * @param event PostHog event + * @param meta metadata defined in the plugin.json + * @returns modified event + */ +export declare const processEvent: (event: PluginEvent, { global }: PluginMeta>) => PluginEvent; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts new file mode 100644 index 0000000000000..64d95f79c4a7a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts @@ -0,0 +1,41 @@ +import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold'; +import { censorProperties } from 'utils/censorProperties'; + +export const setupPlugin = ({ global, config, attachments }: any) => { + global.properties = config.properties.split(','); + global.setProperties = config.set_properties.split(','); + global.setOnceProperties = config.set_once_properties.split(','); + global.routes = attachments?.routes?.contents ? JSON.parse(attachments?.routes?.contents) : undefined; + + console.debug('Plugin set up with global config: ', JSON.stringify(global, null, 2)); +}; + +/** + * Runs on every event + * + * @param event PostHog event + * @param meta metadata defined in the plugin.json + * @returns modified event + */ +export const processEvent = (event: PluginEvent, { global }: PluginMeta>): PluginEvent => { + // If we don't have routes to censor, then just return the input event. + if (!global.routes?.length) { + return event; + } + + return { + ...event, + properties: { + ...event.properties, + ...censorProperties(event.properties, global.routes, global.properties), + }, + $set: { + ...event.$set, + ...censorProperties(event.$set, global.routes, global.setProperties), + }, + $set_once: { + ...event.$set_once, + ...censorProperties(event.$set_once, global.routes, global.setOnceProperties), + }, + }; +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts new file mode 100644 index 0000000000000..7d0616a6991ba --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts @@ -0,0 +1,6 @@ +export type Route = { + path: string; + include: string[]; +}; + +export type Routes = Route[]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts new file mode 100644 index 0000000000000..f519231d1220e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts @@ -0,0 +1,40 @@ +import { Properties } from '@posthog/plugin-scaffold'; +import { Routes } from 'types'; +import { censorUrlPath, checkIsValidHttpUrl } from 'utils'; + +/** + * Removes addresses and hashes from URLs stored in posthog properties. + * + * @param properties Full list of properties passed into the event. + * @param propertiesToAnonymize List of properties that should be anonymized. + * @returns The anonymized list of properties. + */ +export const censorProperties = ( + properties: Properties | undefined, + routes: Routes | undefined, + propertiesToAnonymize: string[], +): Partial => { + if (!properties) return {}; + const censoredProperties: Partial = {}; + + propertiesToAnonymize.forEach((propertyKey) => { + const propertyValue = properties[propertyKey]; + if (!propertyValue || typeof propertyValue !== 'string') { + return; + } + + const isValidUrl = checkIsValidHttpUrl(propertyValue); + // For full URLs, first parse out the path. + if (isValidUrl) { + const url = new URL(propertyValue); + const censoredPath = censorUrlPath(url.pathname, routes); + // Piece back together the URL but with the censored path. + censoredProperties[propertyKey] = `${url.origin}${censoredPath}`; + return; + } + // Otherwise assume the propertyValue is a url path (instead of the full url) and we can censor it directly. + censoredProperties[propertyKey] = censorUrlPath(propertyValue, routes); + }); + + return censoredProperties; +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts new file mode 100644 index 0000000000000..58298364958b1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts @@ -0,0 +1,41 @@ +import { matchRoutes } from '@remix-run/router'; +import { Routes } from 'types'; + +/** + * Take a URL path and applies the react router v6 route matching algorithm + * to censor portions of the URL + * + * @param path URL path to censor + * @returns same URL path, but with all included variables censored + */ +export const censorUrlPath = (path: string, routes?: Routes) => { + if (typeof path !== 'string') { + return path; + } + + // If no routes, then just censor all paths to be safe. + if (typeof routes === 'undefined') { + return '/:censoredFullPath'; + } + + // Find matches with URL path using React Router's parsing algoritm. + const matches = matchRoutes(routes, path); + + // If no matches, then no need to censor anything. + if (!matches?.length) { + return path; + } + + let censoredPath = path; + // Check each match, if the variable is in the "includes" array, then censor it. + matches.forEach((match) => { + match.route.include.forEach((variableToCensor) => { + const value = match.params[variableToCensor]; + if (!value) { + return; + } + censoredPath = censoredPath.replace(value, `:${variableToCensor}`); + }); + }); + return censoredPath; +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts new file mode 100644 index 0000000000000..6bf63c5fc78c1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts @@ -0,0 +1,8 @@ +export const checkIsValidHttpUrl = (str: string) => { + try { + const url = new URL(str); + return url.protocol === 'http:' || url.protocol === 'https:'; + } catch (err) { + return false; + } +}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts new file mode 100644 index 0000000000000..0158a5ece6cfe --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts @@ -0,0 +1,2 @@ +export * from './checkIsValidHttpUrl'; +export * from './censorUrlPath'; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json new file mode 100644 index 0000000000000..2f60eabf46355 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "allowJs": false, + "allowSyntheticDefaultImports": true, + "baseUrl": "src", + "declaration": false, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": false, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "ESNext", + "moduleResolution": "Node", + "outDir": "dist", + "resolveJsonModule": true, + "rootDir": "src", + "skipLibCheck": true, + "sourceMap": false, + "strict": true, + "target": "ESNext", + "useDefineForClassFields": true + }, + "include": ["./src"], + "exclude": ["dist"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock new file mode 100644 index 0000000000000..b4a1490df35dc --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock @@ -0,0 +1,1292 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.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" + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.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@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@maxmind/geoip2-node@^3.4.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" + integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== + dependencies: + camelcase-keys "^7.0.0" + ip6addr "^0.2.5" + maxmind "^4.2.0" + +"@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" + +"@posthog/plugin-scaffold@1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.3.4.tgz#56a36f55c8709b89968501c15dd9f3cb216af6c7" + integrity sha512-69AC7GA3sU/z5X6SVlH7mgj+0XgolvOp9IUtvRNA4CXF/OglFM81SXbTkURxL9VBSNfdAZxRp+8x+h4rmyj4dw== + dependencies: + "@maxmind/geoip2-node" "^3.4.0" + +"@remix-run/router@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.5.0.tgz#57618e57942a5f0131374a9fdb0167e25a117fdc" + integrity sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg== + +"@rollup/plugin-node-resolve@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" + integrity sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg== + dependencies: + "@rollup/pluginutils" "^5.0.1" + "@types/resolve" "1.20.2" + deepmerge "^4.2.2" + is-builtin-module "^3.2.0" + is-module "^1.0.0" + resolve "^1.22.1" + +"@rollup/plugin-typescript@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-9.0.2.tgz#c0cdfa39e267f306ff7316405a35406d5821eaa7" + integrity sha512-/sS93vmHUMjzDUsl5scNQr1mUlNE1QjBBvOhmRwJCH8k2RRhDIm3c977B3wdu3t3Ap17W6dDeXP3hj1P1Un1bA== + dependencies: + "@rollup/pluginutils" "^5.0.1" + resolve "^1.22.1" + +"@rollup/pluginutils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@types/estree@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/fs-extra@^8.0.1": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.2.tgz#7125cc2e4bdd9bd2fc83005ffdb1d0ba00cca61f" + integrity sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg== + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/node@*": + version "18.15.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" + integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== + +"@types/node@18.14.0": + version "18.14.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" + integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== + +"@types/resolve@1.20.2": + version "1.20.2" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== + +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + +"@typescript-eslint/eslint-plugin@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz#9a96a713b9616c783501a3c1774c9e2b40217ad0" + integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== + dependencies: + "@typescript-eslint/scope-manager" "5.46.0" + "@typescript-eslint/type-utils" "5.46.0" + "@typescript-eslint/utils" "5.46.0" + debug "^4.3.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" + integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== + dependencies: + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz#60790b14d0c687dd633b22b8121374764f76ce0d" + integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== + dependencies: + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/visitor-keys" "5.46.0" + +"@typescript-eslint/scope-manager@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" + integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== + dependencies: + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" + +"@typescript-eslint/type-utils@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz#3a4507b3b437e2fd9e95c3e5eea5ae16f79d64b3" + integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== + dependencies: + "@typescript-eslint/typescript-estree" "5.46.0" + "@typescript-eslint/utils" "5.46.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.0.tgz#f4d76622a996b88153bbd829ea9ccb9f7a5d28bc" + integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== + +"@typescript-eslint/types@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" + integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== + +"@typescript-eslint/typescript-estree@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz#a6c2b84b9351f78209a1d1f2d99ca553f7fa29a5" + integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== + dependencies: + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/visitor-keys" "5.46.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" + integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== + dependencies: + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.0.tgz#600cd873ba471b7d8b0b9f35de34cf852c6fcb31" + integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.46.0" + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/typescript-estree" "5.46.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz#36d87248ae20c61ef72404bcd61f14aa2563915f" + integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== + dependencies: + "@typescript-eslint/types" "5.46.0" + eslint-visitor-keys "^3.3.0" + +"@typescript-eslint/visitor-keys@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" + integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== + dependencies: + "@typescript-eslint/types" "5.52.0" + eslint-visitor-keys "^3.3.0" + +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@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +ajv@^6.10.0, ajv@^6.12.4: + 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" + +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@^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" + +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== + +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== + +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== + +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== + +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" + +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" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +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@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== + dependencies: + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" + +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +chalk@^4.0.0: + 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" + +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.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== + +colorette@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + +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== + +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== + +cross-spawn@^7.0.2: + 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" + +debug@^4.1.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" + +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.2.2: + 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== + +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" + +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" + +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== + +eslint-config-prettier@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-plugin-prettier@4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +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.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== + +eslint@8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== + dependencies: + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + 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.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + 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" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + 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.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.4.0: + version "9.5.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.0" + +esquery@^1.4.0: + 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: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +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== + +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-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.0.3, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + 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.0.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== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +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" + +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" + +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" + +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@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +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: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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.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@^7.1.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" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globby@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" + integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +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" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + 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== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +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@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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== + +ignore@^5.1.1, ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + 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" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +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: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip6addr@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" + integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + +is-builtin-module@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-core-module@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + 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-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + +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.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-object@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" + integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-sdsl@^4.1.4: + version "4.4.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== + +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" + +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@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== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +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" + +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" + +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" + +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== + +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" + +map-obj@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +maxmind@^4.2.0: + version "4.3.10" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.10.tgz#4af97159f0aeade1a824f571e775a41891e3b5bf" + integrity sha512-H83pPwi4OqpjPmvAVtuimVWFe6JwHdFK+UIzq4KdvQrKUMLieIrsvU/A9N8jbmOqC2JJPA+jtlFwodyqmzl/3w== + dependencies: + mmdb-lib "2.0.2" + tiny-lru "10.4.1" + +merge2@^1.2.3, 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== + +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" + +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" + +mmdb-lib@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" + integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== + +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== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +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== + +once@^1.3.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" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^3.0.2: + 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@^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" + +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" + +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-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@^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-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== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +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-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +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== + +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== + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +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@^1.22.1: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +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== + +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-plugin-copy@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz#f1228a3ffb66ffad8606e2f3fb7ff23141ed3286" + integrity sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ== + dependencies: + "@types/fs-extra" "^8.0.1" + colorette "^1.1.0" + fs-extra "^8.1.0" + globby "10.0.1" + is-plain-object "^3.0.0" + +rollup@3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.7.0.tgz#7c4310378cf28764abb6b7611c9ccec081ff6d97" + integrity sha512-FIJe0msW9P7L9BTfvaJyvn1U1BVCNTL3w8O+PKIrCyiMLg+rIUGb4MbcgVZ10Lnm1uWXOTOWRNARjfXC1+M12Q== + optionalDependencies: + fsevents "~2.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" + +semver@^7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.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@^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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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-json-comments@^3.1.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== + +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-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== + +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== + +tiny-lru@10.4.1: + version "10.4.1" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-10.4.1.tgz#dec67a62115a4cb31d2065b8116d010daac362fe" + integrity sha512-buLIzw7ppqymuO3pt10jHk/6QMeZLbidihMQU+N6sogF6EnBzG0qtDWIHuhw1x3dyNgVL/KTGIZsTK81+yCzLg== + +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" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +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-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@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +typescript@4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +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" + +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" + +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" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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== + +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== + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000000..7219a31b810d1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,27 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: 'bug' +assignees: '' + +--- + +## Describe the bug +A clear and concise description of what the bug is. + +## To Reproduce +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +## Expected behavior +A clear and concise description of what you expected to happen. + +## Screenshots +If applicable, add screenshots to help explain your problem. + +## Additional context +Add any other context about the problem here. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000000000..0f41c00a8ca4f --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +## Is your feature request related to a problem? Please describe. +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +## Describe the solution you'd like +A clear and concise description of what you want to happen. + +## Describe alternatives you've considered +A clear and concise description of any alternative solutions or features you've considered. + +## Additional context +Add any other context or screenshots about the feature request here. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml new file mode 100644 index 0000000000000..2a07f0a1aad53 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml @@ -0,0 +1,23 @@ +name: CI + +on: + - push + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up Node 14 + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore new file mode 100644 index 0000000000000..e82eb841636eb --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore @@ -0,0 +1,19 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +node_modules/ +.npm + +# Editors +.vscode +.idea + +# Yalc +.yalc +yalc* + +# macOS +.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE new file mode 100644 index 0000000000000..cceaff9ae9321 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 PostHog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md new file mode 100644 index 0000000000000..5b956265d03d2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md @@ -0,0 +1,38 @@ +# posthog-url-normalizer-plugin + +[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) + +A PostHog plugin to normalize the format of urls in your application allowing you to more easily compare them in insights. + +Normalize the format of urls in your application allowing you to more easily compare them in insights. By default, this converts all urls to lowercase and strips extra trailing slashes, overrighting the old `current_url` value. + +Support [PostHog](https://posthog.com/) and give it a try today. It's the best analytics platform for startups I've found. You won't regret it! + +## Developing Locally + +To develop this plugin locally, you'll need to clone it and then run specs. Please make sure you've got Node and Yarn installed. Pull requests welcome! + +git clone https://github.com/MarkBennett/posthog-url-normalizer-plugin.git +yarn install +yarn test --watch + +From there, edit away and enjoy! + +## Installation + +1. Open PostHog. +1. Go to the Plugins page from the sidebar. +1. Head to the Advanced tab. +1. "Install from GitHub, GitLab or npm" using this repository's URL. + +## Roadmap + +This plugin is currently feature complete, but please consider starting a discussion or leaving an issue if there are features you'd like to see added. + +## Contributing + +Contributions of code, issues, reviews and documentation are welcome! + +## Acknoledgements + +Thanks to @Twixes and @marcushyett-ph for their help getting this plugin up and running, along with the awesome @posthog community! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts new file mode 100644 index 0000000000000..49cb315eeea16 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts @@ -0,0 +1,143 @@ +import { PluginEvent, PluginInput, PluginMeta } from "@posthog/plugin-scaffold"; +import { processEvent } from "./index"; + +/** + * Given a url, construct a page view event. + * + * @param $current_url The current url of the page view + * @returns A new PostHog page view event + */ +function buildPageViewEvent($current_url: string): PluginEvent { + const event: PluginEvent = { + properties: { $current_url }, + distinct_id: "distinct_id", + ip: "1.2.3.4", + site_url: "test.com", + team_id: 0, + now: "2022-06-17T20:21:31.778000+00:00", + event: "$pageview", + uuid: "01817354-06bb-0000-d31c-2c4eed374100", + }; + + return event; +} + +function buildEventWithoutCurrentUrl(): PluginEvent { + const event: PluginEvent = { + properties: {}, + distinct_id: "distinct_id", + ip: "1.2.3.4", + site_url: "test.com", + team_id: 0, + now: "2022-06-17T20:21:31.778000+00:00", + event: "$identify", + uuid: "01817354-06bb-0000-d31c-2c4eed374100", + }; + + return event; +} + +function getMeta(): PluginMeta { + return {} as unknown as PluginMeta; +} + +describe("processEvent", () => { + it("shouldn't change a url that's already lowercase", () => { + const sourceEvent = buildPageViewEvent("http://www.google.com/test"); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent?.properties?.$current_url).toEqual( + "http://www.google.com/test" + ); + }); + + it("should convert the current_url to lowercase", () => { + const sourceEvent = buildPageViewEvent( + "http://www.GoOGle.com/WhatAreYouThinking" + ); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent?.properties?.$current_url).toEqual( + "http://www.google.com/whatareyouthinking" + ); + }); + + it("should remove the trailing slash from the current_url", () => { + const sourceEvent = buildPageViewEvent( + "http://www.google.com/this_is_a_test/" + ); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent?.properties?.$current_url).toEqual( + "http://www.google.com/this_is_a_test" + ); + }); + + it("should preserve the trailing slash if it's the only character in the path", () => { + const sourceEvent = buildPageViewEvent("http://www.google.com/"); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent?.properties?.$current_url).toEqual( + "http://www.google.com/" + ); + }); + + it("should preserve trailing id anchors", () => { + const sourceEvent = buildPageViewEvent( + "http://www.google.com/this_is_a_test#id_anchor" + ); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent?.properties?.$current_url).toEqual( + "http://www.google.com/this_is_a_test#id_anchor" + ); + }); + + it("should preserve trailing anchors but drop trailing slashes", () => { + const sourceEvent = buildPageViewEvent( + "http://www.google.com/this_is_a_test_with_trailing_slash/#id_anchor" + ); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent?.properties?.$current_url).toEqual( + "http://www.google.com/this_is_a_test_with_trailing_slash#id_anchor" + ); + }); + + it("shouldn't modify events that don't have a $current_url set", () => { + const sourceEvent = buildEventWithoutCurrentUrl(); + + const processedEvent = processEvent(sourceEvent, getMeta()); + + expect(processedEvent).toEqual(sourceEvent); + expect(processedEvent?.properties).toEqual(sourceEvent.properties); + expect(processedEvent?.properties?.$current_url).toBeUndefined(); + }); + + it("should raise an error if the $current_url is an invalid url", () => { + const sourceEvent = buildPageViewEvent("invalid url"); + + expect(() => processEvent(sourceEvent, getMeta())).toThrowError( + `Unable to normalize invalid URL: "invalid url"` + ); + }); + + it("should log the normalized_url for debugging", () => { + const consoleSpy = jest.spyOn(console, "debug"); + + const sourceEvent = buildPageViewEvent( + "http://www.GoOGle.com/WhatAreYouThinking" + ); + processEvent(sourceEvent, getMeta()); + + expect(consoleSpy).toHaveBeenCalledWith( + 'event.$current_url: "http://www.GoOGle.com/WhatAreYouThinking" normalized to "http://www.google.com/whatareyouthinking"' + ); + }); +}); diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts new file mode 100644 index 0000000000000..9afef114b24a9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts @@ -0,0 +1,29 @@ +import { PluginEvent, PluginInput, PluginMeta } from "@posthog/plugin-scaffold"; + +function normalizeUrl(url: string): string { + try { + const parsedUrl = new URL(url.toLocaleLowerCase()); + parsedUrl.pathname = parsedUrl.pathname.replace(/\/$/, ""); + + return parsedUrl.toString(); + } catch (err) { + throw `Unable to normalize invalid URL: "${url}"`; + } +} + +export function processEvent( + event: PluginEvent, + meta: PluginMeta +) { + const $current_url = event?.properties?.$current_url; + if (event?.properties && $current_url) { + const normalized_url = normalizeUrl($current_url); + event.properties.$current_url = normalized_url; + + console.debug( + `event.$current_url: "${$current_url}" normalized to "${normalized_url}"` + ); + } + + return event; +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js new file mode 100644 index 0000000000000..8cbf8940ccd9a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..57b5da34f7561cbcfa46400b725bd051b2a0d8cb GIT binary patch literal 3319 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 1.25.0", + "config": [ + { + "markdown": "Normalize the format of urls in your application allowing you to more easily compare them in insights. By default, this converts all urls to lowercase and strips the trailing slash, overrighting the old `current_url` value." + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json new file mode 100644 index 0000000000000..ba648354aa9c4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json @@ -0,0 +1,103 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs" /* Specify what module code is generated. */, + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/yarn.lock new file mode 100644 index 0000000000000..12fdbe83d9b05 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/yarn.lock @@ -0,0 +1,2326 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" + integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.2" + "@babel/parser" "^7.18.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.18.2", "@babel/generator@^7.7.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" + integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== + dependencies: + "@babel/types" "^7.18.2" + "@jridgewell/gen-mapping" "^0.3.0" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" + integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" + integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== + +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" + integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + +"@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.17.12", "@babel/helper-plugin-utils@^7.8.0": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" + integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== + +"@babel/helper-simple-access@^7.17.7": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" + integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== + dependencies: + "@babel/types" "^7.18.2" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helpers@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" + integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" + +"@babel/highlight@^7.16.7": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" + integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" + integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== + +"@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.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-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-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.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-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.7.2": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz#b54fc3be6de734a56b87508f99d6428b5b605a7b" + integrity sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + +"@babel/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.7.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" + integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-environment-visitor" "^7.18.2" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.18.0" + "@babel/types" "^7.18.2" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" + integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + 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== + +"@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@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.1.tgz#305f8ca50b6e70413839f54c0e002b60a0f2fd7d" + integrity sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA== + dependencies: + "@jest/types" "^28.1.1" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^28.1.1" + jest-util "^28.1.1" + slash "^3.0.0" + +"@jest/core@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.1.tgz#086830bec6267accf9af5ca76f794858e9f9f092" + integrity sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw== + dependencies: + "@jest/console" "^28.1.1" + "@jest/reporters" "^28.1.1" + "@jest/test-result" "^28.1.1" + "@jest/transform" "^28.1.1" + "@jest/types" "^28.1.1" + "@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 "^28.0.2" + jest-config "^28.1.1" + jest-haste-map "^28.1.1" + jest-message-util "^28.1.1" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.1" + jest-resolve-dependencies "^28.1.1" + jest-runner "^28.1.1" + jest-runtime "^28.1.1" + jest-snapshot "^28.1.1" + jest-util "^28.1.1" + jest-validate "^28.1.1" + jest-watcher "^28.1.1" + micromatch "^4.0.4" + pretty-format "^28.1.1" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.1.tgz#c4cbf85283278d768f816ebd1a258ea6f9e39d4f" + integrity sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw== + dependencies: + "@jest/fake-timers" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/node" "*" + jest-mock "^28.1.1" + +"@jest/expect-utils@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.1.tgz#d84c346025b9f6f3886d02c48a6177e2b0360587" + integrity sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw== + dependencies: + jest-get-type "^28.0.2" + +"@jest/expect@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.1.tgz#ea4fcc8504b45835029221c0dc357c622a761326" + integrity sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg== + dependencies: + expect "^28.1.1" + jest-snapshot "^28.1.1" + +"@jest/fake-timers@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.1.tgz#47ce33296ab9d680c76076d51ddbe65ceb3337f1" + integrity sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA== + dependencies: + "@jest/types" "^28.1.1" + "@sinonjs/fake-timers" "^9.1.1" + "@types/node" "*" + jest-message-util "^28.1.1" + jest-mock "^28.1.1" + jest-util "^28.1.1" + +"@jest/globals@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.1.tgz#c0a7977f85e26279cc090d9adcdf82b8a34c4061" + integrity sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg== + dependencies: + "@jest/environment" "^28.1.1" + "@jest/expect" "^28.1.1" + "@jest/types" "^28.1.1" + +"@jest/reporters@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.1.tgz#9389f4bb3cce4d9b586f6195f83c79cd2a1c8662" + integrity sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^28.1.1" + "@jest/test-result" "^28.1.1" + "@jest/transform" "^28.1.1" + "@jest/types" "^28.1.1" + "@jridgewell/trace-mapping" "^0.3.7" + "@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 "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^28.1.1" + jest-util "^28.1.1" + jest-worker "^28.1.1" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + terminal-link "^2.0.0" + v8-to-istanbul "^9.0.0" + +"@jest/schemas@^28.0.2": + version "28.0.2" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.0.2.tgz#08c30df6a8d07eafea0aef9fb222c5e26d72e613" + integrity sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA== + dependencies: + "@sinclair/typebox" "^0.23.3" + +"@jest/source-map@^28.0.2": + version "28.0.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.0.2.tgz#914546f4410b67b1d42c262a1da7e0406b52dc90" + integrity sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.7" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.1.tgz#c6f18d1bbb01aa88925dd687872a75f8414b317a" + integrity sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ== + dependencies: + "@jest/console" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz#f594ee2331df75000afe0d1ae3237630ecec732e" + integrity sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA== + dependencies: + "@jest/test-result" "^28.1.1" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.1" + slash "^3.0.0" + +"@jest/transform@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.1.tgz#83541f2a3f612077c8501f49cc4e205d4e4a6b27" + integrity sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^28.1.1" + "@jridgewell/trace-mapping" "^0.3.7" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.1" + jest-regex-util "^28.0.2" + jest-util "^28.1.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.1" + +"@jest/types@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.1.tgz#d059bbc80e6da6eda9f081f293299348bd78ee0b" + integrity sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw== + dependencies: + "@jest/schemas" "^28.0.2" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" + integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" + integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.13" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" + integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== + +"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@maxmind/geoip2-node@^3.0.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz#e0b2dd6e46931cbb84ccb46cbb154a5009e75bcc" + integrity sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg== + dependencies: + camelcase-keys "^7.0.0" + ip6addr "^0.2.5" + lodash.set "^4.3.2" + maxmind "^4.2.0" + +"@posthog/plugin-scaffold@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.0.4.tgz#a627d46e760af970757b94e40a3ca4e17da7faf4" + integrity sha512-/FX6dLq8Kug1vYW9Kk3D5Ik+7CpMSAMlplvdnnDcyeJPPU4UyFdWOCydRgBva4/HblfshW+j51tgjzWHEQQ0Hg== + dependencies: + "@maxmind/geoip2-node" "^3.0.0" + +"@sinclair/typebox@^0.23.3": + version "0.23.5" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d" + integrity sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg== + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^9.1.1": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.1.14": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.3": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.1.tgz#8c9ba63702a11f8c386ee211280e8b68cb093cd1" + integrity sha512-C2p7yqleUKtCkVjlOur9BWVA4HgUQmEj/HWCt5WzZ5mLXrWnyIfl0wGuArc+kBXsy0ZZfLp+7dywB4HtSVYGVA== + dependencies: + jest-matcher-utils "^27.0.0" + pretty-format "^27.0.0" + +"@types/node@*": + version "17.0.41" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.41.tgz#1607b2fd3da014ae5d4d1b31bc792a39348dfb9b" + integrity sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw== + +"@types/prettier@^2.1.5": + version "2.6.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a" + integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^17.0.8": + version "17.0.10" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" + integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== + dependencies: + "@types/yargs-parser" "*" + +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-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@^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== + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +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== + +babel-jest@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.1.tgz#2a3a4ae50964695b2d694ccffe4bec537c5a3586" + integrity sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw== + dependencies: + "@jest/transform" "^28.1.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^28.1.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.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@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz#5e055cdcc47894f28341f87f5e35aad2df680b11" + integrity sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +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@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz#5b6e5e69f963eb2d70f739c607b8f723c0ee75e4" + integrity sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g== + dependencies: + babel-plugin-jest-hoist "^28.1.1" + 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== + +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" + +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" + +browserslist@^4.20.2: + version "4.20.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" + integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== + dependencies: + caniuse-lite "^1.0.30001349" + electron-to-chromium "^1.4.147" + escalade "^3.1.1" + node-releases "^2.0.5" + picocolors "^1.0.0" + +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" + +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== + +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@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== + dependencies: + camelcase "^6.3.0" + map-obj "^4.1.0" + quick-lru "^5.1.1" + type-fest "^1.2.1" + +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-lite@^1.0.30001349: + version "1.0.30001352" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz#cc6f5da3f983979ad1e2cdbae0505dccaa7c6a12" + integrity sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA== + +chalk@^2.0.0: + 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: + 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== + +ci-info@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.1.tgz#58331f6f472a25fe3a50a351ae3052936c2c7f32" + integrity sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +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.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +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== + +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== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +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== + +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" + +debug@^4.1.0, debug@^4.1.1: + 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" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +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== + +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + +diff-sequences@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" + integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== + +electron-to-chromium@^1.4.147: + version "1.4.151" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.151.tgz#d1c09dd3a06cb81ef03a3bbbff6905827c33ab4b" + integrity sha512-XaG2LpZi9fdiWYOqJh0dJy4SlVywCvpgYXhzOlZTp4JqSKqxn5URqOjbm9OMYB3aInA2GuHQiem1QUOc1yT0Pw== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +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== + +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" + +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-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== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +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" + +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@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.1.tgz#ca6fff65f6517cf7220c2e805a49c19aea30b420" + integrity sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w== + dependencies: + "@jest/expect-utils" "^28.1.1" + jest-get-type "^28.0.2" + jest-matcher-utils "^28.1.1" + jest-message-util "^28.1.1" + jest-util "^28.1.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-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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== + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +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" + +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: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +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.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-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-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== + +glob@^7.1.3, glob@^7.1.4: + 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" + +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== + +graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +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@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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== + +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== + +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== + +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: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip6addr@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" + integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + +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-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + dependencies: + has "^1.0.3" + +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-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-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== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.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.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.0.2.tgz#7d7810660a5bd043af9e9cfbe4d58adb05e91531" + integrity sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA== + dependencies: + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.1.tgz#3d27da6a974d85a466dc0cdc6ddeb58daaa57bb4" + integrity sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw== + dependencies: + "@jest/environment" "^28.1.1" + "@jest/expect" "^28.1.1" + "@jest/test-result" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^28.1.1" + jest-matcher-utils "^28.1.1" + jest-message-util "^28.1.1" + jest-runtime "^28.1.1" + jest-snapshot "^28.1.1" + jest-util "^28.1.1" + pretty-format "^28.1.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.1.tgz#23ddfde8940e1818585ae4a568877b33b0e51cfe" + integrity sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ== + dependencies: + "@jest/core" "^28.1.1" + "@jest/test-result" "^28.1.1" + "@jest/types" "^28.1.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^28.1.1" + jest-util "^28.1.1" + jest-validate "^28.1.1" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.1.tgz#e90b97b984f14a6c24a221859e81b258990fce2f" + integrity sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^28.1.1" + "@jest/types" "^28.1.1" + babel-jest "^28.1.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^28.1.1" + jest-environment-node "^28.1.1" + jest-get-type "^28.0.2" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.1" + jest-runner "^28.1.1" + jest-util "^28.1.1" + jest-validate "^28.1.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^28.1.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-diff@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.1.tgz#1a3eedfd81ae79810931c63a1d0f201b9120106c" + integrity sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg== + dependencies: + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.1" + +jest-docblock@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" + integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.1.tgz#ba5238dacf4f31d9fe23ddc2c44c01e7c23885c4" + integrity sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw== + dependencies: + "@jest/types" "^28.1.1" + chalk "^4.0.0" + jest-get-type "^28.0.2" + jest-util "^28.1.1" + pretty-format "^28.1.1" + +jest-environment-node@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.1.tgz#1c86c59003a7d319fa06ea3b1bbda6c193715c67" + integrity sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA== + dependencies: + "@jest/environment" "^28.1.1" + "@jest/fake-timers" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/node" "*" + jest-mock "^28.1.1" + jest-util "^28.1.1" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-get-type@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" + integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== + +jest-haste-map@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.1.tgz#471685f1acd365a9394745bb97c8fc16289adca3" + integrity sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ== + dependencies: + "@jest/types" "^28.1.1" + "@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 "^28.0.2" + jest-util "^28.1.1" + jest-worker "^28.1.1" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz#537f37afd610a4b3f4cab15e06baf60484548efb" + integrity sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw== + dependencies: + jest-get-type "^28.0.2" + pretty-format "^28.1.1" + +jest-matcher-utils@^27.0.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz#a7c4653c2b782ec96796eb3088060720f1e29304" + integrity sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw== + dependencies: + chalk "^4.0.0" + jest-diff "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.1" + +jest-message-util@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.1.tgz#60aa0b475cfc08c8a9363ed2fb9108514dd9ab89" + integrity sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^28.1.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^28.1.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.1.tgz#37903d269427fa1ef5b2447be874e1c62a39a371" + integrity sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw== + dependencies: + "@jest/types" "^28.1.1" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" + integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== + +jest-resolve-dependencies@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz#3dffaaa56f4b41bc6b61053899d1756401763a27" + integrity sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ== + dependencies: + jest-regex-util "^28.0.2" + jest-snapshot "^28.1.1" + +jest-resolve@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.1.tgz#bc2eaf384abdcc1aaf3ba7c50d1adf01e59095e5" + integrity sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.1" + jest-pnp-resolver "^1.2.2" + jest-util "^28.1.1" + jest-validate "^28.1.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.1.tgz#9ecdb3f27a00059986797aa6b012ba8306aa436c" + integrity sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA== + dependencies: + "@jest/console" "^28.1.1" + "@jest/environment" "^28.1.1" + "@jest/test-result" "^28.1.1" + "@jest/transform" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.10.2" + graceful-fs "^4.2.9" + jest-docblock "^28.1.1" + jest-environment-node "^28.1.1" + jest-haste-map "^28.1.1" + jest-leak-detector "^28.1.1" + jest-message-util "^28.1.1" + jest-resolve "^28.1.1" + jest-runtime "^28.1.1" + jest-util "^28.1.1" + jest-watcher "^28.1.1" + jest-worker "^28.1.1" + source-map-support "0.5.13" + throat "^6.0.1" + +jest-runtime@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.1.tgz#569e1dc3c36c6c4c0b29516c1c49b6ad580abdaf" + integrity sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg== + dependencies: + "@jest/environment" "^28.1.1" + "@jest/fake-timers" "^28.1.1" + "@jest/globals" "^28.1.1" + "@jest/source-map" "^28.0.2" + "@jest/test-result" "^28.1.1" + "@jest/transform" "^28.1.1" + "@jest/types" "^28.1.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.1" + jest-message-util "^28.1.1" + jest-mock "^28.1.1" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.1" + jest-snapshot "^28.1.1" + jest-util "^28.1.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.1.tgz#ab825c16c8d8b5e883bd57eee6ca8748c42ab848" + integrity sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^28.1.1" + "@jest/transform" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^28.1.1" + graceful-fs "^4.2.9" + jest-diff "^28.1.1" + jest-get-type "^28.0.2" + jest-haste-map "^28.1.1" + jest-matcher-utils "^28.1.1" + jest-message-util "^28.1.1" + jest-util "^28.1.1" + natural-compare "^1.4.0" + pretty-format "^28.1.1" + semver "^7.3.5" + +jest-util@^28.0.0, jest-util@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.1.tgz#ff39e436a1aca397c0ab998db5a51ae2b7080d05" + integrity sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw== + dependencies: + "@jest/types" "^28.1.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.1.tgz#59b7b339b3c85b5144bd0c06ad3600f503a4acc8" + integrity sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug== + dependencies: + "@jest/types" "^28.1.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^28.0.2" + leven "^3.1.0" + pretty-format "^28.1.1" + +jest-watcher@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.1.tgz#533597fb3bfefd52b5cd115cd916cffd237fb60c" + integrity sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug== + dependencies: + "@jest/test-result" "^28.1.1" + "@jest/types" "^28.1.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^28.1.1" + string-length "^4.0.1" + +jest-worker@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.1.tgz#3480c73247171dfd01eda77200f0063ab6a3bf28" + integrity sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.1.tgz#3c39a3a09791e16e9ef283597d24ab19a0df701e" + integrity sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA== + dependencies: + "@jest/core" "^28.1.1" + "@jest/types" "^28.1.1" + import-local "^3.0.2" + jest-cli "^28.1.1" + +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@^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" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + 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@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== + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +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" + +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== + +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== + +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== + +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" + +lodash.memoize@4.x: + 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.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== + +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" + +make-dir@^3.0.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-error@1.x: + 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@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +maxmind@^4.2.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.6.tgz#5e4aa2491eef8bd401f34be307776fa1fb5bc3ca" + integrity sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg== + dependencies: + mmdb-lib "2.0.2" + tiny-lru "8.0.2" + +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== + +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" + +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== + +minimatch@^3.0.4, minimatch@^3.1.1: + 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" + +mmdb-lib@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" + integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== + +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== + +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== + +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-releases@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" + integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== + +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== + +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" + +once@^1.3.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.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" + +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-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-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== + +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" + +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-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@^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== + +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.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== + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +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" + +pretty-format@^27.0.0, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-format@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.1.tgz#f731530394e0f7fcd95aba6b43c50e02d86b95cb" + integrity sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw== + dependencies: + "@jest/schemas" "^28.0.2" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +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" + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" + integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== + +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== + +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: + 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@^1.20.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rimraf@^3.0.0: + 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" + +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== + +semver@7.x, semver@^7.3.5: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.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== + +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@^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== + +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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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@^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== + +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.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +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@^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" + +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@^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-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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + +tiny-lru@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-8.0.2.tgz#812fccbe6e622ded552e3ff8a4c3b5ff34a85e4c" + integrity sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg== + +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" + +ts-jest@^28.0.4: + version "28.0.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.4.tgz#0ab705a60fc4b9f3506f35e26edfa9e9c915c31b" + integrity sha512-S6uRDDdCJBvnZqyGjB4VCnwbQrbgdL8WPeP4jevVSpYsBaeGRQAIS08o3Svav2Ex+oXwLgJ/m7F24TNq62kA1A== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^28.0.0" + json5 "^2.2.1" + lodash.memoize "4.x" + make-error "1.x" + semver "7.x" + yargs-parser "^20.x" + +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.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@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +typescript@^4.7.3: + version "4.7.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" + integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== + +v8-to-istanbul@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz#be0dae58719fc53cb97e5c7ac1d7e6d4f5b19511" + integrity sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.7" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.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" + +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" + +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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" + integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +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@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.x: + 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-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs@^17.3.1: + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + 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.0.0" diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/property-filter/.github/workflows/ci.yml new file mode 100644 index 0000000000000..3775a4beeb147 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/.github/workflows/ci.yml @@ -0,0 +1,27 @@ +name: CI + +on: + push: + branches: + - main + - dev + pull_request: + +jobs: + unit-tests: + name: Unit tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + + - name: Set up Node 14 + uses: actions/setup-node@v3 + with: + node-version: 14 + + - name: Install dependencies + run: yarn --frozen-lockfile + + - name: Run unit tests + run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/.gitignore b/plugin-server/src/cdp/legacy-plugins/property-filter/.gitignore new file mode 100644 index 0000000000000..50694b19145c3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/.gitignore @@ -0,0 +1,4 @@ +.idea +node_modules +yarn-error.log + diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/.prettierrc b/plugin-server/src/cdp/legacy-plugins/property-filter/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/LICENSE b/plugin-server/src/cdp/legacy-plugins/property-filter/LICENSE new file mode 100644 index 0000000000000..3af411e262998 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Lukas Kahwe Smith + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/README.md b/plugin-server/src/cdp/legacy-plugins/property-filter/README.md new file mode 100644 index 0000000000000..e04b99408e877 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/README.md @@ -0,0 +1,15 @@ +# Property Filter Plugin + +## Important! + +This plugin will only work on events ingested **after** the plugin was enabled. This means all events ingested **before** enabling this plugin will still have the properties. + +## Usage + +This plugin will remove all specified properties from the event properties object. + +Note when specifying `$ip`, additionally `event.ip` will be removed. + +## Credits + +Heavily inspired by https://github.com/PostHog/first-time-event-tracker \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/index.js b/plugin-server/src/cdp/legacy-plugins/property-filter/index.js new file mode 100644 index 0000000000000..8b14d78866900 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/index.js @@ -0,0 +1,35 @@ +async function setupPlugin({ config, global }) { + global.propertiesToFilter = config.properties.split(',') +} + +function recursiveRemoveFilterObject(properties, propertyToFilterParts) { + // if we've reached the final filter part, then we can remove the key if it exists + // otherwise recursively go down the properties object with the remaining filter parts + const currentKey = propertyToFilterParts.shift() + if (currentKey != undefined && currentKey in properties) { + if (propertyToFilterParts.length == 0) { + delete properties[currentKey] + } else { + recursiveRemoveFilterObject(properties[currentKey], propertyToFilterParts) + } + } +} + +async function processEvent(event, { global }) { + let propertiesCopy = event.properties ? { ...event.properties } : {} + + for (const propertyToFilter of global.propertiesToFilter) { + if (propertyToFilter === '$ip') { + delete event.ip + } + + recursiveRemoveFilterObject(propertiesCopy, propertyToFilter.split('.')) + } + + return { ...event, properties: propertiesCopy } +} + +module.exports = { + setupPlugin, + processEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js b/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js new file mode 100644 index 0000000000000..26c2ded260906 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js @@ -0,0 +1,72 @@ +const { createEvent } = require('@posthog/plugin-scaffold/test/utils') +const { processEvent } = require('.') + +const global = { + propertiesToFilter: [ + 'gender', + '$set.gender', + '$set.age', + 'foo.bar.baz.one', + 'nonExisting', + '$set.$not_in_props', + 'no-such.with-dot', +]} + +const properties = { + properties: { + name: 'Mr. Hog', + gender: 'male', + age: 12, + $set: { + age: 35, + pet: 'dog', + firstName: 'Post', + gender: 'female', + }, + foo: { + bar: { + baz: { + one: 'one', + two: 'two', + }, + }, + }, + }, +} + +test('event properties are filtered', async () => { + const event = await processEvent(createEvent(properties), { global }) + expect(event.properties).not.toHaveProperty('gender') + expect(event.properties.$set).not.toHaveProperty('age') + expect(event.properties.foo.bar.baz).not.toHaveProperty('one') + expect(event.properties).toHaveProperty('name') + expect(event.properties).toHaveProperty('$set') + expect(event.properties).toHaveProperty('foo') + expect(event.properties.$set).toHaveProperty('firstName', 'Post') + expect(event.properties.foo.bar.baz).toHaveProperty('two', 'two') + expect(event.properties).toEqual( + { + name: 'Mr. Hog', + age: 12, + $set: { + pet: 'dog', + firstName: 'Post', + }, + foo: { + bar: { + baz: { + two: 'two', + }, + }, + }, + }) +}) + +const emptyProperties = {} + +test('event properties are empty when no properties are given', async () => { + const event = await processEvent(createEvent(emptyProperties), { global }) + + expect(event.properties).not.toHaveProperty('$set') + expect(event.properties).not.toHaveProperty('foo') +}) diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/logo.png b/plugin-server/src/cdp/legacy-plugins/property-filter/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c349dde8a16d61416925c3d1a5248d8bb429013 GIT binary patch literal 1359 zcmV-V1+e;wP)h$^qdBKRl;`;pl3VgzMw%w4#!zp`A?zLGm_1_+wRQd@(_T;k{-ci000E4Nkl5Jd$=L>zFQTK)gOyxLwH0w+wVBqXc$t9FuYhAIl^(THIfhG7_nVHk#C z7=~dOhG7_n@s%_Rvu9w9XBI{&g~uVYC-EgasC%pu+ZJzm5FRg+yP8KjfOYjD zQ`;wz?eXVCN+LJg!_NtoL(~!eGd(FT*g7T~&|&gWZx}4DS9DUV z`_*umqW(x$^BA=p#3c7Ds-3~2IZ^n!z{Zbfn%0YeQ}?~DE>!J<)9}TUe0kx1C^zKw z2!AQ!KeHYmBhw=S)^>K>f9bVIEn0$MW!)q zh%QNNVhxX(&S741>P|IYwUv>?#-vlp2A{gbNn#U{46n;3#iy?3dO-Vev<>r;Q#UbK z%KUP`2Tr@8OmH|_5IiZ@9m!zYq)3ueH#1u8&%xJ?LGaUX4yQ}W`E8^ci${b_p0z7P zk{bkClf)(@k8ak5G}+Ouy%1XuE_~FOobey%tX;N4_5(|z{OkvQy=hySK$1i*;LuXM zKMW;_P2i34g9Zo7ueP^G4h{<-GQ!fn?rXs=z>QK}Tq)Whx=JPefU#j${?-M2$;>^; z_Mm8;l*d?|H>&y`C19hJMp?Z@Jf!WBQ;m(KJF%5>+I|$oRFg8cOM>w}uHJ=TRR9sy@#m_{^{V=i;DOce>hwzM*5Nf7_-5+1XpjX@m zLKHDpgX@j>%t!HeFN!F>F=Yhdfw5vWp=fBK>eHEX3z1~-JLF9!5h*M!wfCh=ag&G? zPG-Xo5cec*7BT!tcTdI=kwP39VDb)-iQHJk5;Bp{7m=MWA~B0tLMF2GMP$q(mXL|e zeGystB6497OUOhbUqlYRh}>Dk5;BpsFCq_LL?*t7oP80w`XVy(MP%!XNa~BoDDg#P z!6J5$icEbGIr$=zIV=+5`_t};2oC@qT^1=mTIRM$;mzc|<05~rEIBXoeewO~mn#gDdUL|`iuh=<}(dYu+vp>4FM}9$*61XUWcZ!oDb(7+j zNX?|UCL)~_=R{ZCX;Ql1odMM{(6vWPG#PKy*L#c`2* zQd}4Ln-up&{!fYrBA-d|LgYOueu%s#WiT(WGYrEp48t%C!!QiPFbu= 2.1.2 < 3" + +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== + +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: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +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-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + dependencies: + has "^1.0.3" + +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-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-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-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-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== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + 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-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.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.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== + dependencies: + "@jest/types" "^27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^27.5.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jsdom "^16.6.0" + +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + throat "^6.0.1" + +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + +jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + natural-compare "^1.4.0" + pretty-format "^27.5.1" + semver "^7.3.2" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== + dependencies: + "@jest/types" "^27.5.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.5.1" + leven "^3.1.0" + pretty-format "^27.5.1" + +jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== + dependencies: + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.5.1" + string-length "^4.0.1" + +jest-worker@^27.5.1: + 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@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.1" + +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@^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" + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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== + +json5@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +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== + +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.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +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== + +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" + +lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +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" + +make-dir@^3.0.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" + +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" + +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== + +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: + 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: + 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" + +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== + +minimatch@^3.0.4, minimatch@^3.1.1: + 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" + +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== + +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== + +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-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +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== + +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" + +nwsapi@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" + integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== + +once@^1.3.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.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" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +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-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-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== + +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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +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-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@^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== + +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.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== + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +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" + +posthog-plugins@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/posthog-plugins/-/posthog-plugins-0.2.4.tgz#e4050795e7e14ada29de301f6b15e900bbad2ce8" + integrity sha512-M+t4Juu/Vr/GSRwjNDXunarPck7YXEqF6AKb4u5tRrOBI2VIyHjJiLtsIj5SwVsl4VKpMyyfahV/0No7ByT3TA== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +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" + +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== + +punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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== + +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== + +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: + 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@^1.20.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rimraf@^3.0.0: + 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" + +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== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2: + 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" + +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@^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== + +signal-exit@^3.0.2, signal-exit@^3.0.3: + 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== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-support@^0.5.6: + 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.6.0, source-map@^0.6.1, 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: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +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.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +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@^4.1.0, string-width@^4.2.0: + 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" + +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@^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-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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.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== + +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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + +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" + +tough-cookie@^4.0.0: + 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@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +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.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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.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== + +update-browserslist-db@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + dependencies: + escalade "^3.1.1" + picocolors "^1.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" + +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7: + 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" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.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" + +word-wrap@~1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== + +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@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +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@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.2: + 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@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore b/plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore new file mode 100644 index 0000000000000..c564040bac1ce --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore @@ -0,0 +1,2 @@ +.idea +node_modules/ \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc b/plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc new file mode 100644 index 0000000000000..4e534aad29fb2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/README.md b/plugin-server/src/cdp/legacy-plugins/pubsub/README.md new file mode 100644 index 0000000000000..071dde97752dc --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/README.md @@ -0,0 +1,101 @@ +# Google Pub/Sub Plugin + +Sends events to a Pub/Sub topic on ingestion. + +## Installation + +1. Visit 'Plugins' in PostHog +1. Find this plugin from the repository or install `https://github.com/vendasta/pubsub-plugin` +1. Configure the plugin + 1. Upload your Google Cloud key `.json` file. ([How to get the file](https://cloud.google.com/pubsub/docs/reference/libraries).) + 1. Enter your Topic ID +1. Watch events publish to Topic + +## Message Format + +```json +{ + "event": "$autocapture", + "distinct_id": "U-aafca76a-45ee-491f-a801-6d6e9963c636", + "team_id": 1, + "ip": "111.111.111.1111", + "site_url": "https://yoursiteurl.com", + "timestamp": "2021-09-03T15:08:58.813971+00:00", + "uuid": "017bac34-ae6e-0000-24f7-2ae87f5f89d9", + "properties": { + "$os": "Windows", + "$browser": "Chrome", + "$device_type": "Desktop", + "$current_url": "", + "$host": "", + "$pathname": "", + "$browser_version": 92, + "$screen_height": 1080, + "$screen_width": 1920, + "$viewport_height": 975, + "$viewport_width": 1920, + "$lib": "web", + "$lib_version": "1.12.3", + "$insert_id": "mac0om92q3eoff5p", + "$time": 1630681734.981, + "distinct_id": "U-aafca76a-45ee-491f-a801-6d6e9963c636", + "$device_id": "17a8c213255504-03fa008e947a61-6373264-1fa400-17a8c2132566a7", + "$user_id": "U-aafca76a-45ee-491f-a801-6d6e9963c636", + "$search_engine": "google", + "$initial_referrer": "https://www.google.com/", + "$initial_referring_domain": "www.google.com", + "$referrer": "https://www.google.com/", + "$referring_domain": "www.google.com", + "$active_feature_flags": [ + ], + "$event_type": "click", + "$ce_version": 1, + "token": "0GJcKFgOeBbm1q4S2TRWX8TaZif85RX5fdzVjD8AJZM", + "$geoip_city_name": "Idukki", + "$geoip_country_name": "India", + "$geoip_country_code": "IN", + "$geoip_continent_name": "Asia", + "$geoip_continent_code": "AS", + "$geoip_postal_code": "685501", + "$geoip_latitude": 9.8466, + "$geoip_longitude": 76.9689, + "$geoip_time_zone": "Asia/Kolkata", + "$geoip_subdivision_1_code": "KL", + "$geoip_subdivision_1_name": "Kerala", + "$plugins_succeeded": [ + ], + "$plugins_failed": [ + ], + "$plugins_deferred": [ + ] + }, + "elements": [ + ], + "people_set": { + "$geoip_city_name": "Idukki", + "$geoip_country_name": "India", + "$geoip_country_code": "IN", + "$geoip_continent_name": "Asia", + "$geoip_continent_code": "AS", + "$geoip_postal_code": "685501", + "$geoip_latitude": 9.8466, + "$geoip_longitude": 76.9689, + "$geoip_time_zone": "Asia/Kolkata", + "$geoip_subdivision_1_code": "KL", + "$geoip_subdivision_1_name": "Kerala" + }, + "people_set_once": { + "$initial_geoip_city_name": "Idukki", + "$initial_geoip_country_name": "India", + "$initial_geoip_country_code": "IN", + "$initial_geoip_continent_name": "Asia", + "$initial_geoip_continent_code": "AS", + "$initial_geoip_postal_code": "685501", + "$initial_geoip_latitude": 9.8466, + "$initial_geoip_longitude": 76.9689, + "$initial_geoip_time_zone": "Asia/Kolkata", + "$initial_geoip_subdivision_1_code": "KL", + "$initial_geoip_subdivision_1_name": "Kerala" + } +} +``` diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts new file mode 100644 index 0000000000000..5d478e5f5f124 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -0,0 +1,95 @@ +import { Plugin, PluginMeta, PluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { PubSub, Topic } from "@google-cloud/pubsub" + +type PubSubPlugin = Plugin<{ + global: { + pubSubClient: PubSub + pubSubTopic: Topic + } + config: { + topicId: string + }, +}> + +export const setupPlugin: PubSubPlugin['setupPlugin'] = async (meta) => { + const { global, attachments, config } = meta + if (!attachments.googleCloudKeyJson) { + throw new Error('JSON config not provided!') + } + if (!config.topicId) { + throw new Error('Topic ID not provided!') + } + + try { + const credentials = JSON.parse(attachments.googleCloudKeyJson.contents.toString()) + global.pubSubClient = new PubSub({ + projectId: credentials['project_id'], + credentials, + }) + global.pubSubTopic = global.pubSubClient.topic(config.topicId); + + // topic exists + await global.pubSubTopic.getMetadata() + } catch (error) { + // some other error? abort! + if (!error.message.includes("NOT_FOUND")) { + throw new Error(error) + } + console.log(`Creating PubSub Topic - ${config.topicId}`) + + try { + await global.pubSubTopic.create() + } catch (error) { + // a different worker already created the table + if (!error.message.includes('ALREADY_EXISTS')) { + throw error + } + } + } +} + +export async function onEvent(fullEvent: PluginEvent, { global, config }: PluginMeta) { + if (!global.pubSubClient) { + throw new Error('No PubSub client initialized!') + } + try { + const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid, ...rest } = + fullEvent + const ip = properties?.['$ip'] || fullEvent.ip + const timestamp = fullEvent.timestamp || properties?.timestamp || now || sent_at + let ingestedProperties = properties + let elements = [] + + // only move prop to elements for the $autocapture action + if (event === '$autocapture' && properties?.['$elements']) { + const { $elements, ...props } = properties + ingestedProperties = props + elements = $elements + } + + const message = { + event, + distinct_id, + team_id, + ip, + site_url, + timestamp, + uuid: uuid!, + properties: ingestedProperties || {}, + elements: elements || [], + people_set: $set || {}, + people_set_once: $set_once || {}, + } + const dataBuf = Buffer.from(JSON.stringify(message)) + + await global.pubSubTopic.publish(dataBuf).then((messageId) => { + return messageId + }) + } catch (error) { + console.error( + `Error publishing ${fullEvent.uuid} to ${config.topicId}: `, + error + ) + throw new RetryError(`Error publishing to Pub/Sub! ${JSON.stringify(error.errors)}`) + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/logo.png b/plugin-server/src/cdp/legacy-plugins/pubsub/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..53bd466239d36212e982a724de350731154db4cd GIT binary patch literal 10740 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 Q0^Z=-m7AKy>ei3{11B651ONa4 literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json b/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json new file mode 100644 index 0000000000000..726ece5fc060d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json @@ -0,0 +1,725 @@ +{ + "name": "@posthog/pubsub-plugin", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@google-cloud/paginator": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz", + "integrity": "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==", + "dev": true, + "requires": { + "arrify": "^2.0.0", + "extend": "^3.0.2" + } + }, + "@google-cloud/precise-date": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-2.0.3.tgz", + "integrity": "sha512-+SDJ3ZvGkF7hzo6BGa8ZqeK3F6Z4+S+KviC9oOK+XCs3tfMyJCh/4j93XIWINgMMDIh9BgEvlw4306VxlXIlYA==", + "dev": true + }, + "@google-cloud/projectify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.0.tgz", + "integrity": "sha512-qbpidP/fOvQNz3nyabaVnZqcED1NNzf7qfeOlgtAZd9knTwY+KtsGRkYpiQzcATABy4gnGP2lousM3S0nuWVzA==", + "dev": true + }, + "@google-cloud/promisify": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz", + "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==", + "dev": true + }, + "@google-cloud/pubsub": { + "version": "2.16.6", + "resolved": "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.16.6.tgz", + "integrity": "sha512-Hsa95pbgUmgxmrAQRePqGfpCx/zEqd+ueZDdi4jjvnew6bAP3r0+i+3a1/qkNonQYcWcf0a2tJnZwVDuMznvog==", + "dev": true, + "requires": { + "@google-cloud/paginator": "^3.0.0", + "@google-cloud/precise-date": "^2.0.0", + "@google-cloud/projectify": "^2.0.0", + "@google-cloud/promisify": "^2.0.0", + "@opentelemetry/api": "^1.0.0", + "@opentelemetry/semantic-conventions": "^0.24.0", + "@types/duplexify": "^3.6.0", + "@types/long": "^4.0.0", + "arrify": "^2.0.0", + "extend": "^3.0.2", + "google-auth-library": "^7.0.0", + "google-gax": "^2.24.1", + "is-stream-ended": "^0.1.4", + "lodash.snakecase": "^4.1.1", + "p-defer": "^3.0.0" + } + }, + "@grpc/grpc-js": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", + "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", + "dev": true, + "requires": { + "@types/node": ">=12.12.47" + } + }, + "@grpc/proto-loader": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz", + "integrity": "sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==", + "dev": true, + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.1.1" + } + }, + "@opentelemetry/api": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.2.tgz", + "integrity": "sha512-DCF9oC89ao8/EJUqrp/beBlDR8Bp2R43jqtzayqCoomIvkwTuPfLcHdVhIGRR69GFlkykFjcDW+V92t0AS7Tww==", + "dev": true + }, + "@opentelemetry/semantic-conventions": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", + "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", + "dev": true + }, + "@posthog/plugin-contrib": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", + "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==", + "dev": true + }, + "@posthog/plugin-scaffold": { + "version": "0.12.8", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.8.tgz", + "integrity": "sha512-T0ldNkc2maWlfa8XIthnfVzur2pg4+JDXhKm2ohuWmWB7wyP5/Sg7uIWohZ4bI+nW794uU5Uc9iMvpKHjQiX/Q==", + "dev": true + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "dev": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "dev": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "dev": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "dev": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "dev": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "dev": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "dev": true + }, + "@types/duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/generic-pool": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.1.10.tgz", + "integrity": "sha512-WRT/9taXh9XJRA9yvrbC02IqGZhK9GbFE/vuP2LeSLrqmDzz5wdXsH0Ige/F+3+rbbZfwH3LEazDsU0JiSV3vA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", + "dev": true + }, + "@types/node": { + "version": "16.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz", + "integrity": "sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "dev": true + }, + "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": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dev": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==", + "dev": true + }, + "gaxios": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz", + "integrity": "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + } + }, + "gcp-metadata": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.0.tgz", + "integrity": "sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==", + "dev": true, + "requires": { + "gaxios": "^4.0.0", + "json-bigint": "^1.0.0" + } + }, + "generic-pool": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz", + "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", + "dev": true + }, + "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==", + "dev": true + }, + "google-auth-library": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.6.2.tgz", + "integrity": "sha512-yvEnwVsvgH8RXTtpf6e84e7dqIdUEKJhmQvTJwzYP+RDdHjLrDp9sk2u2ZNDJPLKZ7DJicx/+AStcQspJiq+Qw==", + "dev": true, + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^4.0.0", + "gcp-metadata": "^4.2.0", + "gtoken": "^5.0.4", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + } + }, + "google-gax": { + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.24.2.tgz", + "integrity": "sha512-4OtyEIt/KAXRX5o2W/6DGf8MnMs1lMXwcGoPHR4PwXfTUVKjK7ywRe2/yRIMkYEDzAwu/kppPgfpX+kCG2rWfw==", + "dev": true, + "requires": { + "@grpc/grpc-js": "~1.3.0", + "@grpc/proto-loader": "^0.6.1", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "fast-text-encoding": "^1.0.3", + "google-auth-library": "^7.6.1", + "is-stream-ended": "^0.1.4", + "node-fetch": "^2.6.1", + "object-hash": "^2.1.1", + "proto3-json-serializer": "^0.1.1", + "protobufjs": "6.11.2", + "retry-request": "^4.0.0" + } + }, + "google-p12-pem": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", + "integrity": "sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "gtoken": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz", + "integrity": "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==", + "dev": true, + "requires": { + "gaxios": "^4.0.0", + "google-p12-pem": "^3.0.3", + "jws": "^4.0.0" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "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==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", + "dev": true + }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dev": true, + "requires": { + "bignumber.js": "^9.0.0" + } + }, + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dev": true, + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", + "dev": true + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "dev": true + }, + "proto3-json-serializer": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.3.tgz", + "integrity": "sha512-X0DAtxCBsy1NDn84huVFGOFgBslT2gBmM+85nY6/5SOAaCon1jzVNdvi74foIyFvs5CjtSbQsepsM5TsyNhqQw==", + "dev": true + }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "retry-request": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", + "integrity": "sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "extend": "^3.0.2" + } + }, + "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==", + "dev": true + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "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==", + "dev": true + } + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/package.json b/plugin-server/src/cdp/legacy-plugins/pubsub/package.json new file mode 100644 index 0000000000000..c14356534d587 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/package.json @@ -0,0 +1,13 @@ +{ + "name": "@posthog/pubsub-plugin", + "private": true, + "version": "0.0.8", + "description": "Export PostHog events to Google Cloud Pub/Sub on ingestion.", + "devDependencies": { + "@google-cloud/pubsub": "^2.16.0", + "@posthog/plugin-contrib": "^0.0.5", + "@posthog/plugin-scaffold": "^0.12.0", + "@types/generic-pool": "^3.1.9", + "generic-pool": "^3.7.8" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json b/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json new file mode 100644 index 0000000000000..a3f5ddd07bd91 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json @@ -0,0 +1,44 @@ +{ + "name": "Pub/Sub Export", + "url": "https://github.com/PostHog/pubsub-plugin", + "description": "Sends events to a Pub/Sub topic on ingestion.", + "main": "index.ts", + "posthogVersion": ">= 1.25.0", + "config": [ + { + "key": "googleCloudKeyJson", + "name": "JSON file with your google cloud key", + "type": "attachment", + "required": true, + "secret": true + }, + { + "key": "topicId", + "hint": "A topic will be created if it does not exist.", + "name": "Topic ID", + "type": "string", + "required": true + }, + { + "key": "exportEventsToIgnore", + "name": "Events to ignore", + "type": "string", + "default": "$feature_flag_called", + "hint": "Comma separated list of events to ignore" + }, + { + "key": "exportEventsBufferBytes", + "name": "Maximum upload size in bytes", + "type": "string", + "default": "1048576", + "hint": "Default 1MB. Upload events after buffering this many of them. The value must be between 1 MB and 10 MB." + }, + { + "key": "exportEventsBufferSeconds", + "name": "Export events at least every X seconds", + "type": "string", + "default": "30", + "hint": "Default 30 seconds. If there are events to upload and this many seconds has passed since the last upload, then upload the queued events. The value must be between 1 and 600 seconds." + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json new file mode 100644 index 0000000000000..d87871683dfaf --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ES2019"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000000..409f02992bc04 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,39 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "[ISSUE]" +labels: bug +assignees: '' + +--- + +**Describe the issue** +Enter a clear and concise description of what the bug/issue is. + +**To Reproduce** +Mention the steps to reproduce the behavior that causes the bug/issue: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 0000000000000..48bf36579724d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: "[ENHANCEMENT]" +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md new file mode 100644 index 0000000000000..18a3022713328 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md @@ -0,0 +1,13 @@ +**Fixes** # (*issue*) + +## Type of change +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] This change requires a documentation update +## Checklist: +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have added unit tests for the code +- [ ] I have made corresponding changes to the documentation diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore new file mode 100644 index 0000000000000..40b878db5b1c9 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc new file mode 100644 index 0000000000000..f0db82f111549 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS new file mode 100644 index 0000000000000..ad2f64e803898 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS @@ -0,0 +1 @@ +* @thtmnisamnstr diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000000..ace4717c0aafe --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md @@ -0,0 +1,80 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at **contact@rudderstack.com**. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [https://www.contributor-covenant.org][contributor-covenant]. + +For answers to common questions about this code of conduct, see the [FAQs][faqs]. + + + + +[homepage]: https://www.contributor-covenant.org +[contributor-covenant]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +[faqs]: https://www.contributor-covenant.org/faq diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md new file mode 100644 index 0000000000000..6362556d6df89 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md @@ -0,0 +1,47 @@ +# Contributing to RudderStack # + +Thanks for taking the time and for your help improving this project! + +## Getting Help ## + +If you have a question about rudder or have encountered problems using it, +start by asking a question on [Slack][slack]. + +## Rudder Labs Contributor Agreement ## + +To contribute to this project, we need you to sign to [Contributor License Agreement (“CLA”)][CLA] for the first commit you make. By agreeing to the [CLA][CLA] +we can add you to list of approved contributors and review the changes proposed by you. + +## Installing and Setting Up \*\* Software Name \*\* + +\*\* Describe, in detail, how to setup and start using the software. \*\* + +## Submitting a Pull Request ## + +Do you have an improvement? + +1. Submit an [issue][issue] describing your proposed change. +2. We will try to respond to your issue promptly. +3. Fork this repo, develop and test your code changes. See the project's [README](README.md) for further information about working in this repository. +4. Submit a pull request against this repo's `main` branch. + - Include instructions on how to test your changes. +5. Your branch may be merged once all configured checks pass, including: + - A review from appropriate maintainers + +## Committing ## + +We prefer squash or rebase commits so that all changes from a branch are +committed to master as a single commit. All pull requests are squashed when +merged, but rebasing prior to merge gives you better control over the commit +message. + +We look forward to your feedback on improving this project. + + + + +\*\* Update variable links. \*\* + +[slack]: https://resources.rudderstack.com/join-rudderstack-slack +[issue]: https://github.com/rudderlabs/rudder-repo-template/issues/new +[CLA]: https://rudderlabs.wufoo.com/forms/rudderlabs-contributor-license-agreement diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE new file mode 100644 index 0000000000000..2abc92cbcbe63 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 RudderStack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md new file mode 100644 index 0000000000000..c7a3198255588 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md @@ -0,0 +1,90 @@ +

RudderStack - Customer Data Platform for Developers

+ +

+ +

Customer Data Platform for Developers

+ +
+ + + +# RudderStack PostHog Plugin +
+ + | **Send events from your PostHog instance to RudderStack** | +| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + + + +Questions? Please join our [Slack channel](https://resources.rudderstack.com/join-rudderstack-slack) or read about us on [Product Hunt](https://www.producthunt.com/posts/rudderstack). + +
+ + +## Get Started + + - Create a PostHog source in your [RudderStack dashboard](https://app.rudderstack.com/). Learn more about adding a source in RudderStack [here](https://docs.rudderstack.com/get-started/adding-source-and-destination-rudderstack). + + ![PH-init](https://github.com/rudderlabs/rudderstack-posthog-plugin/blob/master/images/PH-init.png) + + - After adding the source, it should look something like the following: + + ![PH-source](https://user-images.githubusercontent.com/59817155/109136455-2416f100-777e-11eb-83db-342bee7f119b.png) + + - Get the source `write-key` and your `RudderStack server URL` (also called the `Data Plane URL`). + - Copy this repo URL. + - Go to your PostHog dashboard, and add a custom plugin with this URL. + + ![PH-plugin](https://github.com/rudderlabs/rudderstack-posthog-plugin/blob/master/images/Screenshot%202021-02-22%20at%207.49.50%20PM.png) + + - Once added successfully, you will need to configure the RudderStack plugin with the source write key and RudderStack server URL that you copied above. The default RudderStack server URL is configured to https://hosted.rudderlabs.com/v1/batch. Append `v1/batch` to this URL. + + ![PH-plugin-config](https://github.com/rudderlabs/rudderstack-posthog-plugin/blob/master/images/Screenshot%202021-02-22%20at%207.50.55%20PM.png) + + - Finally, enable this plugin and you should start seeing events sent to your PostHog instance flowing to this RudderStack source. + + For more info on PostHog plugins, check [this](https://posthog.com/docs/plugins/overview). + +## License + +**RudderStack PostHog Plugin** is released under the [MIT License][mit_license]. + +## Contribute + +We would love to see you contribute to RudderStack. Get more information on how to contribute [here](CONTRIBUTING.md). + +## Follow Us + +- [RudderStack Blog][rudderstack-blog] + +- [Slack][slack] + +- [Twitter][twitter] + +- [LinkedIn][linkedin] + +- [dev.to][devto] + +- [Medium][medium] + +- [YouTube][youtube] + +- [HackerNews][hackernews] + +- [Product Hunt][producthunt] + +[slack]: https://resources.rudderstack.com/join-rudderstack-slack +[twitter]: https://twitter.com/rudderstack +[linkedin]: https://www.linkedin.com/company/rudderlabs/ +[devto]: https://dev.to/rudderstack +[medium]: https://rudderstack.medium.com/ +[youtube]: https://www.youtube.com/channel/UCgV-B77bV_-LOmKYHw8jvBw +[rudderstack-blog]: https://rudderstack.com/blog/ +[hackernews]: https://news.ycombinator.com/item?id=21081756 +[producthunt]: https://www.producthunt.com/posts/rudderstack +[agplv3_license]: https://www.gnu.org/licenses/agpl-3.0-standalone.html +[sspl_license]: https://www.mongodb.com/licensing/server-side-public-license +[mit_license]: https://opensource.org/licenses/MIT +[config-generator]: https://github.com/rudderlabs/config-generator +[config-generator-section]: https://github.com/rudderlabs/rudder-server/blob/master/README.md#rudderstack-config-generator +[rudder-logo]: https://repository-images.githubusercontent.com/197743848/b352c900-dbc8-11e9-9d45-4deb9274101f diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-init.png b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-init.png new file mode 100644 index 0000000000000000000000000000000000000000..6b02f8d70c57406dd023cf3fe439b5610797c44f GIT binary patch literal 70137 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�!>tqoK`KtVu7Kv9YXLApwl4hjeeDAGf*A-(q! z5D`&8dXe5idhZaLQbZD32tD-BBP1b^5ONoLpYz>w#&^!$?(g^g!5ECN$Xe@t=R523 z%qd4YhzC0m#j;2~)>}!7DA1}zKDuDAKxGbr)^!ZhQ4Mt1^4=!$7aRwvF^M-v#CM}1 z)u{C{A8J;9f(A`rSkBr}jEH|z6Z(e36+x_ACQ@)hXAMmrvm;3!*{LaE=OL&zR`;}c z<3ppba%H~$W>1mByGzRxZqD3WDW0Ee^GKpG&Fgtcl9VTDZ_lNVJMq1RO~%sl7m=As z^i5=f_V1XtqT7F%H%Y_${06UPBF=&YoXVnND9#i9C}d~uDui}k2tG;$w>%Z2MA44$ zUQDA8+3@P)oz8;NiuQc(YHvFja9o(UHolCy9Ma&&jWic8K}~&|7iDaZW0S;-JihvI zZ}C=6O2JVc^?O-`Tm?Cz)lsehkuux0Jb8 z0Mf|kWM)H#-)BC~!;~J)BZ8Em&O>7B^Uq3|Xd+^xv%5U{%TC^*DFwr%YE zdKBJo)RBQ|-XaPwovEA`dzk}ZjNP&ZOW-{|;-B(5nGHx0#Ik)>@p^T;Qmt`fo`Jz zkyas**~Efv$6y0QaG~(oeK|l}NjGz*h@04Z{?0rMa|Xi@Z-gQD7AhXIq1_g#OWw~D zhU;MtgGFk!Z<8aJi7UT@FAlUh^G8{N`qVL2fJG8vRm@?i^YLNMK_TyGc67X~fD80K zD$ea8W6~SdXV}aL6&@JB_sN7~8rmW!&~QPM7U>NnD;~sn&bTMS7&43v+{fx@m%Ej- zqy(QeOslfMz4^W^pp3!*s)yTT8wEG*Bi|jaD8Q9{>vXmK=_O&%E=A&w6#Q%|k?xFC z2*A!O>+7<`tPIfQoFN{^q|V?_&7K$HTN*be`NQ+F-xll@AJ9Jkt~jhdDOJw60xvb> z#Ngxsn=E=U-@}029E{U5HyK88lJ|RR%*_HwxWZDUPC1HFs5ArWyII~IPkDG56(f-5 z*o`V*DbDZ)0d7qjRx{a8*G=#lnAD^bH2?$k1No2I@?)*a=Oh%OLo7F6oN%(>o@KM1 zE%yc!fC@oko6NlZ6`B-T0fS@2!FPIz>2pWRRNxT?X3hP358R)%l7e|nL9smATErZ) z)sGspByIb3*!?tDzw#$YEJW%>=X*B;AcY7ph1&Amhrh0vUA&I942RxeVD>rp6j51+ z&lVr4euOex?;VWyy1lw>&lw`dynvO@oJSG{*yA2%|@GG?oNo6s%kK<(kbehh{zVMlEh@@?aSv*eq$CM&IcOOz> zJ2b_!-37?{D`NG-sn-F*`UGN|7>FGa);2wdH*8FNwm{gpicLY1)!!cld`E9InIE9F zx7uQkOLFm3{{H^Xpu+7P^Wvu<-z&C8dwH_0&$E`jg#nnt!NY%}TK?w*ejJhtF{j!)hXCR^GD5W!n#CYFcOpd&+;q&pjCrCSmUb&kKtstZ;eA$D)iLip=50E6 z;MOnjF~{eopVdsWr(>nPhsuTYsvrib-eV4vhRT>GD^H+%3Q)K+6!*cdxHf~c z3n!{?R>VU&WW1cl+uqm#;dz!2(CGxA#Wf3<7L0y6ZW?mjL!-iH+Dr;{^XixFTiX)J zMrxo$m$FIEO1b=HvzUt4lZm4RdOa@v$EZVAb3f-MBfH|H^{MqmvzO&M#8}5-*v+2~ zKz|NZ8-7ciL>uc@Akrk_Hdw_+WM2WVu8lyrPXfe;!TLq}SXL%GfS-DHN|)F)rd7Na z_kLoN&U|0#>qgw|XUA%$Y?oo2hLCOo`m1NlZKhX8RAfYTLzG3G3~<3 zjJSQb0_uS~vUiDgI-r|@k2l6jK}{A}L?m!xSk4~aFF5)N*}|VU1p&d920^B9i6f?E z+5+g*aN2#S`V|nk)hvDg{L60W=aR6?IKa_N9n%AA!ZZT%3tMqA05=#l?2Ziw0V-_- z9ej&#XZT>_^8Bq`0H5gi)zMF|2af>IJOCg>jo>%vj4*sfuc0)wR(LBXJ_O0T7Ji+n z@AS;x4BB79^Z^Vc>w9>RhJTEY$ANk?a@0<=8MPJZvy<395v!m^-^;ZHM@ZZd{7pq4 z4HZX5k}9b;Y(1$ZbNRx$A#A9L0KQSZ>FRq-ncvE` zjPYkJ()H0keZ}%9_K-20yJLP-u?OLpee*0QRLy+P&#dFxT)-Pn^n+H+fZL zbU~;N0LhGEiH6Fkd6*g);a-mHarW(jiO!^qnR=RPm@R3P)1@JS_C19I4}j!_pw$-s zC3hQHqmo26PU05k83*E|1#`hOFOFeaBj{4iZ!o2UeX!yifApAKOq18+|!js*W!*N`X5 zff1=;LLq_e-j|I5m{To3)dl8rx?J54uF?{2iyQ`V9=0E&yka80W>!-KOo}t4W&rz| z5T0%%;#4M*t@O#cLX$@K5-5u;SgVEiN$qja2tZM1uQ$Ym=i2sJRn3pnI$8wj(_ZAu zTn!Z1x_7x!?7h-O9e!@7vR}{c629I(we;eAIVejzxHBgD(a2oZ*fBxV`Z(@pyW2EX%t$5hae20-?MS_z@=o|<_~S{I!2|5+C%j3`iw zrB%KCXkAgQHhM27%KWZ+(J|z+Lw2?-ZVf1Ggxg&0MD+FkT+5#k@^j@ugtE?YzTnADgy5bxkg!Zr3guAO%b0x~tEu$s3BuB3w47O2=jpGixWtE@ zKZXKg&W~tqG{9X# zDN)Y~v}#XMQtw*_Ycr;51N77}W82a<{Z;0CTW#OB@5Fl*oAo{VmJse_+h?975`0$v z82EBjc$7;lRKF?-Yv!pLYl}Hw-Q}J^pSm%rXa3~G9-#W@dTh4jIkrbhkLR6aAGFBx z*);&L&-cC>d)yT-@$$iKxT`wIJ> zL*nv`bWJ~?*;%(i{xL4cx!qw_1wVh=j9mo!a_htV3+Ban)X+s+MdDX|c3Gz~-`q)w z%VN^4o<+jzM)@Zi%in$Zq|4TVqp456WDKa}+R_X>b9zi)?W z_nsDqRE(pQOP_6{$vSqV@g|<4Ew>|YFap7kEqvPu)x_UyUCktO4w9zKp@Xgp{iNkS zFZty<$4c9hn7wDF7wZhb?(&i5AK+ETv2vEStuZ3At+xQpk$|W^D3B)=zIpnet^U6| z246n`l%(W}WHH*3{fjE2ynYj0=AW%JCQDT=>56FOmY06ZAd{(`P zrLQdyrepo^OGiekOt>6gpdyZ_Wc~)F_T;~x-wC6ITYc-5^waHw6jgqvQ4*_i6kBJa z@sN!we|m#i9RyJGKrK#Do(#1%8)JkoO1`vHKmd?GXbuX6P7xy_m1Yu1@l~aV@Q6GU zS2KC4n#DG$C!3N0n$%sOJfy60&xOw|0>0W7ytjoiitwC;_`QGKs+&1yBN%E%F&rkx zcG5(6B2H()sle>zFsE2_!M67?{_%D*Z$rc$4k-JF_!nUuN_AZrhpYzBZDjvTwO)mJ z2{v2jUNlDJyj=l!kh&g7`{G2inkN-{2%kdO5nxGZJ$@*5Ea=SaI>Ecw`T3T^zoyog zZ?@Ep0&p1qxuWbu2JDo=)@%au1|hAesgNGykAEK&|BJKrd1j`o$HlD+;-!;(Hu9wO zs1Rtu7=Bl0vZfUAWpQ;jb3=w>XgYBjyk1{KUa{^+e+2NH`b2yiAy)~<$EN590Dyl= zf3I3ulPEW98NLUJYopCgOB{ye>1R*x@w>N8;IQG2{qCtVoXFp)82A3s(Ha0I*UDke zt-hx44xEW_3Z>1lb#whZNp3}hg~Pj%=hrpai}{~0k_>JX*o-<-F^jFc%D7Zfbg_98 zkBI1UE9`_$t!PuD%6(WwoT(kruAzFoNuXMU5Bu#C6WtN>`SA4zT*6MXvtpPwvrOMW zCG-xR5?iGSOenZ@YB%xzBr$bz(Q7*PhrwQ(gDAj4A0d7E9o*On3f!OVlZXD%K3VtX z6UM+97d|=1S()ag7>!Ns07C5Th5~?v5f`I+R}f`b0wPo31_N-rT>vVw_8gbqs>z6L zX>G!Bzzig}@xjsN+}?0Kg9!l5X8Z2ABVO=OwdKz*Pj^3-zL)N|rEU3vA>@vgg#g8d zkmFJVWe3pK%?_YyGs3?1aQObjz6%XiIm!^V*4aOMZ=X@vJ#L5wa93nf#O;l}*0fSg z-G-F2GU6-g^#2^BGDjY7elY#|oyggCCY@EPqSMzp=DzaMb_q(J$WOFNb_%*Kay9VP z=$M4q%_y!XULpe-in=9S_QSWU$ubQCLP)6Gy({O?{u*yjoTNB)`W% z@`lq9O<3RU(u~YkdP1&j>xW;mHQq82Ywv-#d=YAp+|LY?E^8uqiDco+f zVu#){a{8e7&kz6dh5pz$1@Ng;P^JOB+ZCVo;i%||}_r$ncByu5enzlr^Sc--T=tRKsc6+}Hy^IL(y-+biDr{iM6#^z;$zP~yB zUk=-Ux$Egs4TU+GA-{Nvl#kj*fAf*=p5x_aE$#BA4jVZ4pO5%|yX(2Hi3+y^F#*6R zD>Aw4T~)(B=U4$#th{vf2t7Lzve#-(F)Npx78e+wnj}^=@HK5rZkU@Ai}=MW5^M3M zz93Kg@v&LoF0)GhufXUkinTs67`8N>n)LH#?6tu6elX0Jq(+kecBALGWdJIzX}*UvzIDP;D3}&Ua%@Ej%(yRdd7zG<59lB7}vr*W^e1fBKYuR8C>a``N!rm z(lUMF(I!LRZBtD`iTBsn%NK>d<*24pze`F#%gN-Q~l?Q{reWID;v}G!g1?pjxcs5kMy&Xq|4Ep z)4|@4(yGt|qu4yiCY^PvgefpO(1kz`7a{TX2?=b)ZG~J(!mn-V;MN2kbo4zU;*wwJ zYc)J7Xff9xn;&tn~Yi$Y|J5jXzuXfVoT8YISQ8uD5L15C;?pKaA0A?PSxH_uO*J0N8QT*J*br zpT=+QR(zN1PfQ8%c?=C5J~xue!@|_vAm*rQ&Dy1#TO9T&ZuJ(B2ZpEh8K7 z6Ut#~eP2TE&T9Me3w_;~m~|dM{4jx3JBTH!gsm`6=n_cV*{iOeUL#NL>;2$F^3#4N zzTz`EfQ6YgG=vc#5*t4Zt_%+4_Bak~XQeLWHMw{W)mhFqdyh)cCd_CN9AxB@d#?OW zA>$wJbS4iSHqHcl$o6brCiwaHejfELVMi5Lnxi9m=ab7tFm!@9rzz)vu!(c{#qt0b z>_kxxti>~I)m5u)`Sl!BFmTCAMZ)VDeu_qCXZVv(FPv?AM!)MVQ&Y!N3y;(Bj%hq% zNco|oAI9JolFOqQ8GH)LdRkQacPfs5h7*BQLO_FsuwGwUJDfyh z@3g0I#6?25lvb!p_-8qo_ffeHekx=LwJE2e-p9EeDTf%?f3zaw`5N0uG$7aybG`fw zXaJR->5*Aouy^@S;#`q_h&>{|Fn^kAeesRWYRl`N4@+0f*d*@9GScxmaY)w%2b4DP zxoOPFxT9^0G717Qa)qphA6-{kyi!LseI-0j?b$NC${4vY=}ouuvB?2p3dc8Ze+1P% zo@@F3&hvLbYFvLdu~e`;{l|W%^D{%Aofd~f6RJM7MXsy}w>Dy@HV;=_FHK{ZGkCY5<$~t1=QbHLE*x~EGnvK7Y85@88N6|4gtu?-w`f;`x>E49C(1dCU zoQ3%#@BzZX*yHF#A16WD`U^2^)DQn&RBs^a-T7vX?YA#rI}z;xx+djF7vk3QkY`N(d#O#tesLBSW={z9h$=paV_ zt>TqK2|;s3v&m%L9c-%~JYxW@gFMG)2tFhBgB&2FJDx;ks(V(vM4jE5$vRv{g_u6f z4OZg=_BS;DY3{=$8>#0Wy^qQ%jopOQT87)p7ekC)Xv%r0`W-p#XZ_X#z#vXmcbm4X zDG#X^M{Y#_s>Q;LgCuDV>5p=@94o0S^}-W)-K}!;rx}UQ@y~7+!!DE&z`(kEla1Zz zZ@b{D0`;CZ1gnTk()dELMnvAe;lPuPlaWj*g62fb6&=fX98S9H5W@m`c2Ld4`dMx& zliPO;LE3|i*9sdtfLf2ZFB?c|;}5ebt^7x#A+c*>k37)aL^FoSffYny;f$-%_Xjr} zfALz{;2#$y^to4{o0^bV>AFo~ubKE3<8F={ zF_Ny)I)QkbUjKZsjTI0uK3am5YSp5}C{$%&4`gUCBV<5M=2 zQXTIWN%f6dRlA`%6Y=F4Yn^N2*ZA8qsChhN*8A`(7-9*y=3?m~&zVSxfZlu|EB)dZ z9S!*}Q2r^Y8=aQ^KFcX6t8=@BJ`fxf_h3 za-dcJy?Y^_^!OP;fZe-k-qom=F@05&16yG53XSvs;*DMz!u~>BxR5~)9+P~$qSYj7 zJl1vwu`@D#BAiuwkjo`6<09U;;m52_%h-A6kqh#=Ej~pbT3^A!zIpFWkncVmz-y~5 zgHR8{urt3Nll(le_Z>gEyU+E+Z&%YNCy_=2eaNtnE2@rIe?c?!(l}S5Rd$WfUQ#)I z`soy^5~3qG?WaE>b9^r3c|L9`P@3GF76m4N<&W-HeG-MHu~6;W*HhvqUQ?c5DG+Wn zpa0^fHtgG9)Q_K9y1JE-(pa4exJN=*&QzD_sTg^=^>_0Q*?SUrQeGfQUof~$5S4xn zDR-eQR0!!AG?Kf!g~?tNF!Yd?ILGVXF_t0a;_tupn4p!9;M$qhz_r@-jAaI$d?OEj zwCg(niIr$Gq;a!f)xNQp+~HnTN}^-Q#ZbqX$KkRQ(RcicM!6 zd?qNTRI`Ss6>nIy*GV+2xgsH478Me8ibGrr=jd8P%z;dI4#q%@@&{HLhe8cCeMi9VfG$T{X7h z2&(1M-D0Xvv1=&AV}i{!9rL^ymen>m+&Ilwci4j8jF6&Fq^BmUjq+ebaVDLKmwm{e7>t;KX4Wl78uGrZsMG5gIxijsJvr`_CpcKr4GlA{| zx(Q!+gq>PyX$Zx_&E-od+1;F;RjPT}U51>6pGp9`o3D|@NuGfWBofu-X^5Q%D0e;Xq>H60e^vrM6 z=6}hWJ`ogJ`r2>QE*_9nnpf#kG|H`8Oy6a{_Th^?f<^r&XH^p2P4SeRlPC((CSGW}-w{;2qgn6BvW4=6&Xg-vGVCc1(`i${327*E6SV6{0+^ay~e?Edc_Aj_X`nDE~UmQZGM?27dx3>!rGKb%T&Hl zZhcA5sS!)%?e=(VlFs$}l&Y()yCUE^jxyMocJ_=>fPkTMjp)zhlAwU}Px(_E zFkHF~+Hw>>@zsF<6!fmtXX661Kp$n>4qc}Q5Q`qL3UTWC+$lU$WKW&r3(sb4whg{q z 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 b{P3S~&utUqvdW+?1|aZs^>bP0l+XkK!eIaw literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.50.55 PM.png b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.50.55 PM.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1ae83824517ed38f9891dcf59efe763141962f GIT binary patch literal 396690 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%0Ae@Z8R?MQZHv$JIn!G!>q@phR`Pzhf1Wop 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

H>iEScrPmF8z^V-bqW)8m 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 { + if (propKey.slice(0, 1) != '$' && event.properties[propKey] != undefined && event.properties[propKey] != null) { + set(rudderPayload, `properties.${propKey}`, event.properties[propKey]) + } + }) + + return rudderPayload +} + +function constructPayload(outPayload, inPayload, mapping, direct = false) { + Object.keys(mapping).forEach((rudderKeyPath) => { + let pHKeyPath = mapping[rudderKeyPath] + let pHKeyVal = undefined + if (direct) { + pHKeyVal = pHKeyPath + } else if (Array.isArray(pHKeyPath)) { + for (let i = 0; i < pHKeyPath.length; i++) { + pHKeyVal = get(inPayload, pHKeyPath[i]) + if (pHKeyVal) { + break + } + } + } else { + pHKeyVal = get(inPayload, pHKeyPath) + } + if (pHKeyVal != undefined && pHKeyVal != null) { + set(outPayload, rudderKeyPath, pHKeyVal) + } + }) +} diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/logo.png b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a02f36323cb4c8dfa04ea6b98af981b81ac50430 GIT binary patch literal 1256 zcmVP)@ek?a%is(zr4Zn$F8&@mUhLhmuH;H@3P|Jg8NA>Vtjr_ zQUAt3$Fmsfu85&-%LwT7KE|USml4oJJx5R{Y863Us|bg6rEViU>Rv4(sB?7}p;o0{ zBfP9iRS{~9aadEOBJ}#GA{e631-j!>&o%Luh9^(jKF5qdqI zROw!m?K^rKp;je7Tpv&BU4&YdnnkEpzSl#oMyOSOxbA9Iy4P*33J=%I8kJs#j#@3{ zYZV`^BmJn02(?NNSN*a|57$YfRuO6y9yd#z+^ zZHDWsY^{2@CNtSub+1yt4YalD;W`ph_X-}?+f209rq?es(OUIzO|EC6wd!84gw$=P zp5D}{jM~+zhwF=sdhFHHKOaQYq(|#suSL{RuP*Du5>eN^dK#{mB5Gf&9I>Bn!D^EROwH>ZJ71!D>LtJ&I?8ACst8=X0x5Kqj z!|q&{%6V9|S_#zJEkm99U7%JlTpRU=K&`M>tv>N{w~RV!SEpqjI4#ly8%Q%~>o z;WC8OD*UU(9Iiku7_}P16{uP8SBtR>AvI;xik2ay4sLc$s5fZ1LbVF6)f}!+ErM&s z%Mezx;9AY$3e`NgR;yQ_rlGZ3!xgH-n%z?B(&!bcRbZ`luTWhD)@lt`q~?LO5{CuU z0mn5VQM?Qp>L#pKd$?k?3aXXp6{$r~t@d!m>W9tFY1JIASj~fKHJ2e%-2}a?M6Xya z18TLFAxkX+Y9)rNp{_g^LG-h`Q_TZvrFz9`>R+q93|Z>g<2oq!VHv#|YUN!kHC#<~ zQAt?%`^wg=ekiO_NqL&svFPh){FS zTEWlmXVlcMR(iNvs-xM1Qzd(~)WWM)>!#^YSA!Qp*D^$@xyM(FYq;8K>QgJZ3{fg| zTt~OMpbyJZE00=Tz1nIq=-PI6xDsmSQ7gF&k!tSovO0z

BrPihp)LuU3O=bsv_k z7Q+@n=Q2dA+2C4T!SjCDe4_SBrbNQYvotcusW;S5mD8*6LV>9O`Odt?pha zHT&?|c6J$ZsOhj;-NThsHv<+y;%E1d)c&}>{yg{jb^2@mk)PB5_!Iur&He``KcRfs S5;A1~0000w5Ao zU@~AJ1NeK3H*N)wBNJn$$CsmuHNYg1$l)agm=ox%Q7k|(6SEI5ivaT}mt_Lk;Be|$ zNeKbwLnB%zkl?y5rU?%NOtVlRcd+*}&^8viEG~wrEHrf{2FDvonnf53`-N#1Vt|P} z%>wkRmq5(|bTe5w8g`+ViAWOxbTW}kB!`$R$h37t4-=tIi_kHrlue|AiEtu(T+9^{myn???<*ODq!kX zhmlz4xYHL{ZR78rT-P;Sx3;cf=BByCq*>c^-Qp7oIm0sbXwwh1v50hZ8=FW_hUy7| zG4OP&Ly_4;{9JFyB4R4?Z?)l)NSWX!53~#;Iqj0ePKAq})511Pd@6{9Y=wKZMWHPT zG|T%`U&OTKie8Hn)kpde97qE&7mei$uV=Vy;M#N^Q-^3hh!#v_xxSb(TDIcy!-W z#!e#VGT=5roeXv^h~8ln6A>44p-qSQlnMcRpb5?wbj(2okOU;jFUK@rKE#YiJ?Z5E zRtjB*%1Zl7VTauKM8py=SZa3I&twmf8;Awp3uin$i7@=ICY|ge4-NU@e{;slY066; zwUN-(hn4WJnMii792nMkMTPq)Zt+- z7GC7e-O zWI!1|sm4wsjq%)*FNyvZomhCcBNC4-L~Df=R)7jW-9YBgxBa)20c(FJ3t01!-qO=4Oy91kS>O}mpBcf|? zkSiO4PZjv&ev^nyacZw{%Y8(e0&(<_0yf#<0rL$zB48wVEXHF*mJ9j9*1xHO6ay4d zr;B4_r~_jKtg#~OW*FZJ#<$u{bgMB^icYa;V(}hT&EOLSGM__hAq5BSV%*M^I2zHZ z%CpmIuRgRU3nBK!@DJltm!d(l>uYk-BwL?iNVhYQZ%PWqW6)@KX|Y@LhGC6J(?pu4 z9!J0!cBe-eBJwIqevdI1Jd)$wjmAU~Re|2tL+e9wxiei#vhIqy;e}izy zW>19<(UP^h>UO@B((+ub%vxk?Yt~<`E}lZj88vpA$P_dJ=w~(dn#fb251!mn7i%bg zMZ}V)oh*_pos7$spdTV~y~!hf zOFH3ZOZRt(-0Zr^-;yTW?H-Cf$9TZ)S%Dwek`A~(^C12t4S;hv^B0VSb;$GwjD&Ys zR=#d=5B&<)E&k^Uvi(-iXBU!1()CG?Tr27QG)bo88u(aDqDaO*-;>5<{DaC@m8;y) zdHRX#r1NcK@TZTC$4I=*1ScBPz5*Y*=wSx>zSZF{c}XVoFHM-foc0or5A%MOAK<~i z!AUxg51h4HN99j16)6tH{4|eGJP}00ZT%R<6dFq|d4X;2G}Qh9lSlU;4Di9Bc6{bl zJ-o1*MnPy;B))QE$b`E>hKY=hlyGb#-Qi-V-QF_JWKbkz&c@`!X)j+tIc6o(uA002ovPDHLkV1i!* BScCuo literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/package-lock.json b/plugin-server/src/cdp/legacy-plugins/salesforce/package-lock.json new file mode 100644 index 0000000000000..802fd12f6d5c6 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/package-lock.json @@ -0,0 +1,16614 @@ +{ + "name": "@vinovest/posthog-salesforce", + "version": "2.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@vinovest/posthog-salesforce", + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "@posthog/plugin-contrib": "^0.0.5" + }, + "devDependencies": { + "@posthog/plugin-scaffold": "1.4.2", + "@types/jest": "^26.0.19", + "@types/node-fetch": "^2.5.8", + "@types/qs": "^6.9.6", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "eslint": "^7.0.0", + "jest": "^26.6.3", + "lint-staged": "~10.5.3", + "prettier": "^2.2.1", + "rimraf": "^3.0.2", + "standard-version": "^9.3.0", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "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", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "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": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "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" + } + }, + "node_modules/@babel/traverse/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.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 + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "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" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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, + "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/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@maxmind/geoip2-node": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz", + "integrity": "sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA==", + "dev": true, + "dependencies": { + "camelcase-keys": "^7.0.0", + "ip6addr": "^0.2.5", + "maxmind": "^4.2.0" + } + }, + "node_modules/@maxmind/geoip2-node/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@maxmind/geoip2-node/node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@maxmind/geoip2-node/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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@maxmind/geoip2-node/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@posthog/plugin-contrib": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", + "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==" + }, + "node_modules/@posthog/plugin-scaffold": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.4.2.tgz", + "integrity": "sha512-/VsRg3CfhQvYhxM2O9+gBOzj4K1QJZClY+yple0npL1Jd2nRn2nT4z7dlPSidTPZvdpFs0+hrnF+m4Kxf1NFvQ==", + "dev": true, + "dependencies": { + "@maxmind/geoip2-node": "^3.4.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", + "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.20", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", + "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "dev": true, + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.14.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", + "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==", + "dev": true + }, + "node_modules/@types/node-fetch": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", + "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.13.0.tgz", + "integrity": "sha512-ygqDUm+BUPvrr0jrXqoteMqmIaZ/bixYOc3A4BRwzEPTZPi6E+n44rzNZWaB0YvtukgP+aoj0i/fyx7FkM2p1w==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.13.0", + "@typescript-eslint/scope-manager": "4.13.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.13.0.tgz", + "integrity": "sha512-/ZsuWmqagOzNkx30VWYV3MNB/Re/CGv/7EzlqZo5RegBN8tMuPaBgNK6vPBCQA8tcYrbsrTdbx3ixMRRKEEGVw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.13.0", + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/typescript-estree": "4.13.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.13.0.tgz", + "integrity": "sha512-KO0J5SRF08pMXzq9+abyHnaGQgUJZ3Z3ax+pmqz9vl81JxmTTOUfQmq7/4awVfq09b6C4owNlOgOwp61pYRBSg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.13.0", + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/typescript-estree": "4.13.0", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.13.0.tgz", + "integrity": "sha512-UpK7YLG2JlTp/9G4CHe7GxOwd93RBf3aHO5L+pfjIrhtBvZjHKbMhBXTIQNkbz7HZ9XOe++yKrXutYm5KmjWgQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/visitor-keys": "4.13.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", + "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz", + "integrity": "sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/visitor-keys": "4.13.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz", + "integrity": "sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.13.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "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" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "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, + "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" + } + }, + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "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, + "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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/conventional-changelog": { + "version": "3.1.24", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", + "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", + "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", + "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", + "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", + "dev": true, + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^4.0.18", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "shelljs": "^0.8.3", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-changelog-core/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==", + "dev": true + }, + "node_modules/conventional-changelog-core/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==", + "dev": true, + "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/conventional-changelog-core/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", + "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", + "dev": true, + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0", + "trim-off-newlines": "^1.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": 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/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "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, + "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 + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "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, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotgitignore/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "once": "^1.4.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==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "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, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "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==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "dependencies": { + "null-check": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "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, + "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==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "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, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "bin": { + "get-pkg-repo": "cli.js" + } + }, + "node_modules/get-pkg-repo/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "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/get-pkg-repo/node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/git-raw-commits": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", + "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "dev": true, + "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-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "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 + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/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==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/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, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ip6addr": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", + "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2" + } + }, + "node_modules/ip6addr/node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/ip6addr/node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "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, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-changed-files/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, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "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==", + "dev": true + }, + "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, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "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 + }, + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "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==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=6" + } + }, + "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, + "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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/lint-staged": { + "version": "10.5.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", + "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lint-staged/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, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/listr2": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz", + "integrity": "sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "figures": "^3.2.0", + "indent-string": "^4.0.0", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rxjs": "^6.6.3", + "through": "^2.3.8" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "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 + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maxmind": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.8.tgz", + "integrity": "sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg==", + "dev": true, + "dependencies": { + "mmdb-lib": "2.0.2", + "tiny-lru": "9.0.3" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "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/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true + }, + "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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dev": true, + "dependencies": { + "mime-db": "1.45.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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mmdb-lib": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", + "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", + "dev": true, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "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 + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", + "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_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==", + "dev": true, + "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/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "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": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "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": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", + "dev": true + }, + "node_modules/parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "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" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "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 + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "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, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "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==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "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, + "engines": { + "iojs": ">=1.0.0", + "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==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "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 + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "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, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "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": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/standard-version": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.3.0.tgz", + "integrity": "sha512-cYxxKXhYfI3S9+CA84HmrJa9B88H56V5FQ302iFF2TNwJukJCNoU8FgWt+11YtwKFXRkQQFpepC2QOF7aDq2Ow==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.24", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.5.0", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "fs-access": "^1.0.1", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "bin": { + "standard-version": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/standard-version/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==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/standard-version/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/standard-version/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/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==", + "dev": true, + "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/standard-version/node_modules/wrap-ansi/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/standard-version/node_modules/wrap-ansi/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/standard-version/node_modules/wrap-ansi/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==", + "dev": true + }, + "node_modules/standard-version/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/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==", + "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" + } + ] + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "node_modules/table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "dependencies": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/table/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==", + "dev": true + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tiny-lru": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-9.0.3.tgz", + "integrity": "sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "dependencies": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "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, + "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, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-js": { + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", + "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.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==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "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, + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", + "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "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 + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "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/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "requires": { + "@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", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "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 + } + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "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" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "@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, + "requires": { + "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" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@maxmind/geoip2-node": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz", + "integrity": "sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA==", + "dev": true, + "requires": { + "camelcase-keys": "^7.0.0", + "ip6addr": "^0.2.5", + "maxmind": "^4.2.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + } + }, + "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 + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, + "@posthog/plugin-contrib": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", + "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==" + }, + "@posthog/plugin-scaffold": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.4.2.tgz", + "integrity": "sha512-/VsRg3CfhQvYhxM2O9+gBOzj4K1QJZClY+yple0npL1Jd2nRn2nT4z7dlPSidTPZvdpFs0+hrnF+m4Kxf1NFvQ==", + "dev": true, + "requires": { + "@maxmind/geoip2-node": "^3.4.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", + "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.20", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", + "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "dev": true, + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "dev": true + }, + "@types/node": { + "version": "14.14.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", + "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==", + "dev": true + }, + "@types/node-fetch": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", + "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "dev": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.13.0.tgz", + "integrity": "sha512-ygqDUm+BUPvrr0jrXqoteMqmIaZ/bixYOc3A4BRwzEPTZPi6E+n44rzNZWaB0YvtukgP+aoj0i/fyx7FkM2p1w==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.13.0", + "@typescript-eslint/scope-manager": "4.13.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.13.0.tgz", + "integrity": "sha512-/ZsuWmqagOzNkx30VWYV3MNB/Re/CGv/7EzlqZo5RegBN8tMuPaBgNK6vPBCQA8tcYrbsrTdbx3ixMRRKEEGVw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.13.0", + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/typescript-estree": "4.13.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.13.0.tgz", + "integrity": "sha512-KO0J5SRF08pMXzq9+abyHnaGQgUJZ3Z3ax+pmqz9vl81JxmTTOUfQmq7/4awVfq09b6C4owNlOgOwp61pYRBSg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.13.0", + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/typescript-estree": "4.13.0", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.13.0.tgz", + "integrity": "sha512-UpK7YLG2JlTp/9G4CHe7GxOwd93RBf3aHO5L+pfjIrhtBvZjHKbMhBXTIQNkbz7HZ9XOe++yKrXutYm5KmjWgQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/visitor-keys": "4.13.0" + } + }, + "@typescript-eslint/types": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", + "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz", + "integrity": "sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/visitor-keys": "4.13.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz", + "integrity": "sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.13.0", + "eslint-visitor-keys": "^2.0.0" + } + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "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 + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "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, + "requires": { + "@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": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "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, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "conventional-changelog": { + "version": "3.1.24", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", + "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + } + }, + "conventional-changelog-angular": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", + "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", + "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", + "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^4.0.18", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "shelljs": "^0.8.3", + "through2": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", + "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", + "dev": true, + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0", + "trim-off-newlines": "^1.0.0" + } + }, + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@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" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true + }, + "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 + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "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, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } + }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "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==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "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==", + "dev": true + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "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 + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "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==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "^1.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "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 + }, + "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==", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "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 + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", + "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "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-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "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==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "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 + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "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==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ip6addr": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", + "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2" + }, + "dependencies": { + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "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==", + "dev": true + }, + "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 + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "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, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "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==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "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 + }, + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "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==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "lint-staged": { + "version": "10.5.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", + "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "listr2": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz", + "integrity": "sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "figures": "^3.2.0", + "indent-string": "^4.0.0", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rxjs": "^6.6.3", + "through": "^2.3.8" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "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, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "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 + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "maxmind": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.8.tgz", + "integrity": "sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg==", + "dev": true, + "requires": { + "mmdb-lib": "2.0.2", + "tiny-lru": "9.0.3" + } + }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "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==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "dev": true + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dev": true, + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "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==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "mmdb-lib": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", + "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", + "dev": true + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", + "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "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==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", + "dev": true + }, + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "requires": { + "@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" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "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==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "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 + }, + "prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "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 + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "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, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "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==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "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 + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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 + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "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": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "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 + } + } + }, + "standard-version": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.3.0.tgz", + "integrity": "sha512-cYxxKXhYfI3S9+CA84HmrJa9B88H56V5FQ302iFF2TNwJukJCNoU8FgWt+11YtwKFXRkQQFpepC2QOF7aDq2Ow==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.24", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.5.0", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "fs-access": "^1.0.1", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + } + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "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 + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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 + }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==", + "dev": true + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, + "tiny-lru": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-9.0.3.tgz", + "integrity": "sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw==", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "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==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "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, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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 + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true + }, + "uglify-js": { + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", + "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", + "dev": true, + "optional": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "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, + "optional": true + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", + "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "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==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "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==", + "dev": true + } + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/package.json b/plugin-server/src/cdp/legacy-plugins/salesforce/package.json new file mode 100644 index 0000000000000..28f37f2c09530 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/package.json @@ -0,0 +1,47 @@ +{ + "name": "@vinovest/posthog-salesforce", + "displayName": "Posthog Salesforce Plugin", + "version": "2.0.1", + "keywords": [ + "posthog", + "plugin" + ], + "main": "dist/index.js", + "repository": "github:PostHog/posthog-salesforce", + "bugs": { + "url": "https://github.com/PostHog/posthog-salesforce/issues" + }, + "homepage": "https://github.com/PostHog/posthog-salesforce#readme", + "license": "MIT", + "scripts": { + "release": "./node_modules/.bin/standard-version --no-verify -a", + "test": "jest src", + "build": "npm run clean && npm run compile", + "clean": "rimraf dist/*", + "purge": "rimraf dist node_modules", + "compile": "tsc", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "format": "prettier --write .", + "format:check": "prettier --check ." + }, + "devDependencies": { + "@posthog/plugin-scaffold": "1.4.2", + "@types/jest": "^26.0.19", + "@types/node-fetch": "^2.5.8", + "@types/qs": "^6.9.6", + "@typescript-eslint/eslint-plugin": "^4.12.0", + "@typescript-eslint/parser": "^4.12.0", + "eslint": "^7.0.0", + "jest": "^26.6.3", + "lint-staged": "~10.5.3", + "prettier": "^2.2.1", + "rimraf": "^3.0.2", + "standard-version": "^9.3.0", + "ts-jest": "^26.4.4", + "typescript": "^4.1.3" + }, + "dependencies": { + "@posthog/plugin-contrib": "^0.0.5" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/plugin.json b/plugin-server/src/cdp/legacy-plugins/salesforce/plugin.json new file mode 100644 index 0000000000000..26e3b5e0c6b05 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/plugin.json @@ -0,0 +1,88 @@ +{ + "name": "Salesforce Export Plugin", + "url": "", + "description": "Relay PostHog events to Salesforce", + "main": "src/index.ts", + "posthogVersion": ">= 1.27.0", + "config": [ + { + "key": "salesforceHost", + "name": "Salesforce Service Host", + "type": "string", + "hint": "Usually in the format of https://.my.salesforce.com", + "required": true + }, + { + "key": "username", + "name": "Username", + "type": "string", + "required": true + }, + { + "key": "password", + "name": "Password", + "type": "string", + "required": false, + "secret": true + }, + { + "key": "consumerKey", + "name": "Consumer key", + "type": "string", + "required": true, + "secret": true + }, + { + "key": "consumerSecret", + "name": "Consumer secret", + "type": "string", + "required": true, + "secret": true + }, + { + "key": "eventsToInclude", + "name": "Events to include", + "type": "string", + "hint": "Comma separated list of events to include. If not set, no events will be sent" + }, + { + "key": "eventPath", + "name": "Path of the url where events will go to. No leading forward slash", + "type": "string" + }, + { + "key": "eventMethodType", + "name": "The type of method for the event url", + "default": "POST", + "type": "string" + }, + { + "key": "propertiesToInclude", + "name": "Properties to include", + "type": "string", + "hint": "Comma separated list of properties to include. If not set, all properties of the event will be sent" + }, + { + "key": "eventEndpointMapping", + "name": "Event endpoint mapping", + "type": "json", + "hint": "⚠️ For advanced uses only ⚠️ Allows you to map events to different SalesForce endpoints. See https://github.com/PostHog/salesforce-plugin/blob/main/README.md for an example.", + "default": "" + }, + { + "key": "fieldMappings", + "name": "Event to salesforce field mapping", + "type": "json", + "hint": "SalesForce can be strict about field names, if your posthog event property names don't match then you can map them using this. See https://github.com/PostHog/salesforce-plugin/blob/main/README.md for an example.", + "default": "" + }, + { + "key": "debugLogging", + "name": "Enable debug logging", + "type": "choice", + "hint": "turn on debug logging to get _much_ more logging", + "choices": ["debug logging on", "debug logging off"], + "default": "debug logging off" + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts new file mode 100644 index 0000000000000..e700d8398c92f --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts @@ -0,0 +1,51 @@ +import { SalesforcePluginConfig, SalesforcePluginMeta, verifyConfig } from '.' + +describe('config validation', () => { + let config: SalesforcePluginConfig + + beforeEach(() => { + config = { + salesforceHost: 'https://example.io', + eventPath: 'test', + eventMethodType: 'test', + username: 'test', + password: 'test', + consumerKey: 'test', + consumerSecret: 'test', + eventsToInclude: '$pageview', + propertiesToInclude: '', + eventEndpointMapping: '', + debugLogging: '', + } + }) + + it('rejects an invalid URL', () => { + config.salesforceHost = 'not a url' + expect(() => verifyConfig({ config } as SalesforcePluginMeta)).toThrowError('host not a valid URL!') + }) + + it('accepts a valid URL', () => { + config.salesforceHost = 'http://bbc.co.uk' + expect(() => verifyConfig({ config } as SalesforcePluginMeta)).not.toThrowError('host not a valid URL!') + }) + + it('rejects an FTP URL', () => { + config.salesforceHost = 'ftp://bbc.co.uk' + expect(() => verifyConfig({ config } as SalesforcePluginMeta)).toThrowError('host not a valid URL!') + }) + + it('allows empty eventPath when v2 mapping is present', () => { + config.eventsToInclude = '' + config.eventEndpointMapping = JSON.stringify({ pageview: { salesforcePath: '/test', method: 'POST' } }) + expect(() => verifyConfig({ config } as SalesforcePluginMeta)).not.toThrowError() + }) + + it('requires eventPath when v2 mapping is not present', () => { + config.eventsToInclude = '$pageview' + config.eventPath = '' + config.eventEndpointMapping = '' + expect(() => verifyConfig({ config } as SalesforcePluginMeta)).toThrowError( + 'If you are not providing an eventEndpointMapping then you must provide the salesforce path.' + ) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts new file mode 100644 index 0000000000000..ea3fd4e43bed2 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts @@ -0,0 +1,183 @@ +import { PluginEvent } from '@posthog/plugin-scaffold' +import { + EventSink, + EventToSinkMapping, + parseEventSinkConfig, + SalesforcePluginConfig, + SalesforcePluginMeta, + sendEventToSalesforce, + verifyConfig, +} from '.' + +const mockFetch = jest.fn() +// eslint-disable-next-line @typescript-eslint/no-explicit-any +;(global as any).fetch = mockFetch + +describe('event sink mapping', () => { + const invalidMapping: EventToSinkMapping = { + a: { + salesforcePath: 'something', + propertiesToInclude: '', + method: 'POST', + }, + b: { + salesforcePath: '', // invalid because it does not have a salesforce path + propertiesToInclude: '', + method: 'POST', + }, + } + + const missingMethodInvalidMapping: EventToSinkMapping = { + a: { + salesforcePath: 'something', + propertiesToInclude: '', + } as EventSink, + } + + const validMapping: EventToSinkMapping = { + $pageview: { + salesforcePath: 'something', + propertiesToInclude: 'one,two,three', + method: 'POST', + }, + } + + describe('parsing', () => { + it('can parse a valid event sink mapping', () => { + const config = ({ eventEndpointMapping: JSON.stringify(validMapping) } as unknown) as SalesforcePluginConfig + const mapping = parseEventSinkConfig(config) + expect(mapping).toEqual(validMapping) + }) + + it('can parse an empty event sink mapping', () => { + const config = ({ eventEndpointMapping: '' } as unknown) as SalesforcePluginConfig + const mapping = parseEventSinkConfig(config) + expect(mapping).toEqual(null) + }) + + it('can parse nonsense as an empty event sink mapping', () => { + const config = ({ eventEndpointMapping: '🤘' } as unknown) as SalesforcePluginConfig + expect(() => parseEventSinkConfig(config)).toThrowError( + 'eventEndpointMapping must be an empty string or contain valid JSON!', + ) + }) + }) + + describe('validation', () => { + it('can validate an event sink mapping with missing salesforcePath', () => { + expect(() => { + verifyConfig(({ + config: { + eventEndpointMapping: JSON.stringify(invalidMapping), + }, + } as unknown) as SalesforcePluginMeta) + }).toThrowError('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') + }) + + it('can validate an event sink mapping with missing method', () => { + expect(() => { + verifyConfig(({ + config: { + eventEndpointMapping: JSON.stringify(missingMethodInvalidMapping), + }, + } as unknown) as SalesforcePluginMeta) + }).toThrowError('You must provide a method for each mapping in config.eventEndpointMapping.') + }) + + it('can validate invalid JSON in EventToSinkMapping', () => { + const mapping = ({ + really: 'not an event to sink mapping', + } as unknown) as EventToSinkMapping + expect(() => { + verifyConfig(({ + config: { + eventEndpointMapping: JSON.stringify(mapping), + }, + } as unknown) as SalesforcePluginMeta) + }).toThrowError('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') + }) + + it('can validate eventsToInclude must be present if an event sink mapping is not', () => { + expect(() => { + verifyConfig(({ + config: { + eventEndpointMapping: '', + }, + } as unknown) as SalesforcePluginMeta) + }).toThrowError('If you are not providing an eventEndpointMapping then you must provide events to include.') + }) + + it('can validate that you should not send v1 and v2 config', () => { + const mapping: EventToSinkMapping = { + $pageView: { + salesforcePath: 'something', + propertiesToInclude: '', + method: 'POST', + }, + } + expect(() => { + verifyConfig(({ + config: { + eventEndpointMapping: JSON.stringify(mapping), + eventsToInclude: '$pageView', + }, + } as unknown) as SalesforcePluginMeta) + }).toThrowError('You should not provide both eventsToInclude and eventMapping.') + }) + }) + + describe('sending to sink', () => { + const global = ({ + logger: { + debug: jest.fn(), + error: jest.fn(), + }, + } as unknown) as SalesforcePluginMeta['global'] + const config = { + salesforceHost: 'https://example.io', + eventMethodType: 'POST', + eventPath: '', + username: '', + password: '', + consumerKey: '', + consumerSecret: '', + eventsToInclude: '', + debugLogging: 'false', + eventEndpointMapping: JSON.stringify(validMapping), + } + + beforeEach(() => { + mockFetch.mockClear() + mockFetch.mockReturnValue(Promise.resolve({ status: 200 })) + }) + + it('does not send to a sink if there is no mapping for the event', async () => { + await sendEventToSalesforce( + { event: 'uninteresting' } as PluginEvent, + ({ config, global } as unknown) as SalesforcePluginMeta, + 'token', + ) + expect(mockFetch).not.toHaveBeenCalled() + }) + + it('does send to a sink if there is a mapping for the event', async () => { + await sendEventToSalesforce( + ({ + event: '$pageview', + properties: { unwanted: 'excluded', two: 'includes' }, + } as unknown) as PluginEvent, + ({ + global: global, + config: config, + cache: undefined, + } as unknown) as SalesforcePluginMeta, + 'the bearer token', + ) + expect(mockFetch).toHaveBeenCalledWith('https://example.io/something', { + body: '{"two":"includes"}', + headers: { Authorization: 'Bearer the bearer token', 'Content-Type': 'application/json' }, + method: 'POST', + }) + }) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts new file mode 100644 index 0000000000000..deed1dcfca838 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts @@ -0,0 +1,86 @@ +import { PluginEvent } from '@posthog/plugin-scaffold' +import { getProperties } from '.' + +describe('filtering by property allow list', () => { + describe('filtering', () => { + it('does not filter if there is no allow list', () => { + const properties = { a: 'a', b: 'b' } + const filteredProperties = getProperties(({ properties } as unknown) as PluginEvent, '') + expect(filteredProperties).toEqual(properties) + }) + + it('does filter if there is an allow list', () => { + const properties = { a: 'a', b: 'b', c: 'c' } + const filteredProperties = getProperties(({ properties } as unknown) as PluginEvent, 'a,c') + expect(filteredProperties).toEqual({ a: 'a', c: 'c' }) + }) + + it('copes with spaces in the config', () => { + const properties = { a: 'a', b: 'b', c: 'c' } + const filteredProperties = getProperties(({ properties } as unknown) as PluginEvent, 'a, c') + expect(filteredProperties).toEqual({ a: 'a', c: 'c' }) + }) + + it('converts properties using field mappings', () => { + const properties = { email: 'a', b: 'b', surname: 'c', d: 'e' } + const filteredProperties = getProperties( + ({ properties } as unknown) as PluginEvent, 'email,surname,d', + { email: 'Email', surname: 'LastName' } + ) + expect(filteredProperties).toEqual({ Email: 'a', LastName: 'c', d: 'e' }) + }) + + it('can handle nested properties', () => { + const properties = { name: 'a@b.com', person_properties: {middle: {bottom:'val'}, surname: 'Smith'} } + const filteredProperties = getProperties( + ({ properties } as unknown) as PluginEvent, + 'person_properties.surname,name', + { + name: 'Name', + 'person_properties.surname': 'LastName', + } + ) + + expect(filteredProperties).toEqual({ + Name: 'a@b.com', + LastName: 'Smith' + }) + }) + + it('can handle deeply nested properties', () => { + const properties = { name: 'a@b.com', person_properties: {middle: {bottom:'val'}, surname: 'Smith'} } + const filteredProperties = getProperties( + ({ properties } as unknown) as PluginEvent, + 'person_properties.middle.bottom,name', + { + name: 'Name', + 'person_properties.surname': 'LastName', + 'person_properties.middle.bottom': 'MiddleBottom' + } + ) + + expect(filteredProperties).toEqual({ + Name: 'a@b.com', + MiddleBottom: 'val' + }) + }) + + it('maps fields when there are no properties to include provided', () => { + const properties = { name: 'a@b.com', another: 'value' } + const filteredProperties = getProperties( + ({ properties } as unknown) as PluginEvent, + ' ', + { + name: 'Name', + // redundant mapping is safely ignored + 'person_properties.surname': 'LastName', + } + ) + + expect(filteredProperties).toEqual({ + Name: 'a@b.com', + another: 'value' + }) + }) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts new file mode 100644 index 0000000000000..7b2c2425d2de4 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts @@ -0,0 +1,328 @@ +import { PluginMeta, PluginEvent, CacheExtension, RetryError, Properties, Plugin } from '@posthog/plugin-scaffold' +import type { RequestInfo, RequestInit, Response } from 'node-fetch' +import { URL } from 'url' + +export interface EventSink { + salesforcePath: string + propertiesToInclude: string + method: string + // NOTE: originally fieldMappings was not included, it should always be included now, + // but is optional for backwards compatibility + fieldMappings?: FieldMappings +} + +export type FieldMappings = Record; + +export type EventToSinkMapping = Record + +export const parseEventSinkConfig = (config: SalesforcePluginConfig): EventToSinkMapping | null => { + let eventMapping: EventToSinkMapping | null = null + if (config.eventEndpointMapping?.length > 0) { + try { + eventMapping = JSON.parse(config.eventEndpointMapping) as EventToSinkMapping + } catch (e) { + throw new Error('eventEndpointMapping must be an empty string or contain valid JSON!') + } + } + return eventMapping +} + +interface Logger { + error: typeof console.error + log: typeof console.log + debug: typeof console.debug +} + +const makeLogger = (debugLoggingOn: boolean): Logger => { + return { + error: console.error, + log: console.log, + debug: debugLoggingOn + ? console.debug + : () => { + /* no-op debug logging */ + }, + } +} + +// fetch only declared, as it's provided as a plugin VM global +declare function fetch(url: RequestInfo, init?: RequestInit): Promise + +const CACHE_TOKEN = 'SF_AUTH_TOKEN_' +const CACHE_TTL = 60 * 60 * 5 // in seconds + +export interface SalesforcePluginConfig { + salesforceHost: string + eventPath: string + eventMethodType: string + username: string + password: string + consumerKey: string + consumerSecret: string + eventsToInclude: string + propertiesToInclude: string + debugLogging: string + eventEndpointMapping: string +} + +export interface SalesforcePluginGlobal { + logger: Logger +} + +type SalesForcePlugin = Plugin<{ + cache: CacheExtension + config: SalesforcePluginConfig + global: SalesforcePluginGlobal +}> + +export type SalesforcePluginMeta = PluginMeta + +const validateEventSinkConfig = (config: SalesforcePluginConfig): void => { + const eventMapping = parseEventSinkConfig(config) + + if (eventMapping !== null) { + Object.entries(eventMapping).map((entry) => { + const eventSink = entry[1] + if (eventSink.salesforcePath == null || eventSink.salesforcePath.trim() === '') { + throw new Error('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') + } + if (eventSink.method == null || eventSink.method.trim() === '') { + throw new Error('You must provide a method for each mapping in config.eventEndpointMapping.') + } + }) + } else { + // if no eventMapping is provided then we still need to receive eventsToInclude + if (!config.eventsToInclude) { + throw new Error('If you are not providing an eventEndpointMapping then you must provide events to include.') + } + if (!config.eventPath) { + throw new Error( + 'If you are not providing an eventEndpointMapping then you must provide the salesforce path.' + ) + } + } + // don't send v1 and v2 mapping + if (eventMapping !== null && !!config.eventsToInclude?.trim()) { + throw new Error('You should not provide both eventsToInclude and eventMapping.') + } +} + +export function verifyConfig({ config }: SalesforcePluginMeta): void { + validateEventSinkConfig(config) + + if (!config.salesforceHost) { + throw new Error('host not provided!') + } + + try { + new URL(config.salesforceHost) + } catch (error) { + throw new Error('host not a valid URL!') + } + + if (!config.salesforceHost.startsWith('http')) { + throw new Error('host not a valid URL!') + } + + if (!config.username) { + throw new Error('Username not provided!') + } + + if (!config.password) { + throw new Error('Password not provided!') + } +} + +const callSalesforce = async ({ + host, + sink, + token, + event, + logger, +}: { + host: string + sink: EventSink + token: string + event: PluginEvent + logger: Logger +}): Promise => { + const response = await fetch(`${host}/${sink.salesforcePath}`, { + method: sink.method, + headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, + body: JSON.stringify(getProperties(event, sink.propertiesToInclude, sink.fieldMappings)), + }) + + const isOk = await statusOk(response, logger) + if (!isOk) { + throw new Error(`Not a 200 response from event hook ${response.status}. Response: ${JSON.stringify(response)}`) + } +} + +export async function sendEventToSalesforce( + event: PluginEvent, + meta: SalesforcePluginMeta, + token: string +): Promise { + try { + const { config, global } = meta + + global.logger.debug('processing event: ', event?.event) + + const eventMapping = parseEventSinkConfig(config) + + let eventSink: EventSink + if (eventMapping !== null) { + const hasMappingForThisEvent = event.event in eventMapping + + if (!hasMappingForThisEvent || !event.properties) { + return + } + + eventSink = eventMapping[event.event] + global.logger.debug('v2: processing event: ', event?.event, ' with sink ', eventSink) + } else { + const eventsToInclude = config.eventsToInclude.split(',').map((e) => e.trim()) + if (!eventsToInclude.includes(event.event)) { + return + } + + eventSink = { + salesforcePath: config.eventPath, + method: config.eventMethodType, + propertiesToInclude: config.propertiesToInclude, + fieldMappings: {} + + } + global.logger.debug('v1: processing event: ', event?.event, ' with sink ', eventSink) + } + + return callSalesforce({ + host: config.salesforceHost, + sink: eventSink, + token, + event, + logger: global.logger, + }) + } catch (error) { + meta.global.logger.error( + 'error while sending event to salesforce. event: ', + event.event, + ' the error was ', + error + ) + throw error + } +} + +async function getToken(meta: SalesforcePluginMeta): Promise { + const { cache } = meta + const token = await cache.get(CACHE_TOKEN, null) + if (token == null) { + await generateAndSetToken(meta) + return await getToken(meta) + } + return token as string +} + +async function generateAndSetToken({ config, cache, global }: SalesforcePluginMeta): Promise { + const details: Record = { + grant_type: 'password', + client_id: config.consumerKey, + client_secret: config.consumerSecret, + username: config.username, + password: config.password, + } + + const formBody = [] + for (const property in details) { + const encodedKey = encodeURIComponent(property) + const encodedValue = encodeURIComponent(details[property]) + formBody.push(encodedKey + '=' + encodedValue) + } + + const tokenURL = `${config.salesforceHost}/services/oauth2/token` + global.logger.debug('getting token from ', tokenURL) + const response = await fetch(tokenURL, { + method: 'post', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: formBody.join('&'), + }) + + if (!statusOk(response, global.logger)) { + throw new Error(`Got bad response getting the token ${response.status}`) + } + const body = await response.json() + cache.set(CACHE_TOKEN, body.access_token, CACHE_TTL) + return body.access_token +} + +export async function setupPlugin(meta: SalesforcePluginMeta): Promise { + const { global } = meta + + const debugLoggingOn = meta.config.debugLogging === 'debug logging on' + global.logger = makeLogger(debugLoggingOn) + + verifyConfig(meta) + + try { + await getToken(meta) + } catch (error) { + global.logger.error('error in getToken', error) + throw new RetryError('Failed to getToken. cache or salesforce is unavailable') + } +} + +function configToMatchingEvents(config: SalesforcePluginConfig): string[] { + if (config.eventsToInclude) { + return config.eventsToInclude.split(',').map((e: string) => e.trim()) + } else { + return Object.keys(JSON.parse(config.eventEndpointMapping)).map((e: string) => e.trim()) + } + return [] +} + +export function shouldSendEvent(event: PluginEvent, meta: SalesforcePluginMeta): boolean { + const { config } = meta + const eventsToMatch = configToMatchingEvents(config) + return eventsToMatch.includes(event.event) +} + +export async function onEvent(event: PluginEvent, meta: SalesforcePluginMeta): Promise { + if (!shouldSendEvent(event, meta)) { + return + } + + await sendEventToSalesforce(event, meta, await getToken(meta)) +} + +async function statusOk(res: Response, logger: Logger): Promise { + logger.debug('testing response for whether it is "ok". has status: ', res.status, ' debug: ', JSON.stringify(res)) + return String(res.status)[0] === '2' +} + +// we allow `any` since we don't know what type the properties are, and `unknown` is too restrictive here +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function getNestedProperty(properties: Record, path: string): any { + return path.split('.').reduce((acc, part) => acc[part], properties); +} + +export function getProperties(event: PluginEvent, propertiesToInclude: string, fieldMappings: FieldMappings = {}): Properties { + const { properties } = event + + if (!properties) { + return {} + } + + // if no propertiesToInclude is set then all properties are allowed + const propertiesAllowList = !!propertiesToInclude?.trim().length ? propertiesToInclude.split(',').map((e) => e.trim()) : Object.keys(properties) + + const mappedProperties: Record = {} + + propertiesAllowList.forEach((allowedProperty) => { + const val = getNestedProperty(properties, allowedProperty) + const mappedKey = fieldMappings[allowedProperty] || allowedProperty + mappedProperties[mappedKey] = val + }) + + return mappedProperties +} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts new file mode 100644 index 0000000000000..1838a69a7b616 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts @@ -0,0 +1,55 @@ +import { PluginEvent } from '@posthog/plugin-scaffold' +import { shouldSendEvent, SalesforcePluginConfig, SalesforcePluginGlobal, SalesforcePluginMeta } from '.' + +describe('onEvent', () => { + let config: SalesforcePluginConfig + + beforeEach(() => { + + config = { + salesforceHost: 'https://example.io', + eventPath: 'test', + eventMethodType: 'test', + username: 'test', + password: 'test', + consumerKey: 'test', + consumerSecret: 'test', + eventsToInclude: '$pageview', + propertiesToInclude: '', + eventEndpointMapping: '', + debugLogging: '', + } + }) + + it('adds the event with v1 mapping that matches', async () => { + config.eventsToInclude = 'test' + + const res = await shouldSendEvent({ event: 'test' } as PluginEvent, { config } as SalesforcePluginMeta) + expect(res).toBeTruthy() + }) + + it('skips the event with v1 mapping that does not match', async () => { + config.eventsToInclude = 'to match' + + const res = await shouldSendEvent({ event: 'not to match' } as PluginEvent, { config } as SalesforcePluginMeta) + expect(res).toBeFalsy() + }) + + it('adds the event with v2 mapping that matches', async () => { + config.eventsToInclude = '' + config.eventPath = '' + config.eventEndpointMapping = JSON.stringify({ test: { salesforcePath: '/test', method: 'POST' } }) + + const res = await shouldSendEvent({ event: 'test' } as PluginEvent, { config } as SalesforcePluginMeta) + expect(res).toBeTruthy() + }) + + it('skips the event with v2 mapping that does not match', async () => { + config.eventsToInclude = '' + config.eventPath = '' + config.eventEndpointMapping = JSON.stringify({ 'to match': { salesforcePath: '/test', method: 'POST' } }) + + const res = await shouldSendEvent({ event: 'not to match' } as PluginEvent, { config } as SalesforcePluginMeta) + expect(res).toBeFalsy() + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts new file mode 100644 index 0000000000000..5c8b0969f2223 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts @@ -0,0 +1,57 @@ +import { PluginEvent } from '@posthog/plugin-scaffold' +import { SalesforcePluginConfig, SalesforcePluginMeta, sendEventToSalesforce } from '.' + +const mockFetch = jest.fn() +// eslint-disable-next-line @typescript-eslint/no-explicit-any +;(global as any).fetch = mockFetch + +describe('sendEventsToSalesforce', () => { + const global = { logger: { error: jest.fn(), debug: jest.fn() } } + let config: SalesforcePluginConfig + + beforeEach(() => { + mockFetch.mockClear() + mockFetch.mockReturnValue(Promise.resolve({ status: 200 })) + + config = { + salesforceHost: 'https://test.salesforce.com', + eventMethodType: 'POST', + } as SalesforcePluginConfig + }) + + it('can send an event to salesforce', async () => { + config = { + ...config, + eventsToInclude: '$pageview,checkout', + eventPath: 'test', + } as SalesforcePluginConfig + + await sendEventToSalesforce( + ({ event: '$pageview', properties: { $current_url: 'https://home/io' } } as unknown) as PluginEvent, + ({ config, global } as unknown) as SalesforcePluginMeta, + 'token' + ) + + expect(mockFetch).toHaveBeenCalledWith('https://test.salesforce.com/test', { + body: '{"$current_url":"https://home/io"}', + headers: { Authorization: 'Bearer token', 'Content-Type': 'application/json' }, + method: 'POST', + }) + }) + + it('can send an event to salesforce', async () => { + config = { + ...config, + eventsToInclude: '$pageview,checkout', + eventPath: 'test', + } as SalesforcePluginConfig + + await sendEventToSalesforce( + ({ event: 'should not send', properties: { $current_url: 'https://home/io' } } as unknown) as PluginEvent, + ({ config, global } as unknown) as SalesforcePluginMeta, + 'token' + ) + + expect(mockFetch).not.toHaveBeenCalled() + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json new file mode 100644 index 0000000000000..8c2108edaf372 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2018", + "lib": ["ES2019"], + "module": "ES2015", + "moduleResolution": "Node", + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noUnusedParameters": true, + "esModuleInterop": true, + "noEmit": true + }, + "exclude": ["**.test.ts"] +} diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore b/plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore new file mode 100644 index 0000000000000..a513319e0be18 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore @@ -0,0 +1,8 @@ +node_modules +.idea +yarn-error.log +dist +.yalc +yalc.lock +test.js +.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc b/plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc new file mode 100644 index 0000000000000..2161d46def30e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "none", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE b/plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE new file mode 100644 index 0000000000000..df9c38f57d98c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Yakko Majuri + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/README.md b/plugin-server/src/cdp/legacy-plugins/sendgrid/README.md new file mode 100644 index 0000000000000..07ca60900fbca --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/README.md @@ -0,0 +1,14 @@ +# Sendgrid Plugin + +Send emails and user data to Sendgrid when you identify users using PostHog. + +![Sendgrid Dashboard](readme-assets/sendgrid-dash.png) + +## Installation + +1. Visit 'Project Plugins' under 'Settings' +1. Enable plugins if you haven't already done so +1. Click the 'Repository' tab next to 'Installed' +1. Click 'Install' on this plugin +1. Add your [Sendgrid](sendgrid.com) API key at the configuration step +1. Enable the plugin and watch your contacts list get populated in Sendgrid! diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js new file mode 100644 index 0000000000000..9b1df22868f98 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js @@ -0,0 +1,144 @@ +const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils.js') +const { setupPlugin, onEvent } = require('../index') + +global.fetch = jest.fn(async (url) => ({ + json: async () => + url.includes('/field_definitions') + ? { + custom_fields: [ + { id: 'field1', name: 'my_prop1' }, + { id: 'field2', name: 'my_prop2' } + ] + } + : {}, + status: 200 +})) + +beforeEach(() => { + fetch.mockClear() + + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY' + }, + global: global + }) +}) + +test('setupPlugin uses sendgridApiKey', async () => { + expect(fetch).toHaveBeenCalledTimes(0) + + await setupPlugin(getMeta()) + expect(fetch).toHaveBeenCalledTimes(1) + expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/field_definitions', { + method: 'GET', + headers: { + Authorization: 'Bearer SENDGRID_API_KEY' + } + }) +}) + +test('setupPlugin fails if bad customFields format', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'asf=asdf=asf' + } + }) + + await expect(setupPlugin(getMeta())).rejects.toThrow() +}) + +test('setupPlugin fails if custom field not defined in Sendgrid', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'not_defined_custom_field' + } + }) + + await expect(setupPlugin(getMeta())).rejects.toThrow() +}) + +test('setupPlugin to accept valid customFields and parse them correctly', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'myProp1=my_prop1,my_prop2' + } + }) + + await setupPlugin(getMeta()) + const { global } = getMeta() + expect(global.customFieldsMap).toStrictEqual({ + myProp1: 'field1', + my_prop2: 'field2' + }) +}) + +test('onEvent to send contacts with custom fields', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'myProp1=my_prop1,my_prop2' + } + }) + + const event = { + event: '$identify', + distinct_id: 'user0@example.org', + $set: { + lastName: 'User0' + } + } + const event2 = { + event: '$identify', + $set: { + email: 'user1@example.org', + lastName: 'User1', + myProp1: 'foo' + } + } + + expect(fetch).toHaveBeenCalledTimes(0) + await setupPlugin(getMeta()) + expect(fetch).toHaveBeenCalledTimes(1) + await onEvent(event, getMeta()) + expect(fetch).toHaveBeenCalledTimes(2) + expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/contacts', { + method: 'PUT', + headers: { + Authorization: 'Bearer SENDGRID_API_KEY', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + contacts: [ + { + email: 'user0@example.org', + last_name: 'User0', + custom_fields: {} + } + ] + }) + }) + await onEvent(event2, getMeta()) + expect(fetch).toHaveBeenCalledTimes(3) + expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/contacts', { + method: 'PUT', + headers: { + Authorization: 'Bearer SENDGRID_API_KEY', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + contacts: [ + { + email: 'user1@example.org', + last_name: 'User1', + custom_fields: { + field1: 'foo' + } + } + ] + }) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.js b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.js new file mode 100644 index 0000000000000..cc95abd5907d1 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.js @@ -0,0 +1,145 @@ +async function setupPlugin({ config, global }) { + // With this call we validate the API Key and also we get the list of custom fields, which will be needed + // to configure the map between PostHog and Sendgrid. + const fieldsDefResponse = await fetch('https://api.sendgrid.com/v3/marketing/field_definitions', { + method: 'GET', + headers: { + Authorization: `Bearer ${config.sendgridApiKey}` + } + }) + if (!statusOk(fieldsDefResponse)) { + throw new Error('Unable to connect to Sendgrid') + } + + const fieldsDef = await fieldsDefResponse.json() + + // Custom fields in Sendgrid have a name and an ID. The name is what users configure when they create a custom field, + // and ID is automatically assigned by Sendgrid. + // In the config of this plugin, users configure the map between PostHog prop names and Sendgrid custom fields names. + // Here we resolve the relation and calculate a map between PostHog prop names and Sendgrid custom field IDs. + + let posthogPropsToSendgridCustomFieldNamesMap = {} + try { + posthogPropsToSendgridCustomFieldNamesMap = parseCustomFieldsMap(config.customFields) + } catch (e) { + console.error(`Invalid format for custom fields: ${e}`) + throw new Error('Invalid format for custom fields') + } + + const posthogPropsToSendgridCustomFieldIDsMap = {} + for (const [posthogProp, sendgridCustomFieldName] of Object.entries(posthogPropsToSendgridCustomFieldNamesMap)) { + const cfIndex = Object.keys(fieldsDef.custom_fields || {}).filter( + (key) => fieldsDef.custom_fields[key].name === sendgridCustomFieldName + ) + if (cfIndex.length !== 1) { + throw new Error(`Custom field with name ${sendgridCustomFieldName} is not defined in Sendgrid`) + } + posthogPropsToSendgridCustomFieldIDsMap[posthogProp] = fieldsDef.custom_fields[cfIndex].id + } + + global.customFieldsMap = posthogPropsToSendgridCustomFieldIDsMap +} + +async function onEvent(event, { config, global }) { + if (event.event !== '$identify') { + return + } + let contacts = [] + const customFieldsMap = global.customFieldsMap + + const email = getEmailFromIdentifyEvent(event) + if (email) { + let sendgridFilteredProps = {} + let customFields = {} + for (const [key, val] of Object.entries(event['$set'] ?? {})) { + if (sendgridPropsMap[key]) { + sendgridFilteredProps[sendgridPropsMap[key]] = val + } else if (customFieldsMap[key]) { + customFields[customFieldsMap[key]] = val + } + } + contacts.push({ + email: email, + ...sendgridFilteredProps, + custom_fields: customFields + }) + } + + if (contacts.length > 0) { + const exportContactsResponse = await fetch('https://api.sendgrid.com/v3/marketing/contacts', { + method: 'PUT', + headers: { + Authorization: `Bearer ${config.sendgridApiKey}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ contacts: contacts }) + }) + + if (!statusOk(exportContactsResponse)) { + let errorText = '' + try { + errorText = await exportContactsResponse.text() + } catch (e) { + // noop + } finally { + console.error(`Unable to export ${contacts.length} contacts to Sendgrid: ${errorText}`) + throw new Error(`Unable to export ${contacts.length} contacts to Sendgrid`) + } + } + } +} + +function isEmail(email) { + const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return re.test(String(email).toLowerCase()) +} + +function getEmailFromIdentifyEvent(event) { + return isEmail(event.distinct_id) + ? event.distinct_id + : !!event['$set'] && Object.keys(event['$set']).includes('email') + ? event['$set']['email'] + : '' +} + +function statusOk(res) { + return String(res.status)[0] === '2' +} + +const sendgridPropsMap = { + lastName: 'last_name', + last_name: 'last_name', + lastname: 'last_name', + firstName: 'first_name', + first_name: 'first_name', + firstname: 'first_name', + city: 'city', + country: 'country', + postCode: 'postal_code', + post_code: 'postal_code', + postalCode: 'postal_code', + postal_code: 'postal_code' +} + +// parseCustomFieldsMap parses custom properties in a format like "myProp1=my_prop1,my_prop2". +function parseCustomFieldsMap(customProps) { + const result = {} + if (customProps) { + customProps.split(',').forEach((prop) => { + const parts = prop.split('=') + if (parts.length == 1) { + result[parts[0]] = parts[0] + } else if (parts.length == 2) { + result[parts[0]] = parts[1] + } else { + throw new Error(`Bad format in '${prop}'`) + } + }) + } + return result +} + +module.exports = { + setupPlugin, + onEvent +} diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/logo.png b/plugin-server/src/cdp/legacy-plugins/sendgrid/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc05d31da9706dc17b9653c86d6f42572cd5f5c GIT binary patch literal 2284 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

L>*~=Lxu5 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 z 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

UII8GGHCY4WPh2F{YSp`84LoHJsenh z#t**N?<}EJD$(ye0U@y=D7xM38ZUvrV$%elWl16N`nR@`_$_cQ1l3O;1IVNd42D}M zgcVn7{LUi$`@tI2>gX-;`$f-<@6~`WGX2gjuzkj-b$gU%2f&=X@TRqv>ip=p-o*H2 z@cN`wJpN|VpkHK|C&UFL&;R?+xR{0i-t8u5J+OuF)ME{uP)bzgW!Ulxx zt_FQ_kpOP?N-1i)3 zoRkzFM^it4#Nm)S`o-Pf@Ph$xwD#|;@MitLaEX8am52b6SJwy-ue%ITryMeQCLUvk zF6q^_d5(~&>Z~_!-Y8ZX#S8Ou%m4cIOAE39+w4j`Q)aV!e@l?7F#mywgN8}I_HCe7 zq36*lGW@`bI$m^M7_FAe0_+x-#w{%{){1AS%p5j^86*Sa-X2gfzl%gCjowC$YF&pk zI*gVX)$25H>)hf1v`TC~>~+S*j}2Hz+X5z|I-1AZ=&m94V1zPwsyyOMvEO(oKiOF7 zvwH;FMN(w5<;A`wBx$Y-)!I9)8kG;|TcS9>O(*5O?gOn~(Q7`#yt!&=LY)QLc_9_n zZl3uE8!u%qFx7ZB#-`K|PwYB^^Bc8w@~A=*zy?hL4bg~t7V?j$b(qOof$u9$}T39nvl zi3`*_?h3`7Nz9z{w#J8VKeOD#9&mW-Dxl^UNYlKJUmw-OP(4V^B#ALHgw)bNxqK=R z)j3#prpDoAv?@*;;1tr#*3*VcGTwNtf5}fx;x@kdjHE3Agq&G5XXgL?xx$B7_KQyl z7y3#qXB!_Cgsj653^7^o%!5cy^|zXI*VhZf;_q7masA9nvMcV;1Pv_J=Wf%Io9{Vt zKI48pf#Nk4Rlu#B^f^e(VnbyZA?ZOl>@OGTr#-nd^Ao4BrcZmExpB!??ifA^4x;&B zV4u(X{1Jtil){=M6Wq{eY@;~&t(bYTj;LV66`n*F<99C}X(U^+`qgh7D3@)ec{|_T zjAs(3<{;Ue2MUYtSzlCzvfeVt?3X#Ux$PSt=No23yFg)a%fm25$S-MbvM{EoZ*SV1 zjaoix)IWZ6X}dG_j=^T1-H7J}rVkD7tP#_kFJ@*I%Qeb$pPP18LbbH9T=TXPPZ7yd zzW0&Gr7BdPoYa#;Ah1pzju_2QC{30|wFXW#)OF?K$b4Ip0>hYw%CBG3p*CZl>u z2@pKeT_&aS*TT~TxnyPFXg1m8zch;&N zEe+I+`^1%=OoKksq%~iq(uvWYGV3#WI_Sh|Yp+DYg^{I+Tb?*p?cF;~Q&rVH)pi1T zhU531*pjC6#Dqt5zap8@p}Fmb)Y6!*v>DRfoN+t>eH5_LFX2$YL+MatZOf`j z(;kO7(N@coMV4nH@<;0cdC-($&zz_tMiXMu;sGLh`MA`4@Nb25NxHM~1lu}{sCSM-_Oe?NwmgtvwJL;d<~c#4LG+sl6Kk}YbO!fC^ArZ4Y3Nf z5*Ctn)inr0?l?Ewxn{}7Y;vDZHGvdKn@Y-Aq}LovsbKDhXKS)}5HP z{QQCMH-I==+OPzOqf>>|&^jFkK~=DsAG|@~@-4%ZGD^z{FpIbc1jF(lX0<^oT5Zrt za{YJWeircbKweL!&^l^v6WX@ammT_sjxRA-<*`v8kENQ@*D%%_I*k}Ewf?D}@5&*f zIE~uvm+1k~cW6>ShKjgn2@`nFw$i|Dz8acRj74=g%nq;3Oh^S~>CZa%*67IvEqyo*pAyfbnL|1wjojy;p1u~);?fbL$y~ULki)^NBn4Q6lvXYM(z1c?Rf}SB)KTGP6 zp@OzoY_Wa#x4sH#a<#8=Q}sCIYdAI4%E4e;&MbLM1iX(k8?IHKJ=%Zo5k*ju5g~-1 zohGyu@1fHHN*m4tOtc~-1BFDtz}bxSaO z7y5xI#@>jom<}bLmh4;@ zD%scR8HhkvI6NP5C}MgS5@~X>*ZhgW8@7V&7(-HY59cMF%MIYcw2q(o;H;9u;Ost~ zWH%2Q@X{8J{oc^FJAm$sh2ZwfkZcQP+WPrUQjOgvXj6tAl-DGGsrUO=ik3{H5pm+W z4%qasU*_BW0ZkUgWRTgV$nPC;_A;(JOW{SNsI=t~rOo*^n`Bc~zaqFd3Fvfj3a*#l z|7Ea$IB`b)(E=4>Rnf_C?Ps-3TH&5^rc($-x7xe1Zy*cM`y~wf@LL|-`pP=Kr|ekF zebsRDVHepA_0)^Gaf#yu72bPdhpw|XX2QrGI?p`57t2>5Yx$5sUx!{A5TTtWRkt!o zHdT7QW<*|Ba049HeLdX1M<(}Xw~vwSpttB|RlD&~cBxUN27MkPpFtt|_RamRxzb7} zDSPx?+T8 zZdYqU`8?Br`14eRoSWa z|eHw6$3Hi&TvXGZ<$ij&VRpHax>yI9p2@n|NdA*VRiLDOD=51|Y4TwHKrN zJ&1sUuz^Yz3vDya;p6AETrj;*U3iilj8*LsgzxF;_;k)?ZI&Ou%Y~54zAKk*>4q0|xJdG)B#CEs}dyC0Epb^{NuVaMq8qG>|?l zBj&&UUixrx9s9Sk&AcUlM?($5usWWR-8gF)W(>8pyntOOkr84{eUoMsx;6DR#`*RV zK10pbLg?NUYV;Ttt|VL-<4!)>$i;@7q%n4PXvgfo2eV>}eU~F&JP*jS%+;3vG2}xH z>KlIFAqE54VK9WQzOG2n`{+N0m6IBl3&Tvu|iU$QB=wSodb# zGRjx%u^~b8y%;RG7CadC@z%#{w=}YL$2}GDdu{w=tuopqx_b01qsGjlfPlL;%`7(= zW-%ubbx683VTnp~s)muYT)yDq;<}|kp#ORx+{FQ#D6sUk0^WvL$Fb!7t^CxUSWXpp zPp};;)qxs7a+CB1a_cJ7INOEquhND>+g1j6;_XM=*W#4QW8-HPJS(D(;4n00gUfz! zNUEStSemFE(({~b!@*+*loPJiaw0V5$B(w&qDN=)G%_mchE^cq8;dB@c42N=bWc_R z4N>>vk{hh_w>+=Y6~!LHg=!T{D?`DO{rkYmEbY)>`?$F~@yi&lKpK;;UE-r7P8j`p zp=R-hVGLXd)ya2HAB?6IaTt#-)tqljJyzgwP~`1#EE=n)7t{ONl^lcVSW?S8!8OTUc_27D z+ir`rQ?5Gp0yAaQhiS_s*ZG}Q85b>|1ko>L-aME&ncWG23n1)KI?Sw+srb-gJXLP}F`C--3I@SeN$h(rLTpjtSV>9hA{Kro& zU!5;LweDmsNfJM8-F*&C(;#|YOApEy^Mb^c9G_5?*E)VD)vI3Jy?O?uldMs|T!oIO z8T?XFE-8gWRYql&UEJ!@Kc5l_Jo24uQZ-=nU6!()<0P=V+B+)(EN~ME>-jAUl%~j9 zAlPo6IN^@tGl}sDALG<3x4>;gzF2c}-PhW;nV`Dt)7hK#UNJDF^g?iNBXGj-#eEL> z_gn-BnlwJc+8dzWkBY&f^kUM&<2Bc{_J0=HCi6M)!b@y;T9~dbxYcy#H$FYnjr%!T z{c5Hj*Ks5K`jf)>^e;9mnbWC0pUTaU#+Ca#1PGX`?SLY8^qq|NIROgEQ4=|Q(VA11 z*|H}W;d}MM)E6&4!!3%1UKMH73gp#g3%9yD3h(qlOy}H*1jkaN915?_RZ8)-pc$&1 zk4VrFksQuUndwRzsZ^)ql{b!js=Z)TU~Ti>1`Nu)gMP73-CJWV6&IJfd#!*7MOv~V zPcR&-=vxddapHH2G%q^*A@)DjqV-ux7_T?^5SKbaW%7XoeZ6BmaJF2f`V8y_Y)pHD zLI!(-p&jFg6!uL{OSsi4Vo4z0${Sw5uwbXLi?Mp{M7c_JXr51g41H4VmGDA)cIiPR zyPV&$grgR6brhS(2PF{S>^0waT0Z|y)bq=B51Y%zwG8LuCd#4mwYP@V9v!w0gCG61 z@}3L}h073u3~DasEsU-MZu3$?(By4$!$mH#@MK5k`7cGgic_!ljj%P2zxwIv#e8D1 zqslaVRuDK<jg~b z&Y@n-od!l#${C*N7PmOIDA3sb)xhIg;97c(uAqkUN%# z{X0dF$BO50eqycFEa}jG^L>;wgH@52iZ#zgX6}Z^@jOH2mND}zi%XdKuiq6l%{^9f znC(Yg0XBKmTV=1xbH%9JE{%_HfulgAjUQXkdxs-it}U==Lj_@X;A*gAFoT2An4Ofl zZsyV;-Grs=lPq?|@+Bm8O-de2Y{eGEte|lcB1yAgqD-s=Rx9rFzn<60k;?-8e9h`ObX1XBQgs0TO?P97Pu zKWlmVL&#TgiYSklASF^#)0AW(dZxJ=(3qA0Sx+_k`KMP6{2`#=2c%+ZpJ9MKBz$@P z5dmQ_z=`U5OMVLk2iID4lfy~DV>}E8`NyOx;IBmJk-vptu*s4v5KEmQPQU!E`5DlL z;km?f=aYUbBws8cCMq&Q`v_z!XKnjADa$lOdzgsv5np_(2duPRdKo<5|3l;a3oZZ8 zeO8)&Tmm_BI+?=c$!SIE*j{)P)3pR`w z+@t-c-~C7b@%C>CM^9%gB?z#x;&|?!%AP;&PsP%I^tvxPfN$Q&F=Yd%H9{0D>T+|8 z-f!)3Zy?~RE1X!XDS)U?4tzpicgKvzZ#~HozPWZS>oI=iHvre^^7ZKIZ(%SINIXrr za@aP2eDzVhjQc1)l=5fhl zWlDkP={0aIFt>kx4X{U1dKUKF>z()xK#rgt2_40vWR1JNEaYd;Dn8QrlJ^(hO4j+D zVV#@mSM{`*A8k5WFQ=Z6pKqVpi58@b6jHG$J{v;(*ZiO&Fl}mYY zVI!(+x(hIeU4-N^u+Hgf^VaC6%5;3!Xj)?0j+_|}nRZw}K++2yP=5%H2~IpM zvts8msficNH;@a~^S2rkvBqiWAuZlB$z0+k*$jw3QW!+4s`|%%+A0r|bq4QQjTavF z9{)6W-3duxM+>jxf>nIGL5&&}s{}jTnatqJ9JNONOZFCPZfQ$=%$#{K!%@Jn%^~J= z5VAZDdxB$;gyvIY>MDc#>kz?aolNn|gI~!1#n9&6e+I%h|IwgzWY2+CXg*Dwt^+TR zZGA9pE8p`eOS1|8%sF?29U7O=+C4Tb5)~T?)x0DwG-}v+=}(=L{|)M@=K*PC7g#wD z+=C|5nE)%p&IOXtD?b>o>5qvm&sdAud#{K&emlroBY)a32%%oEn?4Z6U7yVOD2HI6|%9P z9?kXiVPb!SDh16C#QR05WTz4w971h(cD z^|jsczFWgS!fX-!cn7DSJdHnEr9j^hM)Gz{>89h%PbGRGC*+m(wC01^$~=%&34LiE zuRT`pF^P95&A;ph9T5GpwMeWG&JvR#VA+}>7j%Q4zgNhT6g&Ov91Zsk8g8wKxsD_Q z)`7?`m3)Xhg@)A{Ich0TUTgrJafBp%b8nW~_h6B8s2Y|_9^G)X+2)fVP^Vtzu>(zz zgqJ;E7%Wbk={R&3+L>w$YD<;!Y_G9bU(K2SG@macvQ~ds)Rha{`1Och)G>W=qRd>y zy8o^3_Cbh(0*Kt7spG}nt3#5Ivg6(x_qdF22zK6_=XK+uYKKk+?qtl6{i{LLp z{9E+r+HCC1=>B^r*1fK`$@hn{;f?wmENj-2my5k_h=KdAE|~cC_SuJzG^rY~T}G%U zAFYRSW-ER<>N!Y8J3c+A-Oi}6(lTIK9_Ie@ZN8S?P(j5iHQ>SdOnPw`nP<}22#V>r zG{iI4v61{l2PHmYFBww4?YBd_#RRw497iUX6{Rzcp z?a(amHVJRWnT)}j4vE<)2VWXW*+Jmnf>><-b+Z2;%KK7CZY(uZJK?-)bK9+Gav1gl zd{5Oz=VvddenF!Sq?WhfbsJN6#b{}H<;Zq+b?};<^{CK zP4$q<(F?pewqTH7++r)dS^YVbQDi3QUf*oZ&cPFuu=bwN-6mMKrQ29+N>1;yscx@( zxJq~XVO$Vo$}zzOI`$9%&ejfLeb_K&iJ2f)AIDHG17x9Ap2j2R*;WpKF2tHPhqVOL z@XQ?SU~|F)(}Z*rX?gBn_H&aWEqf`b+H`nc=O>MbIy+j021 zgYTrf=PulOa8Hk@(IK4Jhn3__)vD z_U&$IwjPeBB-(aAZ=TaBMEPXY>44%SWJfp3lJCPE3EbPjG}hH|Va$nJ(BhWPkJUP| z**r1{m1oaxdX{$;cT!YJdE%m>1Nn~_J$IHM`wN-jH?Cd#y6m~#qmXS_?c8&ajiUsu zSzXMv@V;QAp2=|X6qv4+H_zgngU>f#oMk#E!ErpkuVK89|2CbX);O7vxI{>6n-Qh`?&3>{Q%SaRT0|r$ ziA(Fb4+Z5Vj6!N{!ys!oZs&PsAukq7cl=p)C{f%)-6k*A&6s>u^e=ZX$PTO7;X4_`!B)7Tuh zCJGfa^NtgByX{~fC;Vc$J9x(XALkink9T<3pK-iKk)VIJA<@ihEynn*w8YY{^XzEe z^|WJp0gEfgo0W^nIPXp2VpR1JjUR?$b?IZ5vSFuGe)bk6>FMFbX>AJfXlKx*snoKw%R?t@ALGSG%j!X$|ZF19cfdqlq4VgE8!#Rn?po^ zqW?qjIF_^8`{kKLKG>2%w|Q4A#MtX&5Z~D1U#Sq4*zS653nnz!reGEI@7i}4cxONH zuPw4W(T%UOstma*qB;I@^?u$$BPYyeZ(pIH0TX*xq~vaG(f>~y*5{hHS)Z; z-~hRjhQzpqSGE7Z6?|(hCLdCeNRW$S%L^<3o|3OQj2Q+=z?3qO4wTvrSG=RW za&olQ)p2jNdY)yd!MCAMxAf~9i}!SVyue4razpYLu2|HQoTL2_NXck8pEamoW~Ly?Z;{$79EM^m?R;an?g1imlYWAZNsW37{uWrtE;;7epc7>fvWKW)g<8- zAb8-obxV=ObNL?3zTxx){U#_VY0|Fr#rLfHuSqrPJY2UV7pt*C3qE#VzIMfA#rI%vkC}(VTzi5krt%tmb+o#}`2m2c2aDst zDin2fvI#Z1Stv|V=_ z0?@7&Bp_J__WQ7#i4=IFbqK&hiZ!-X&iiLv=Tv_8QQNUxY3y6P^l&oWb-tF|#wNvF z?ND!z<_y@YwT4q;x7AT=VQZ@@5UOs@EG=IiDGSULdRy(1ci7w}+H4(QO_>jU`*Y}~ zdg|@AI6im#U}Pctl#Yq_z@5>I%lTkrP%{JzsGg9)9q)jJUGXt$BM;+QJZboUjpTXMdMH!jT=rf&uD8PNML zq{SZ1*Eep?DNHDZhuz8AG1@tD&2N7#TMGb<=AC#IJKzo2O6u^r&IrvU;kd_18?CC}O*Cz*;D) zfV~~Wo2mytfLDn@uhoyZQiCx_2*kuC?;_C=r4}K zS8=uS8e*<`US#ZaQ6_)oDhMXd$-?Fz&X11uFzrVfF0VS z0{65JBv=W@`Y|IunXg!OJ47a20uoZFJVF^n2M-Geb7h*{gd7k*#TP`Jg)y~)V zLB$A_3}S)P4~&LYI@ql~985n05JIkBtAa zVnt?ghUgx?KqL&pcj3r7!wQ zQq4+z1kQVZHZGII)%S2kM6b@Hl77CBK+MGITN%rJk5x3UjukF{3oMnbkvs zP_cs@j01L_WTfAr^SW(ot|JP_O5*KYm-_F;AXZ8bmLxeTm!L65mOpfgXRGH^qh67m zs|mEeWgyowED1T|<{DBq2`)JD>XO_F5mP`X2}Bn{sw(-5g(?i@k3bL|tuhna zsn+R`B<)w25~s(iYfrt_AX-T$$A{=w!yfIZagR0{?ZNKCz}6MZM`;@%06!EQEl}k# zuu|R6+S~?YrMPD@0V)(Vd^hP@1?`b zU-6D~opfi&nXir4)hMyNoFv2tKs_XIg_&Jp$Ps(ADmZx-u_@18q-4D1{Ku|cyEap| zJ1$Vr37y`cH|=WS0cm)|)&B{Q;!fqHXOv+hPWg>zG-wJ1ccks%PnmYo|b z2D7LJdG*7_RJV}|>nMOg@L3E{QI8xh>rjplLwws}@9>06;o^rXpEr_;fpmaRoT66tV8O(9(1Onv!PtJw|L=T{P_0>ZG3@W}lko57+4*&=P$ zPLMv4(~L~_YuUM^_4SXhEef&kw$l6IT+&kR&$_J)E4?PA994V%^$mF$bbz~jB}T{i zlIx%!I8P%AjDy*MM{8AdRyS zpD+I;!-o&ZBbA$54_CiI>$+{iH1xx21li z)vCs0nJY|^FT05cD_>QgINbMYj`#P%Pb{TYdNy23v)T4dY%_+&uQP=w*CcH7TLG)e zyK5Pny-`xf{H#%bQ8vns660khCuahG%<||Mof$#ZYSvVu+bUCa&oNZ_ES!!(>< zM4+lx@@r?un_m^)1HPyAKIXb>jiIh~nGJSvn2_x3E1D?Nq%~ko`?W$h6@OEb!A&_Z zJe6DhIJf-G4Yu{n=c95#R4o8;Fq`j80Tsmus~}fxCk%HRLoy~OLkH2noCivTPU8ES zr0^7Pq4t93eU~}aew3Ovo9(WS6)7VbYWnjV-OA5&gVempv9eCxWQ79ll-Iv}ejj=Z z(wO%&iJ6I#f`Wev^XX6uF+ymCxNED^6FThBo269t;yXpTUIAx86tX8%p{*&Dv7<~o zi`THKM9)o|6%*Xk`J`rXa?0SrYD}N}nPr9=H{?$oC=g95u9YG2aTnoH0b`*gv$?95 zMo4)GWt%99K1w@1QsCAuw5mDeAy|<_))o5CYUZjX1P>e>VY^-#)eY;}fm%pLM22-d z^?pj1UiJu;?AlPdLjC?6Bdlt544u@vgezUqv0NB709uE-Ar_SHsn6x*L03vyn;n?C z9RONB(sWb~4K$_@!pDl(Eq5@MDkdx4<*VfeUQItu;dpqKT5d9a=kQ5`dwqrUyG-<` z{!T10>w{C(jVz#41NgS}@FbGBtC<)Ctp5QR{_meIiVz+PuFy>!E2}9a!zgVHQ8|*B z@;V!-QaV90ezzqe>+zCUJghL7-_bT`|AAdbEy6fuE!MM;qAPXS)8yy|9xagZIY?Ab z<6gC1kn!|ozs@9)V)9dP zX5+vSz1^3qE>h6xS6cqdq0VC`3)p5(7eFz%^grmx4d7vc82CzcZQacoV==o_-xD~O z)~AS(=gIREphP97q;wrwE3{$)S+@TqzM2K)f#E>p80l$wWIW-*`nu!gnZc5BZL(bq zC|nT-g&E$I$1=y;eJnwblY~38;xQ>8U9_IfyHa=mn9h1~1e0&n*wcQjIDP%({lggp_7nG5#Ezw}{M1;tR$YUxdvDGF0a%H&YSq?U~ z&y`?c?e^NoGi0Y`(gSF(#a|fCSE!h40h?%M;jgW>N4uF*&a1UCV^`N}XDXbpKQ(v* zc{!UmC=&x9B&CLCw8B`2I8n<@JZ-lib{9m`Nx&>uSkfVH)_>kxJg0iAL?tQ5Nm>__ z%$#Z|9~|UWBc-1IyBruS3;U6!o>!u?HPg*%CYOv`!JXT6sC^DN>>YlMEBxva#Quboj{0KCfM_XfO;roY}U zhc%Kcw{ z;OGvXv4FdFi}aR4uJ?pDymuG@WX1loAGhGRDPHGhM9j1V<@8^rEvZClJ`(a6`|&9T z=IHBauXX(iVsCDwO_?Y!&@8F?q(1Y0fa|U7&9^pM9LmccIgghXvNm_F>mLu%fAraS z$D)zxEQZ=BWQ$0~1J#;org&uo3m}s`WuI$Co^1y=y5Lz!<#s2jXW-3)4ysEC>Ej1! zha5@aG!y`l@$8xWD2%4CeLTN>-rfz1Q57@22k&f(1)1Svc^yglov z+&LGo=}-}%g-b57S97OSU=?@y0l9N9WSJIo?NM;mK~u$~q`cu8#8!BNT-N5Z+ur(A zk*57AQZIh9;B~gk$hRgB<=O{&Blb+mg?Z> zIIZB%(}~lQ!Ai8p&XO}0fnw;JoP1VpG~WlW6f1BX>2i3yy8{vhf#)xnZOGCAykj>m znm*#Oy}<6#{;30Q-1)h*{8|BcV-H|i4v~AuyA$SpIjVD^B)Fg8 zGYrbi+boJ}jHd;fgyKp5UaM=)^Ts*#(f&a5N#FebzRH)|pD(ETDqP8!VXtyuD>N=` zX|e6%!Jh{OKag{>z@JAvG_GN?!-QzxE9gFgXFYDY)|;(*xh1X{bn`bUsOlhAG&;JF({CK1V8Dq|2qba*C8YyFfrm$ zAN+8KGZaaY51;K1-zl@-QiJ0@6gf#71M6T!t;8mr({3qH-^J}$0Sq}B)R2iM;Caz5 zD-2s=;mi`+00y)?klF5*(*U5EUL`cIr3ev|lGeR9G|i~d4uO7S9f%K6 z34J47e$rb9%Ql*)AXQ28eLjjCV%308uQ%(&^;u3+?;X zB(8|WmApF!$j4!yMAO!4ePOT=#0-><5j}N@{gm>1chrJ4_OL{|G7e9 z(wESIaN&~z)LTbtaWtpYtR-1&iMOF>gnbTpSEtfPvMqxl$PuD#$7%*_!}QHXkObTD_e{->4|XhUL3*kR%JNe@ z_`T4bVG(7#3ra&qn;$w7oPq>K4L;tc%aU}K1ICmwcnR?#uo3f#dhaIVHGib%YIU<# zN7(S-hzH;&I#B>}O}J+om@urlv#>{;-f)aF*asW`j=(4?EdYvQyJ zlP4$#snuCKy=(L8on%!SziZ4wvoS~6d9tnkR~3l(>`uy_5D%uysA*PE1-MY%f`cVRFjker(+}|Aak;piKV=_R=1m)AR%qqPPm6B+HYih z9#)kw+biySC__~Y{m!pZ^YZx?q~eK>7+m}Tj#=`i=LMD+X5ZyF&@ZOEOVu$8I`CRJ zurd#+4xFR+FXX*Rk6I6Oy7lKM^ovVXKr4GB?ET?!+NnDsC)yKefoD%VlST@B-~$cJ z*oli3ldbubBkdCx#7D=T)FADagij+ONoET_lp?t_<@26aCy(l(YxdtL8=*#e2a?R2 zj$)iYa~I|!K$d*-tkFD1ImaqyEL?{;5?rR`qVXOkiLZiaflZbYluA4$$!XVva+6Ar z7sw@tU7jG=cEcmrh0p+Xnf^!4WMtnLoLi9-B7M=#R=UehPfAZ)vU*#!a`{+H{| zQ0boxf_$|ZMC@-P^edfLoVBAXMWE06s6v;@0^h7akq)&Rf#l{k6F)&@YmUQ02a8e! zt-58=%?z6Z(kGw`O%i|-PlY0u@~mG%iYJP?4QgDh7eVQiTXfI<{aT%J2&knXEP_@M zSRd>=o3lgp@}pBT64`%7wZ1AYzK zQpl0-@99)YTn_0gQJx;IVAjAXKpM?3g?gzqHIRcaz!Gt~kVZ+dd>;Pf;QaE}J5IyX z2;7eTb_X#74nv!E&w_0N4>jDN?OwXrH&+xPl!R=1r)fDF#$t7Rn))%|oMHm?qpZd; zcV#dEr0DoV9Pi~`$T<1YWG3;$lYvk*)qwF^HfGSU0uph|I zZ;H{M>`u^bJCM7NKQ&?)Kv+YZsa%q@U-$A1p4#tB+!}FP5qN}p1%xl4=O#wp6{^Tp zAp3soWYk@E?v4Rx0mdN;5bjDRwd~HtJ0ign2p|3KfIwLd{Olp9Q&D^APi z#+fhsv!xG^VqCo$=5lxiT32(hI)T3LI~H;0k27si1~nB~soz7PI3X?_tI*8+a4+XmwxLvmtj7NS#_icvOYhQX1fa;SNRbZHCt9 zcPIBmJNI2ifoh~92k4a&gNHhg>v@~!jlWxzyDVxXh`Z*C0l@I(eTpl$Cf&q42`bB5 zEA>wR?AWs!9vHThP(2+cVK({M-x;^8hvJ?b52H&v%#3NR>@6>Etxl~a&A?(1HV+ON zFhE>~s0Pz~4^>W%_KgN}r>rTNSV8(-sY(Y7{toalQGlR{UjgkbHBRHT@Hv&WcVpY| zmwQt|kBT3mL~JnaTCteprR-AEI#87L*8=>M);Z zhdBZJ^D$;v$ZO4ZgMON+3qQIDsKz)Oug?J9soL?L2E|O``CtCd73m zu`7a0QyLqO0T zyY|q-70QKz6ioIxExhq-07clL%HLUC8N8zJ@{PW42G2H^IXJUMna;6 zQ%fKWwEz}6Ij2W<5x}jg=6aNV(1B4uKZ0VImFpNl#@=ZYV}ctPcq@IUcExXnNo-#Q z>VeA$zrv}}Dq~Hi3v@Q_lpU$k-T()>110)ZN>w861sK&b*u0u12mG@iVNq*ceaH@m zvuL+ASYx{*L!t`2?$TjQV$~{B1AhfyNbtkC>^kj zr2G~Dvj};SsK{d+6cF%k{2X(x4Bv_EK_KZdykF;dzn2YWJMY%v5m%ZTHBKkRTE}@H z|2AIVtLd8{>mlA5Mc_J8z-dJpe=Jj2bv4z0vtZ`U{q&Hv=cL2qV>rPjcMDC#bB`8Vb zTJz(mrI^;%u~2MPQ%MAlSTOkzH{y_Vt}p)^==O9NMk^Nmo!<4oavSUf$pn)c7|Z*| zJHZAyhwpOIlEu9L0k{pkc2aF{Ybo8q>@>sF;xTaAo3o!!-}mjw;Fu$K8<@;#w9wqD zOB38H27(bs@M-P4JjgT9fO&dQ{)O!G%na`^YTv7)(rC~YLIG)TXX|=TpIIML=5h9d zCF|l6GL43qS_K5#7cKmJU?(oBgI(EpV;XNlvYp~@n%fzNPU`=lKfrU~x~hUfp9C7P zPDft%6kZ(LU)ANQIoO$e9D9R^j@R(+z}rgawJN9S$22BV>neP8X59NXTa+9x{^L0v z$uGWgd-@k~#&3dH`oyB5aH6cOU8ml~2`@c$N<6H*P#@#1oo#M+U#zSRb?SLfZQ6uk zFNR45u5av9maFBWWf9hQL)uN+aj)t;ljPSct$pc8()vtfR|6wYfrx$FJS%o?w@|6y zv@{IghcYLIH$aVepa8t$2JTx~ylqhah!!!**1?D=8_&=g;-j|gGK#pTIR}!Xu^`ZN zYxAJnCm~)*Bl>fpUb)$qS0wiHS_Rs70L1)$L|FSDZ;@@0`0Rbo6d{E_6*4Na5}D@m zM&KK9-*?2bzdqXA$9^oXNB-UH587P#G(WyQ|8nE0NliJfP*}{>i!8<-;(XVY~2sx$3R3CGBi0X=ZVTi;REN_ON2&4_X&nkIb>z9@%Bi z>QOZy8EbmUDmy_b3ix2G(fgq+1GGh?gy^kt*uA^v=fGpiH-)pViMRav{=V(9x+FXO zuk{O3gU|liO!C=*=uP^ue9OZ>N5+5P#tvu3x)iEzuwaLb83qxH`r+31-}ib8y?9md z-sct4M;TRY2ekT|LnWn~Gp|#!d=UBdR4Pvzq{za4FrG5r#P^`8As9T90YrQ9fCypR zLRKs_-VemJyRGPkRVu>whl;4V9By z_pWuO#F4ZOwjuuyXI~vw<<|5~h+qH$A|k1jk_rj}5=u)QxcghD{3Wjr6x}&wHNtd5@lR$@h=f7P#*{Yi8EWtcl+OSChVHZ%k{Lz@;mGK*F+q zQM1xc!hUV|COEi;g1Wo}hy><#+f%hj^DqC{pPut1)aT-k_B=TL!D@l|6f%sVe60xV zc;}(@=lqU&1y`BK5oIihryxw({>-aWnJut-lJx38@@*dP8-Dm@_EqF)=CcLUNHf>JJ4KI2E8qmkah#P zfOTx)^sTD;#;=k^`bfi(53q>W^R0KnTO-(Y7oT8l!ygTXGpQ`#Gd-*U;}avLdx;O| zRig*%I{dyp^zi>*sY%cSbJUW_{f~onf;UK1L1W})3howIxTj~-{0UwMba?FHr`s>6 zI|0@U;@KqbRg3PeyFc<{MEYJ@X!Y0d_(DXf}ui766CDkH!^Xxe!$lWAs;Drf_hPp=s-S8C!`%}1^g}nGTsT)QS@@>KwTvisbR1F zY4KHZm+2sL6rIr@_F!smA{!Aa!K(Ur7%l@U{^jWK{S+7)^{a%3BX2OWZ&`P2E zAE--eH;m3JyJA-SbQP~&&2kZ>{Mz;c!*E4>2}8gyiq$qE7pBln-pFF`P6CXPE~FE? z@Y@`P-Jx}ud7i3K2aP)#QEtqZbwq?0h)IQ|nQ^uSCe*x7P569#r16UG>qSm{u$2Qd zz>VmdV9cSy1%)b>r`CDf%x^9X+Q-187G29DAPA2HD7v^1VnV1jE&QEym1H-Rek->w zakYvFIpGX!o*H^|Z1T)fyQim*8znhJ;h(AqmUQD~yoHjtabIq&vB*UTK=_}6_%B+5 zOuT^~7}>>eA2;7uXu3?AYTrjZ{@?i!3@XE_rb5Gwmu3Ja@KB7 z{!sxxu5>XcR{7RX-=)n6#up;+wO5&-fm6h1&T~ifKweg1Qm-L-0VKu}ck-xz@$Y}p z{pSiiQwec+Vd`!-xFk7GYI&Q4CgqAlb~kJSff|$Q)kWI7-PI4vx_vw$#@5{5v3Ur! zNcYI%pV~~HI>kBwVv1KQ`zTaqacKY$$qMP?DSI}j7xKy%zWgLwMm|7F*| zf1>um0`t@C37M{7EcinC=g(1jvbyb|yu;aVH3ctvErv2j5uKQff?k*)FjPbLE&SN^ zBbemW2MrB|20g9*+Y@XGB00}^$6~rp#lU#?%=i~}3^xE7y6zxP4~-}h0%q~(y7@u( zKK`@r{g;uUX1QcOTqy}!Ps5laR4ZKWnDk_paieNqi5awxFIb{4C$5c1d6~JNs|j7e z;5N>NZtyd;BxV33gDVhtG5pNn#V$Y*o5lR^0W}i51@%b?Yo`A;xzMu2kwC2#j#=h0 zz?nS{h(pHAA#C-xWdOb6mzMqa81^S)J@13tCwMw0)mec7m(KxCz8}8ya5MGl@JVxR z>Lc>z|G4MgYQZ#{wBDl!Hc&$x(BXgj#{@zd9j%Da1o^R40(5{tI4^2L>H}fn$~i^- zg@xOj1is78v9Ch^-^isVhK{t2T!9K=Xr3id9@k=0CI8}Y>co#F)(b$!W9}<6AQ*&9 zzU$uS%V3fBRv4Gi*wuLQ#l*nY!zU|u>Ugjy|h{2Gws6S zvwzgrU;QErnt)}j(v4*WI_wJR@F}IO*RTHaAAj}@SThQDUQwu$;R7XOON^w0!HuyMr3WqTQ~jfkN*9?5)6XdDt+Jo!U90!S;^%lgd)*UG<4&H$YsbM z{x(TL(A7{GePmq*;F7IYNIPscagBZqPW|qxf{p-FLQg4QoCja)5d(0n|0F$?9$dlsx=>aZm%&FU;!w=(=zRpHH|9M9-k0|5vel zA^7$CHZ&EN&-4mm$d}*Fm4c@Kzd%;>X#F}grt(;^AjI_0u$WiSfuj&Ot$>NQl)wKtcxVOEh=ZCvO#s52`Uha;o!zDv>SubzohRTG z?>^$jo&%I`6#!Zf&Z4-pw0$QW!}n#nkibKLF6baH1B^I1V;Z!QvdCHsQI9{ zD9|C!>`Z~tU-KDIc`rm9tcmck?e(9&=wGa$ry>+8C{1$8+(19qTLhL=;^I)jd8SwV z)%ptgc>y3$6vyqpe`#;}Sy@u=03n(n>}^1V7<3KVYFT*#fy^wPEhtXV~DtFhFMJspZuSU|Uw8828}JNc!VH5O$`6=WM25sE!x( z&(6t)(n&rm@(O(L8er8v=(%DSh{r+)Djq%u*C(o-6u@BYwG2H)MiqG*EbK-T zDH|9+80;ryKPNsJq-mLP7q-DZQmI!ku3hsI%#n^+=x8brT1?&<%GcrQk_71qJ&J?F z{2H5+C#lVD=;-JnV>Y-g;R@SJ9Tss8=L3%itw!in3bcs$C~rCi3Y+gf1`EO$w>#4j zO1vCGl&Nvvyh$oxk!1XRzXh9z4!$)!)|dEr?Iw*I$IazVi)e5;L1Q%x*@hzHItjsl z9PD>ZjV)TyFhcP~R0B*iIenjA*{lUCO1G$D>Imse& z@!AWDhQ5~+9<1sQ>xeDcHU@v7qPWpNv0vk#9-YiLz|69dG#RR71pq2@&*=U?jaN`M zMmN$-CH$aVMRJg=*k$6HTCJg32zKITU3pX(v+_f=f{6s|I;Wj? z1hbpVay+Q(jXy~06-dxAJ*;&da?6rSi!Cu#A6kDXr?Q4-CpClGA-QGH8k+_-W2Aly z`RzcIIoqelBU%as9`a*cAK!EQ4nbYn%&m~nCH@&gI;27 zi#I#pXj7q~k8G&vF0azZySxiG*1_oJQ5EW*3Wzqx7=#KKFsq!|Xn>mRdrOJUWq;1f z=J)`2WgshU9=BxyscsJj-G~fX-`k|Ud%83zU5)Zx#RE5L6Q>CLyr=&n^XD}Q!U@HR z(U*NVNLm5}@X|96AV6r( zu6e6dE9_B)?NdW9EWCCy>k6bC{96mkYR-X2@jdARU9&|>q=*& z0RVDx3v2(g=?HIlluekbqAx-N^Y&~?B~;7s^7$^JTXix~MlV0d=Vz%kjOE=eHaf(; zaZT$(Yv0}CJcGGW8;#P7mWQ$+wVNa$%{~_I^s$)ue#gdW0%#UIpCdrU39P37*hx^- zj>^-lS*$c??`!#U!dh=7(cm-NxJ5R{oAlHt&xQu`v%qySx8;vNzsal8M ztKD1%xjD@tyZP@INcl`^m%EIcm2vYfb~kDs9uo$Mq6d|UNVPOE8v!2$M@H1qJypyC-oE)@efX2G{-jJyCw zIXxv6E5^^!??1;?)WINXX(r&TfGnC)IOuSF{%Gvw;K{i1AAOdn3Iv?b%w?|f!MfHW za;@SL`+W0-e2WJ;?<1U}`>pdF@Q*7wFmc~OQy!D@Scm~l4Ug+*u^6ia4iJA94tMbyBNhl_TiBLl+ycUboEOE z;&BR&Rn0y9c*G1aEMpy+V%@kKy@~b@R8$T%VM3=28xW9_=HVI^?%mT`+XOXNR8M{g zjfS#w#44Vw%LK1~Qe3E~|SNMqq(-6p?^|?}^MhV~$HL~B%Uv4Fs z8+i||Lud_WMj-SO%sh{7Zj0}g0j_%)n3a76Ok>0&5rzG!$sd`knrm3RXaL`L()h4Ivx1R9HX%5rxnX_7=Cr0G zRlo3aK1>TrWCW)x-#=ILV*k9!P?2XClM=IBfj^pE@;3X~?gL^Z5hp@lUdZ75`b{z; zRl;*Lgh6scxQ5O?^I;Zdcl_tFLaj{K{2TEbqbSzEi6P6;o1kb!jC;&KTw2=9U$;5R zq+rOlbKL_k@F9bwid6_e$`m8hNO{VANB(Y|R6_Z!p8w<5)s(UUdUN)~s}{ITU+&Iu z5r9kDF&!weEZHf=?C!A_9!U)Upm9H+#wjnzpsmm40Qcz0i@@tVvL$4;Z67FT+A5#!}sakiHpyYw|GS?{Pt z2-1As3NpXF_!8sgE?yE11?|=b^CqivOx1jdCbh#JnZSHmd)elfsIdS~Sa$f=R z8>OXB{m2JI^|xVhiyRZqC>ZdEhl?I4D7sl9fVY$6TM zC8iKrGN7#swu)Z`{177uXgpJ(eDtKA0i!!REnX2P8f|wDZ8z78X`wgVJxvB_1GW!k z#%Y83NSTJ)aHRsiShFI4MqTG+cj{a^K;@_~(zP(_njXrm3)nnCZ3v_z6)9+?b+Tse z#-Np8V$;Ziqt&j$7o)y238+xJ-Uy@nsk&FmQ*r|_^TpUKBNS9n z4=sWm(J!QlzmK3bd8sI~q`^Sw;YRLpGQU%5Lq8wV?^;-W^-knit3Do?_64FZ5s?=K zPYccJa`8{3<1S_q&4`Mb^sPp3qy6-h?79AJ3LrOMUR7&^w=sR9p0ve?N2xMPBMdi^W*I0v$~L`o zzNHr^M#PR#Vx{@J`e&i-c4(9vbj}XgtPWDhp)a{q6hB2VlhRp^KeXBXPC9bjMPSRN z$B0H@GgH*AQzSaoS!Gpw%S4`@t9-@u*(#N@{?2=fK)Bx^#)PPQ&$&b`pL@p=ko0J=M zz12OEGEtgHv^++gTDbJf@{J&Oy!aQYoCfa%o#@?JS+2xAzE&_yEfGQ+Vrikxv3lgZ z{zmFl--~~8VZDhk^1ctZRmWc4*ZdmqRK*?)FvUe`TUqQ0;64<}j%p=e_GY{XhZ~+8 zLc?g-m{pCo2D_nn&d@!K?(nv25!-20dzUE;v1X(q3!iyu9`C*BFOYkDk>o3}jI`m+ zY0v{*Vn(+3`w&4P-o@Yu3ItoJehQTr}JZ8^I;?sNupCI80BaWc=W`ib3 zt<{3;+%j1agn#n;J8z13%Li>Y)SMEdTUI{C;^uS$NR%BHPjH)_={0*m`>U4p2XCQS z$lnD{@E$G5kiB`P#&V{3PZq~f39V8*XzMpZiZt;+%$ZS(LYfDouEA==9l1n^D zCa#;v4W6mWFfECpP2j=*Vm_5wr&x`U?kP3JqTffU5q^mu=ai7vKoya9*rnBNa5dO)Q44`dt#BvRw?EXZ;FH(ko zMpgBpAe(ipA3Fk-&8ExH(2dKpGS76xp7w@l|Iot?dIsJ?g?K%O!w(K;AOQ_S7D#Nj z4{5Xto)WwcmZ2*i`ENnr&oB1?r3K(9A*Fgt0ns4F`+?-=Kl?{EfbtLoQoLqPf&zUE zN2MY z@0Cl}dkpl5+7LS1`Z1ZE3Cnv67rddiCx9FaG(-gfdZ+#lmX0U0}T5DfFe@1ChB?%|;X z7O(V57n0^R2zCR@zn=B?H#b=O7j+=c!ZMTLd%!}dfX^qR+vHroFA7kM=LO=NkW0n` z4{e&glhS{o8a*!@wJA@>_<%I<{bdhT6%`d-oSZ96q05J ziy+#8Njcisnd;eZJHXoYY*#;60dYov&&Ne0+{R}SCps5U<*ExJ55Pmy62MBi$@iLL zpGl?2z#E+PatgZu4SkSGRXTA$JPQq;#*hH$seK{q`2QP(f$z->$U@&#Rfak%gn_-WQ(X8FM*Vh#R!;?OEg>db(9krk1o%*sT`{b7CO$BL zriOzHuZp?BQ`EP>G6*i*qdJo;e&A!-uG+4F;SVMtm*!SO-HhKi55Pb__koOj@0GRl zfPK&v^PIFG?mP<-)VbgdALyl^N@qOOvXRl+)dY0>_uuin0-|A3a1AteeNR9G4#> zF3Hfr>8UyMnHsUC8Ne!zQ6_6@P_pT+^-un9v+*( zw&~vV@YsX)#blXY*Vzn&HduQ*Suuq1LM;!JgQii$;7l|K5CIyDa64x}SKS)K)x)v3 ze17ruAg40FJ95cpd(G*>TQZd*gHGxw_SEq2-{wT%ji(cJY(}669GcP9=4$cKEd6o_ zw;qo~*xkpkS1X-2GmH2=hYp`%yHuf2gm2*K!unj=uRb zGwL1AG;b-^6;*iwZ}lPn;Gr1``SC{irj9T@3c1B? zOrlGUK1J}h{ZQ6X%ys=h`ndM{N|0{|yHlcm&xS8{nk2=>)KV~ChTK?rodAC~KenYR zKlZq*Y@O>;e(WP#?Wv_NK7>!-`>m9=3*RX3jLO|?m~j=&IxeM5;af^vRJgK*1&m#7 z_d9Y--~hsao+p^f;5FTPab)*aDte~^fOm|rBfmWhFKSE^nTrrU_N0;nAb>hiCoLEE zm%6PplsJqTIJBnRlx*}nmhEbzzqc$+eRU8xvh3U(U3}n_?|9R8{Q4hUgp+GL?bpLW z=^3OFO=IS&P!#Xw`mROKZCuWbA+~KsTB|F?tyNFxr8ZQP(!j-AabC7HVIZE5Z9j-H z=y=0o_;xfhLpzi~l9584Gwc?Ytp>wt1L9ns(^8Udy4Zc)?e6>#R%u3WQ=`)Qon*G5 zwoX25@^mtq1xb=%LtJgU!;gLozjE-^a)J}7ZaIfOS&CEu2&iv`P3F?RaYp z@$7Wf;kQPTCPany!)RfAEo$HTkqH~GGCo#!E}2&ySC)hsZ7`_$h zwS5eH|GKKqL?I(+P3>i>#4!RchMUiLTDVF@DqxnCGoqVr)J0B9b692@X<1jha#w*& zPL~H3SMqFJ>{9n|lrP1G6>~iQu-ov#_h2HU)YIjW z#p?`E&xkPUrtSQA|8uas!!?ml1l*A4- zZsn6Dnd(jOdCT;_7i!mzd>qhK7p6(`y%x4%p~IC^q4!*Q z@cei364SeW9#$8G7mu4qf=?^wtiaTHS|)XAO=g{UjOkvAS$Y|I1{Mu_#)xG(ROb2|f8N?+%s2z{YMRLu& zgcTe|s14l8>>i2)fJXzvSJK5*s6#o8*mQeO$5a=%H9XKr3X@NSd)X_wow!D{tA8); zdr{yTb)HQrL}gW}RCcg=o#DLcn1Z(hzAcR)l6|6R^@T0PJqnM>?>qKU<@){=d=I+k z7ZCDwqFCN0ouZ0?T~sn^(}Nuh#1E~;jtsm991+5s^HH|F4)eJ7v?wPQykG!R)-=@Iau{}oeYna;lbVlD)aV< zDjsi&zc3dX#ekV%yj`HVYEHa8UqP0=R+pO3T4gffQIVwzpKC!w4DNgdVV5cc2S|Xp z(N4GQ3Gv3Tx#9W8*NUHvI)8nn=m6kZHkO1@e0A1wB&oXVt&3&;o?l&1*)nGEGP7g> z?g7=wfz=A%h_u7RJ9xzd5k}|j%ogr;T>thSt)#FH5#IGU=X?Xs7fR2swWq3kny`zU zCY|i-lJtjpp>cRQ8FKiW6N58%xZ`=)SNmZsaC6rU`rW_l}2sWK$hVoJ*|@~CJ)d#?ulnnIPa9m7r*l* z>xy?`E+WZrJ1Ae5k|14qdW{xLV$!-*JK8KBiO2=g6~CXPh>`4h;*=Y@t9$6<8J!9D zP@W1ZdH)up8#^F2=+oSi28quLRpcUvvlLqf^1xKN`96o497(n!TN^<*fdYRx-(lcG zMTMHq%mt;cF_cwEnT4`Wb{LcH;9kFv_K;`j!sj%mMYvMn5GY{wQgxJRtlraz3%Zf^ zM{R6xotdOw*e^PB>lv_OvAX=4Co~GeRq<=33ZL|@Q#6|?4epz&=9Nna%Ha)Z^zR~w zB_&qrVFQUmkd^rQ`a?fn=BfaK=MP0m#eyiO-U&4imSj%z9Z|k4^;-SN2K%!7yWz}4 zHl{T%-7>v6a~nsH9dA)aYaRit&euxwV{}2_!G|teOQjBTLE0{xoKFn5N|0gs{HUex zWP}WO5`>aE>?ma;!As?R-so+BTXHr1U1ea}hS5k{#MHUA2(wq~p$!!7+J_i2BrNSl zSNXAVFK82NS^bcFsj``@koGq6{3`7+pCq5$(kLVf?`xd%9nmU{wd=>8dSfyC_UCAe#rR_ zuCILf9=F}fESo4iOV2^7T;B^QiKj?)4wGic7 z%{d<1WUS78@|A#?_>YZ#tCxMIdWU9Q3?)RIDh3hPm?A(^>?U`Q&%}&yNrzmAUuGM^*()xy^7SC&EsR`wyECk4|pHK_;TyyOgKglG#A= z+F;<`$?+fDIk3(TF47-_tj6%_2c_z)iU*4$=tX#V9ph=a1^z(7SyFpleYkCSp&h@myZSK9@_h+$AT^e_? z8K`n>nNvVWCnsvU*Ev8G=179tA%(Js?V)`{I+b8PAh0 zVJi^fiXBK=#gt!r#Y_PI?zJu9&QGc&1vrk-2$Pj53yK(I(ZTRViO&7vDe`&J^)Jaw z-6o6Q7P~2{xSu#5rPpMVozprm6OwbPJ!E7c9-&T;w=w(2`scKqUZotptHihC@2C3q z#XOudVzG7{mkxA@5pTJLb!_;!+3?t<{2Y+_Fx7 zZ8%+JKTyw!d*_%j?VTu94)$Vx_N> z2#cXC7!dd3ul_=XRIol@idPF9aa&J!Susk}%Ml%9#A_JD!!%WPlBpfSP;82r(&8iS z(8U@R*DpBDT*$kb8;K_N7KhLK2fO|I;qx((T!J6gqB#w7R zENf){)Qm~iV3)Qt+Nf&a#Utd0@d)2#4s};G!}?+Frdd#Lbjk}&VmbJT2)C0u#apc2 zI{zF19S^JgX?EVaV)Qtjs!<)qFn@m@=ky2CR52)>O@*u3AKkfG>j7g#uyVlwr=ho# zf2&h4FZ!~y#z{~GXf*@a<4IxF6ZhBp;Qh|Z-nDZJO;9MmPjnDnfu)yx{HQ*1!zcDt zAuF(K^pG#=S6>5g?%%zDTGSaE)^UGbcR!{fGGu!YsKPh-lux@!tx$ly%}v(`RMgpJ zR%?cDcUqEP-wB9+#B?m$!7d7#9+VcsBN(IROzQ`L3(Bw*&qU@xa@RU9b-&IlyB3)x zBd^HDlASrjt>?^(>yoptg)Q^`Qbc~{V{6!qWQPJtk2;LPauUaPdF(WpujdfN$)r5r z^h)p4WQxUP2bB`sRv}W_#2k#jd~v>o(vqz|aPW)lFZ93}YaBN|i$)RscFJDU)@QNo zanC_w;8;mEIh-g$1CUR-}!(;wsK6UEgz$M ziB50E%=S6fA0S=+Y8wooJjtS+}wi=qhp_;rfS{Iy1A_{Mh_-x`BU=Y{+6AeDp}tU zY(W5PlfCk541jijNY*B%bq~7>N-6yXPTd2W5FTQCtJG>7X%6r;L=W52Db=)6;2T9Q zhg@(cLxTQDw*Mk6Oo&0HOlt8XOpuR1-JpDCk(RhpdB)7FFyVS;vyU2;XJ4HL)16eU zH79xWWulBOi39?U4z1WnB{8&8SEgp@2kSSid@f$%Wn$sMe<0K$a&hq*5{F7f#B~fg z>3+IW+-J<7;wcgOG5f{}rAI%P{21!S+=p6l#`YP_nDyF`C^Xuxe3WFX`j+4qviClB z3xt=GsVYNCiZ5E!)T+Lb?3*__955pnoRA-#26jFmJXMKd{uUeG@psLn4$hGXB-^A+ z-S{j&wlP$i=3DBUDn)sHfzmt0xuZRF1JzxWgSOk?ji08LaWmb!*bIh(J;>GKZYNr6 zCpO09EPA^3UAp+vnS~B<0*X5TJUd^oB#YdkadAo5Ki13qywWd9FT#_`c zZJpArvR1%-D!*P$XMqSi_)ttG$IWKLfMzkF0}Cj7feSG*#MTBOmnFGL7BbR2>@B5# z3W5b3ocdb=C{8k24kdc(gkCaNiX%cBV!}0*+HTDieSFFM-a2+MVdT<6VQg;=9 zfF=k*`t>$~Ry^*qQ?l@aaF?ao6#f9yA6d7scF9;k8m6?%@UId5|4LbHaeIC}*Ci@- ztcW_Y73RX(Jns~EQ$fVFM~iswUMp%<7&;hVG#9Lilj2bX&Zq1uRO?k#K5AH zXW%D_c)&B%-v8#&iY2~T#YMrKbx}Ku-dfgDDMy1(^CyG?+K;>$QD!gl^J_+h=A}!T zUkwdW63KvU@+slg{9)3~rM3hiSspZ3Dd!>+owiWvIIM%*gqj(w#Jo>-1Ikn=ClwpR z4&(bV`=>bq6w_x58IjcEVd>Z|)Xj53ZnCi5ovQ4dHWsj7hpH6MIw+Q}{GF zgyB2495A{EkNuZdxSM6YzGBk|usckQOl_cc&}0|M+i^KOJV>Aa|&Q^(Zn51GUx18$XvN#s4LEhs+ycuE$JpfrDk3!#roa3g!K0Lvk zIl04{C(iTP2!GycdD*IwUd5`FC%?$CyQtOoec~W?QU1h{qMAU?Y2M3Fv^jmx^*uZ~ zGMYr&r`6wWRr+XaFmJIY6)SPd?+F@DC6GrMACL!&Knu99$)1!ge(u5JL!>m#$Mk?P zbsRyB2iHaG-LW3+yJcQ=J+{3~5AFwRLEE=6=yNCC^nTO2QcR*hrgKQ{#+{?WOqUna z4~sNBUPB6_!H;t3wwv>h4>)a1Wi^lgaNf>l6f3=JFCckc18dc0>1%G6Es`c3v)cu) zGQ@}nWAe^_#6bka5r~~AYlgl|5Qy1bFzEXDMt}C&i`#!ngPijV4u&>V2b8?=ZUS`O zoI(Rq0v7A|Vy35a&V$R^AIu$BLFiR?f?tc_B^Ijhv%8Og(F5#e%_X2eV(4NvCr# zP^(-suAUQdl!*~8HIJ38hLdfxv~LMS4a-)QrD=`#wx+YVe;sekLFyvsQhGKex9d|u z3WJ)F>mV-)v$R(D0@1LFS-?=fvhs}~r%&V#4%Cnc?H{dB_JMly`;VYo?NBu%O*-yL6F!1GeaRif*>;%Sr~sJyeK!fynyu;zG7ESBJMVgy zdQxhMiF#M;l6gH5x-ma?Tnjrc`V`UDm&3rSP4D0VUl1N;fJYfHs?`g!?>lCNG$eh| z@BE}I0(2kke07R5iOY5fp2;n4G=Q_!DYlNFJPnoGcYtH%Dxa*lQIM4|LU2iE8 zh8ap9OvYsuHFuA|Bc8{-0$?!*R`|aurKoGHn2n)ocgi;M;Ez)WKER{2dG#}vjl@)^ z)s5oM)s#H&r~NHyj9K#Zq3w@XKKI|FhfJXA;0b(g(PE_d^eq%w?>j0hF*q+$la7?f z)$q*yBKy*XGhCqJMdG2%=SDFEKam&liXo9gP&Fl46x>^Uz=U)>$X<|)gym0tq$6`1 z2eB_h>_EQyAbB~y@WMgh1G_6dda>(cwhrS&L+y`NHZ0K&JO}Rx?sN)uG%%~*4&2=s z9w%491jj7*Voybv{7j*^x1wu9Tw0*%GQZhBayzSn$N6hV>?bI6DuF^L;xHg-aB41_ zQZP;C`&LwonwK;ytXtAp8u4c0(~(j)P8gF2r7i0s1hRKTUvAW~2zoFja1auv?o--F zp_e9LK5++J!FgX)W%_6|%bnapF+wmY1;j{r&y zRG+FQIHtrWRs%N}@dto_3zJmIU)dp|eQSiO-!%8kj3ucc@}T5*@?7J4p*W>4d|0Ko z=SI5MLuk7Kl(V$<+963I96D{HRc-@J|q19g3(?kYK}TKjK) zFM%-rRto=~?NRlK12&PWw1>Y?ce=59RgJ?SsONZ;_rq|3D|fpcd&nIjbyBVmp`qM? z^dhK(K=oEQ3nM+~J*@-@T?c26JloYK`7-^PyZISHtX~fs(qsBomDw1q?q}-$I8Z%j z|DKj_o4pz*Do4SPiFfrjD2wYr$=hA;uB4HKypU-f`^Y-lY=)EiR9&H#y7h6U&?Ps^ zK?Od#9LmtV#*_F2UT4FWkd+<P6V0-u9t(Ch|NJIs^Acw@YI>oc?m+(8|7P zOf99v*uEIPLWAQ7s^!LPCb#WDH_Q=)n{`@JDnP#SKUv1bBtxkLQFrqQ?wM1}Y_3^W zO!}xP`mT_BH7EXdW;JbK{xidks9gdv+u1)e(IMs>%~66rkm7?F`Et9Hwf(ij^F+(L zFv`0$`!-|ryHN3WW^bL2Y9q_kXGYnX4gf@kDLq%ESBtz)!l5ow8R0b?JlHOLBztsd zzf-WivTfBNRG^xkSzo;qDJ9vf(s(i&1$w-dS$0KYC`D5RPFGT((GB(^m`01q zK`Y^NT+CI#`EjJOsN2XMWv%vj8!ZbWgQ=^K=@)Rpb3N^|kE*lt-*4NJDL&YKQqe4{ zao2D-0VF;pGUFY)RK|+kP?Z-2sRW2`QTZKx9pdS=|3&f23obhhhY?2>3xG4tZ42cr*2JBpOdjM>bLxsQzh6CrOR z)%o^Cj*qR_95#RmC_E+zrBrI%a@NcH zWTxfm-H-A#oUJB1DKSmQaG{PP^uHag3a)*??&{a`8#C2qR8oA%08PT2G+XGt?07Y4 z#NcCv6$oP zW{EM$l8=w*#-W0RNBi3QOK&^)X5>dXwQ8-G^VJW6%USZUm&H&+mg6CP00Mt0hl^Wt zNpWboKXf#N-g@mpe=RHWYN<`y#j5!WI5;@AxLt0p3Rp3rCKgF>0+l!kavpp2Yim+F=LC^EBO0H9Dwk{D=>&c_NM3ve6|)6f3-?@E za;3e|em*WU5ctlo;x4B0475soejPBw^T4)w1Jke|3o*PHu&FmW#zAs&DhT2j7raps zQn7k2tVhTb+rv&RlME~`|BS`kEQdr%_-5{x0tew=>a2I(`OegQzJ{orSBfMjQ&cD4g9DpBlj_ys zNR`YJ2zIuV%4u z_UE)8Sdj3`{vcijj<)G}h7%@KwG0T1h|*zaPvsrO&DQMrA_cC#+%&V8q4|nguiVhj zm&H)RvT-l$Hw1cS&dKE6*NRpI9_Ge~^HyX-OJ+1zBFHF2a(UlK{hOnL{>y*o8Gd|) zZBVDB24n5{*Tkp0YJmDY!-MKf2da3l3bQOOx({&pi3lE0v69!b6HHBdpl+ZSWAjVH{$ptH^j$ zwtG>wAFO<>&s9GLZilOc@DOxJyU~FVr679D3Xc;cpORUxj=XBKM}yHAiU*d9cqM9u z$2sGDO|3}qzR<&yQ$Ptzp>&$d{b>6<5u+jQK>7vF4xAnBcmls}m5b5ucy(-F`i>@b z#683oeEtjRiU7QfdwrmiP5hO5z|?4+{c$>~qr1`O`*)M#_#E_sK06ST*gY7Fr3@$H zJFJanvSsf^l#V7#-T8a$0eUvsE(vowrei3AAsSvOSzp9xU?sm{7|30|Ss@*cEVnt9 z#p6@JTOSeKo^OBN&Z(1PbKHDG`>x8>PCawW-f@5#2VXGD+7jtI&-M=9URF#P z12gBHeN+%J?Y|`w3sczER1aD7XE0f2%4LrMo2IJ&#a&`#vSUC-9+szq|_z4 zlDUmG>+n3n=zXXS6G|+z4^Fd=Vt{RT0YUau7)7e~ z$0H53@_iLO68)KePu*Iq0>ja|nS4uiaLVt~>>R02CRVrVAZysnQ)A(J)=timn|t}1 z)CQY%sftRPbeEjrbzZ%L`|NIi42$_@ht?oJ)wOJwelpZrJ?QTU!OOexly!YJg16Bv zIfJq|1y1!YGqZV@S)){<%zSL2#1uHDG_{84kOvCzjGd@o^zMHT@qn*=)0hyja}r04 z1|hBrYB6P{X}PyXFquVGB6w7N!HHwVYkMK=L`x%j4&`Y}!X~-*SfRZoI|Xe(*P{kH ztz4ANy7H=ujvd`tR-0qzb(OUrqhtO{_xyJV;`=G~>nuite!U;;7w*bh6|?RwO<^1O zp~Nj6e2dX`U$PCZ454e~33=5N=}To`GiYb2$tkkgfTF{e4mdwR-XjQEE<9m7k_+2T ziSIRWZ%xn6htnp64J()-Mqw1+P5luVh5uV z!`f6t>$**IP|d_$(#4`;FuP_@v|ix4xVAqh5G3qF7!8hq;Nm=fcaZosXty~q<+4_9 zVGr(leChlv9LFp{shZQHn$yg7^<7wGh71!uF|D!=Ba2SuTMbhX#uQ;Edhc11ZMc39 zHR^0@m#quYW9WJ_!T^&|t(78>qj;NTdr5_k-WD&vti|r!^J36-H$2X>Mg~r0X&_{+ zGqr&#C@be(rCv#+C*8 z0C!iEElEkI(ZN3VY%W24)eiWdKaJvMWKe*+iXl{YN6h;fpVae9&7x7 zHSvHoQ)UVQ|8{@(Pb;gp1<3_Iqn2psH-V79#i3#PMIP*@2mcd;ZOH)|_(wmGUju!f z0248JGExk6;?)CaOXCb?sWVNV2?~Nvybd-Ds86&F>ennfuj}y7 zZ2PbE|HaDZ;ZW!B0QuTw@DA!HXwg#`|4K9Z-+!wKtggL913CElbQX}M8{?Y!nUFE- zB>~~i5<-R0q@MuPx0;d1{U7Y=zv%q8MR|S&Gz3(WNO2*`JA zpV!|5NnvPw@=!a*=3nsLe-U!U6M-0#TXGO;vUL;&5r)`xwX*?i{OEY@d9&~VD1$RJ zB49OExb$-<0N($LumAD0du(9si~b`&^Z^2_3!Y78|K~sd`8^&9AUST|I~}p175vFL zUGm#itTfn$sEp}dsCo4*H+bbeqqgW@oQD3c7XK@+Y5?L`;>$^1?VKH3O>t|XFO2%! z`sc4B^O6y#;VBuNPh0gpLl}&%87W1AAtwT$LIG%R&jz0924+DXzDW+2Z?%(HmBs? zToERN&JZQ}LOX(}haYnolu6fN=-ie3u9i6V7{BcP zzTDEeac$E5F|h;3!dCxN(8Rt0;P>_CUxCvU2QkWRLgm~v3JEsXd5nJmK= z)XzUt@~uU~$Y8g&0*+IuH)$w;ODXAvsk7T)&FO|@h05fBie`qX8fkBezXlm8w?&dm z1*>X7mC49e3ChU+yoE<{D-zg=_!PV>Rj1svq`m0?ekvXY$5}t{3tq3Ik-%mf{`L$0TQ=WSKQ0OW1KTX~ zN8fz;DX%c(Gw1U@o;5AVZXYYvtmQ+c@IT5j)oCHWo{GOi0|%xcWvRLMXD$7g9Z<_M z9f7`Fyu{Xe(!h}RbYzyGY~y5A%)sy3OBq78LO<4CA$R{5H}RD|oKGBJtcyKP((fX7 zt5>AZs40iXI8Uzv$P+WJmQ2zFiBFm%AP{`KXsv-gx=Vh?eS?=ayzOfEw^x;_Mox_% z_|W1wM6Qu4R76y4f)l7t%TDsVY-pcm)Ag?*%&$n(oPu>n(h(V`zAt-qCtl7~uZfg$=8o&6&!cJ7Pq0J#J!A ztF(F5u3r80>9tO_Vo`yM!5cL;3WIT#wCfiQ-=}`V_Of(e8A zFs=)(-vuuTFZI0anIvI#czCz%>q_wwxGz``U<4FO!T3L(Ze3^zyO}5EUJm9R%MBUN zVz$sQo`Op`y3J~*ZV@dqhnuP6s1uu^!6#ZIw_B2~v;^M|zRVmO2fV521*a*u}cLc#?G5v+5G6nY10#pYG^#vGMZ7}X0J%Z-S%>X_&X_W za=ebsqdcLhR2sCyRD=@$;8JAdHQ8Y6zqWwq;6bJyCTs4b9~#{^oPLpQ22@VR5HG*U{0%Wj(lPYk@eT}nhE$)dD=gE_b}_fqoZI2DNRx)WXE3)azVVN?CW~#JmyCZMzWyK{jkJb<#J>dVfU;?6r8NWX!*k zVcA810z??Mq_RX~uZaHabUt3rNBg<-c8zM$4evKkn|8C(oKhml7dJ;8R0k~%l<=r{ z?=+XXw#MIiHQyPmgs4@OiEoMMOWJq``=nmOQFOXxy>B~p({*wcmJL_G#`ubGt4!W`8u69EOrJiW+$Q^I zXYWSOkDMH(M7_>LZvz#Y4uRa)G|{D_C!FDt8Ht^Jv~hwdFum6z5K|so>%VTb$n(L) zgu4q8jnu&!iPsBRDU`0*Z0W)&FH+};s-UoEz9mSWs5I+|&$qtDc6`j_=xXi?U#O3e z&oLZMcw8q{%#38rF(6c-I+|28?~Ih2Ebz?>t1A=j9OnTai;I-!Ryq7@;Kr z%mp}cUzlIjNNBBnu3ma=>**|)Y08B6l98R|sb0C3pSpFpICEPCLcfz&Vep1K#CTS4 z64F(Q^mKOuOPURBk#fd zABYFAwLz^#xJDX_)&8I+t8*$Gg#7>eI2q9;L(&WZ10|4;=iZq6TB(sZXxpc{cSF}y zqQ*&2Rm0)#n!2%xMZ9U3fF7~RWvcMTI*bQw1UEkzjpbV?-8y95pU2|r z$k_AMwhN|;y6TPa0}WJc*PVmKjY(2!)283=?KfqO*!fuY_~Du&zosgG<;~4a7G=V% zhg9*5=xLae$A~D3u52X@rC;CpDS>;(vojDPFzTGBEhHNkf!1-9zPpzQ8d|zpv>)L$ zCa}Fh6NhcfloP6Ke6wpEfZZo9rHCB(WPjt*|NYNCj-Cc&62-*Lw$;<&Z(V1P)f&EkrQ+=5gP=hyjmdbrvq` z)zE~UpjOOUcIxk%cGim;m~kk58!9$wW+#adks6tuyWMv`06+|wOU#;Wd=)#;d4=eCBkdc@R4FJ^Chv|y_a-G zcTNludlF< zC9<^bYM7m2@C_054KhHAM$z{xYlNFTp$m?*%Vc&4Ss3tOW<jDpn#Ov`94j(%#p zgFZj@IiuF9dRoY%Jk-Z( z?amUC**FXhO2D%5;hTZ$cH)7n5#tZG}$Z1y}y!T&>!~Y>|Ml(EFmYI{lnH;5i&6v7Y4~~77?cduWlyVahrYruB>P8!!zGhL zg$=jW0B{v|_4KdzQT*wmUw+;8>#wV?@Z2)6*F(Ja?=O6=E#2)nm55dS_OR1OUOUxAYfdJI)-q?l+$$L3gZUBoW&k#T-k3Hf2q#;1kGZ$kE)@8)15 zdxL&2MA`k129(aJt>1}vR@XHeBf@wipYy{mZXPOMwJMXIJMRU5_Rc!u8O9 zXqd3-xRgAU0hmgRZ?)tU4w<>;kVPAjP^qj{MTPawd1gk#XiK}Y9*gH_akpD6p<4C^ z_bkom+Gh*v-Iy4j&;%PGn1#*AXPhVCd&KFSk3d1&v`ml3Tt{JVHOoc1i7AU&%KN%` z&|!8r&MDWV!MEp;OBjf%LBhV{*|_S$OPVTA>fk`6nTSuz6g@@PH5LWP#8qf%fMiYd zi)zF}j^tLJ=5vXc25D6+em)?80Fdgb)W@=A2T8KqknM;c(m84y_ZFQ1d0%mh`C?~v zNNTOK>H<^}9TyQ?e+?~(VL4dKhYjGW8^HMBQvuDD%nEi=0HNaG*L8fLkjT70GFb)S z2!@|Twb)kN2FksK!VAqAk2Gko#@U+WFR7q12+6xc2yL5RCcLSd$MC2;mH2x$qgQRZ zHxEWhjVSw{f-Z}VIaUbc+!v?c$=v;i1M~3>$q@jA$^;o#qF*#!;moaQ8*Fd6<9j!e zSyDin+%|3i9h>YiB!_Kj>-gFTod+#U`q*xGl8s~et_A}jwFAY1&GAm`w*1!Ox10K% ziT!?WDZcxL9Y2PZO>b3}n*m$P?;?^YMn5VD7jKdvm-BKSRx)ZfLcPzp{rGg&+l`lI zmd20<{ke$&bg=@zSEF_9qs_ffmftZ%z6ZxH*5k)6+pq}ucJsVO^6;eDax3Y8&zx5M zla&e?m|4%ISgA)@GESzwCLcv-c_9Jooww14gQt-;KdOAJwd#8*RAJ=fe3pTk*_w!V zx$*8?8+on%3LgmRI^2sQqW?IC-#D|6ULZAi(gNdIP`QpouzhcjfVj^wpcjVI&}BJH{O*s#VXdu+9baqtY21Ck`E z1f`I91z;wNSFFbV4SVYr{|D{}gjgG-S@A()wnWR3BtojWS@9GVE+@wYOAGk`9XfG? z+STl6=S;wi83L+bVM`&nH>eNso$Ev8f>1k_-P+agWc)#8v&Zb(l%G!XBfkJ0U=659 zy{H|d1}zUg;%Pe*%A7Ske@zR(4kKcK-^uEI;2!QXLO>|4g#64=zN|c1_q4}QlLvx) zY+4r4|M_R<=88`?E9l)>l%YG-;xxl&dPaRf@thnzcT)okNJ}!ZVSeA;0-^stLavBX zZgkX_S0;PMq{(MoPnl-FAbgQAC_TXw*&I{TqpFlj^Oa@FGZ)ju*GJPWu(VY>oYWJ0 zQ|`=&+Rfx@sJ_jbB;ThSP;0Gn1|3d)oq&`LmKq@9_@}!VZV2qOYb&|jOhbSox5!#S z=?H*^4kNaM%iXN-Q7tPgM|SgvzJ2{|f#waa>JFmVlBnLJvix{{gZ_8c&Bx7drS8kJ zX3R5HPOn)h{U_N8%Ith*gB<0}Qe)w}Kighe^4p$2e@zxT;yl4!I$F$52*lp;j_f#_ zOZEXPQwRF@^#ZHoWYCpdVXQ%GPPnpau~mg?xDo-K18iBh{E4{#y#|Uj&ZH8vLC_l@ zYJc^~eUL$>SJL~l5|MGpL*`&6&?wDoSbbM8SCeN4o-|00`BhI}VbgjS))YTf7y~5+ z=u<#6*f8}{0n*?<#~&;0!BChe_MRp!pvilwm~`PN-A@qdWTu?T86rM6UtB5Z-6!0U za!2WmENVQBN%z#=aihS3nGe()4}u?M&^SFg5f9oUa=T7cdT6ldm8&>2U`mUNT5)Rt z*-1?!`neMr7{rBwx#hg)Awe@cQO!sY>8gZCjrYKU?pTNTS05{OT#naZr(9j^Pu&5) zxP_jQ*6r(0)8W?EN>QSVt`4)Kj6tgTL{!`Mt-j4H!<|X-r_cSA9D4N%*w&8&3G`Nz zzjARkL(Nc5Q$6fC+&Ans=)UrI8}_IqCFdep{~6dJD+dVfSG}rE=}z{Oy*z7ORv!x;Hz>iu zKr|m3+Bn=;R)v-(4-U&E-z3SIGk$A5^0{;&iP6tWtF|_0`VDor1b~STwKh$mn%H}; z4GHHPliKhZaRHu^SfKE~efeZsTsaR~8aGG$m@$tQvZ@NL$GhLh3M)TG_O42LSx?7` zY<6tAFeGZT^q7_0C^jqQD|Gr{oBb2yb**us)SI9wZt-^Up?ecuFq0^n%CP1@gBUHO}inPqO zyfhfGYj{P_$DmCY37GxdpFPm~?bHWBoYyUhO3%p|qwN08^R6<>sO%d1G+bQC>b;_I zaQBe*XoaG_WJjVXwEt9N^@!hdQEq^zG;ea#lyH{jR3;|2GOBNi6*dble|bECj(X%O zxg8n7HKIGfsnv}7NXaA<4=?o`@C#o<6+Ra((q~gyd356h7`W9SSnnm4KM}S%f!PG2 z<*;x8)k+F;+juXG@^EKZ;dOg7WM@FHdF!vkq!$B$Qt$S3?JZkx39|FK=GR; zwTTaOA;bs8i@g5*dP?cvMaS3Hw@N7-XEpy!6=KlB)%#ww@^jJx%s6K z77pw6{d(8gF|LkGAw&fIm@)=AZ2XVf#-3o(yLxQZ>2Q+-24$+wWkH{Ablb<-Dcyzn z)r$nx60d3e`CT_6ldK>Ep6W%%O2E1cFTlarvv4cm?WQ9i_YL7VG;e@3oMT_#i4o3yT#g=bSEvbSGC!3GO<@&t0 z#;5vG{3c0H{WO$fgCTUr>`6K5^H&R|U7v<`%Wmc#MFARj7dYnR&he=Uoh%kRmZ8__gzob=-$*TI1`T#l6 zjN=EBqpGfMOX66nZz2baUi71H~_)$iaQob?MCH8EN>n{X9RD)yqWI z=<{bx-Q)}Ev+;mw$kgE3pOu}@#*>|Pg7~)P1-PQ03Fu{s-<$ScJdYl_(Od=PU!2Z3 zs&0~A;Hj(uztfg@CAlA&TlMO-`1y0s-CR5N(P>h!mp!ZJo%^=h8~^DF8`B<5O#k|eR63CQTN$TVfx`M^I zk1%0UP91pPqk7T!KZ-Cz4Xi4x^3Rr_Ci+F{xio!TY&8DHfSHBnP%vDQ@sHcd* zOn%hp)&}s%<{jO5yVBOtsyM~D(~8lrljb3Omlvpudxqa^|0AV$)*vL9Qf?)rocr#| zK_D`vONcVlq|l+?*AE(3f;&21?8`MvSE|oPi44F4-Jq!z1PIL&FgMt)*46dTM$=uV zI{O+@#T1u&@++~HgD)ZXguQEiv@bz}@h3uB&u?q5YpN@g<;Vnf*Yg1+Bn3Q8$t$MA zn}4F?PB+T+gQh5HE%Vhh4pYks<)jy@lL2;-1omk?PB}=!Jtl)cTJTvNz`k4zBI*wS z_Cc12Fz=GR>d%U=f3cGFJ?tm&d3^*AwfOu`o(SMN9l_U@z#jfJ_MLzl(Hs;1Bd$2P zVDPOJ(IFp_0R%__l+5qj7NP%ag<&Al(5VP%g6jSU>z)AV9~G6(J^>FwBoizQs24*u zfpK1c%O(9s7xM{$vvAMQm6dReeBddjK7YIWN2Vl{K<*Yz!8>&i67mr!F~&Me#jZcP zq*5RnpV(?kBShl`u|P7opO)YLlU%vnO8}msC@0Eq1VE+}@DTW*2)i49vO+MH06pr> z5F*%q!faeg>qmdI0EAcp5cLV1CLCiQVXg7tegZP(zE?n^2%_G%uvj?;kzm-&w3qB`oe}&$H zFRwm?6+Bb4!kZev-={>-8LuAg`f!|+JM=$m2NdY?6$AJ78KIpf8z;uMu?J z9k5T&?b&48(?t+r+LVlqg@WH&ELg69EL!#4aLk@_%Q-o}(bP&pbfpO5(trmyMW2L0 zXj7c!=6`#r&%)_%x$!KILP&ws`#}=!6AXa}=s5)ABzKF8z+wprk0t*Xa{JF$Bm{mo zTD9;s4axutoxo{M`N{PmDG|Rg;~nq6X%YO}Gn{27a^-Rkoxep54yq(N zJOP|e@E*9^elt>6`o2B4;f$0B_)Xv`P*MC}fr`5O3?f`gz-j*bB|mNNR@Z<2AJRg2 zDSx|@fBGOeisW1FzBlCF{5G%{R#|AkXK)%2r7nM@L&!OE(WZn*`BpK4r~c<-`4|5M z@NZYHV@c6ZLxRNppM+Dk0qJ|_J#cVZ=d)+LLdn%zm~USD8$kQt?eTODq&_~Fp(fZ- zm}oheUho>=9Qs7KjAM#pvbgr=c|j4UihpBIgkK3&4>nOLds`5+8xE-oiX<-vmf<3x zBxU>@hW%RN_8u+or16_{xG4#*XmJgY)8RZz#os!2z=2H$gkCSWmAjUJ+N5VA zCD`0aLI@)r$&mXP$SKe6qu(9+A-6+VtnV!n&JJ8D2Q#O)K#sh@!1${6SK=X;XYa)& z5&iE4>o3_0<^W51-%GGe{Lg3tNE|Rne@UE)-HUH>gP^hecV6VjF5-Eert?f6@>w8^ zA5Ll35~yGaOJT=O>vjR5&-aO#&jlRd7o!QP)pd-x z({{}p8j%+#GmDy9O==;0dP6a64=QaR$iw~+>7Hep%CKwzmZ0Br=znEG<)@aek# zq7+)=-_3pKX@EPvkTwRl0k6?IsV+X zXAD`F!D2iiU)TwYi4ioluB3b4*XK6Nkho6igYg{(^iUq4Qam z?&WotGqfppWj?z9=2)lo7;s?BpTfuN&&h?41rM46TNDH&?O0afQ~y1F;jl+n(13CE z@6_pk{TUb+Gp}>xq83^%4-ENJJv0?i`&HoVgPEFx?WJf_h=lZne-pfamJ_IbA`ufJ z)I;E}NxBPz*fEqq178+d6twe(T>a!4rO|H=UOfE<=vNCm<&!m1K&ivTYy?8O8z7>S zI88c5YPxuDkaRiiH>Wn7B?8;JaqC-PzdY#9xOG;T;Leu;1U0PmQ&T<=ukCo=_TO|T z?->K>vWse|_040Q77;Dw`lHPZ~8y&%f}dC0vX0%@;UI& z(h@BvS1xr;TtKP2^oqj@+_952i_(bMvxWAD)=-s{2a3Z<6fh&bGVAr?&W@hA>eL$5 z^oiX(pSZE8pxE#N9xnq-ncX*q9tutr2~DDWXhz?@M(G zC=AR}s0}B+fklQ=u0?W(UU{n0oL|DRu4t-G-Jociv-QkQ!rk`m?W+s`j&Q1hG)UTpvHZ5%*d!# z=@yFDwBBrBH&1ml16d(tA7$vNhApYVM=|%SUK@H-B|R!+T*J{Zp^jn`fo1;c`xbBW z)-w00f10>gW!qB<6o$k8aKIYfvce``bV|nRunLrFNmRjZtQv_C zg!NqjC8Go@{jg|*G%7B3!NMkzRrqaE@2atCU&*TJwdHi7O1JL%8tfz=s4yw%h4~H? zX{Whk2YNmI-7fF68&vn;)FoLZ#h?bICd_ zIlnwO#mjT3sBT(=RWX36#1u=$&VT&mG`JKAGgiT7OT60Brd5U>s~(&3G=d@+UM}%j z_;ck!_VR&jM^bdouJyg^4?&DW+NFf^k_BcLyYb%Rw=B}d31YuJTP0Uav&xNU&xf^> zTMeieFYtI=7lS?E|EeC%kav$L^Gwzf-@}`45=$;K-eY?D8S?$nY|?Zp|M+;l>wqZV-TQ#Sm&kYP?_py$IuiGKlEuc z`Fm1DL=hezeS43-!f)=dLsPr@=WyRFs8eb(-Lt$pX=PK^*UJMM5tc{xEfbwI|}uK>`Q6?XnD!j?(s{5_kC}-0FbJX*aTB z^58towx5yYtqd9{cB2zcu(RheXcqtXhV+ zq9}s6Bq6<|VgJ1S_@vKbMMe9QQO|juNw$us+?Ur4Aq@ouN@o7HDd*NBk#;%7xU!P9 zrY9XL=)vr`w7>zmd|0V7M8Z%%tyiBqdemjw{$6{-=M6LmqphUkR-Sr}^Hl8XZw7aa zOBqB9O5L$T2GC&_w|CMWJD(-ItHj$7G?mg(Shc*NzF(} z9H&s}$u|McXs>*KOK!Op_%PnrLpz~vj!l(hLChJ&wiS4YdU&4MHDbA6oQgPvkiqCz zyme~=+e6-Sfy<|2$s(r8{t7?ePnBs~s- zYCNHNQ|`L=X>Vq-jPe|gzpmjl?Y?)LlkOJ)8w}%?^06_9Y+CQlcl}DjlB?eJjI4HN zM8#!Mr)ij@cP@xnhFs1CXr#O#={`M`<{z)!Uug(fE$HSc= z6F9v2sO7u~O$Q;4ddK{4%^H+!)M!7?&EFc#?Vxky;Lh$Tt&io&z59;ms6V}1an z!TK>({n62&Q^4RMhI9AQud;P|!c@<-u$c05&$7 zxN{zLl52WB`F;WS^U&O?2M6PhXXN*aV78nnI2mhjt5r)DALSi|mFOc9Vd)u$g`tDy zCuMSg1HvhCr7V`??CC7v|3et6AWjux0>T{r6{-}AG+kx<7v?cHHp~XE9UfC~ansOA zUpMGo9`5&?CbebnstF(&5P4rBb*po$#ecGb!#vO=ovVZHd4*V`R>kJ)+(%Oq15%=D z6QYsPk?J>dTvB~&c5naPE5A5N>?rD_PXZHtr(x#0#-$;Ncr)!^x~A9Qi>Db+NMmm( z)B4cx#y;PZuZK}?MSjGi!F>EVZflVqn`uWQdpP?R(-_ZAk;-dUV?={!tX`W$DpFY4 zBohl48w=~9Nk7xKYpCof7O_SmPF z)}^)78QpWMVt+p1ij9wDzkMP50WBwHx<36p{n+Ra6O9yhI#QtpdXLc|K9tv+V+!4% z@L?UgU2%9Em$P1@CwkAXcXza=3+kdr5~K5ArlFyb%&XRUTrG0NFMeCg%gvgQ&GNtT z@i01D0((D_N$RgjQ0oG~=pTzPRkfX*_NNKXIGFM`Y<${yUSB_$lyZ6D`qoHJX?HlJ z}<|)6FRJ1=~#q(%uO})w=GEa{Sv^aidyUb)@^i|g- zEg_Ca_N4iXf0pRxmx0&Q;o{zM*JlaFax$94Dhy=9Wgy5Wx;1JilK1sn_^Xf#82O>Z zwhI^~1?QM^&k-~7$%V>#?%mYV+Y%Eai)RaZ(=heU-_*2bqlg=_y5^H*ztxy_)GVq8?)-3_A%aabsAdEP zR9L|!-$Zf%{yLE5ljaeo`nE8-g=Vd3If9o*`lH#&mdEi{L{-Tcx*|+!Cc2 z3}wCcVh-cf!f(cZAseGQlP%FW@rAdqt1rnV2zQ@ge^S1*8`QxbK4e5sHtW})&=x<* zcPQGn;m^I+W0`dQ(z-Ilh}6K`*EZz_L(o_8#rw2=eb0kR<1rL8@d1)CX_l(pU@fKw={`R&%a6EHttvWw-I~76&?p^!Zrt}QA;FE{T#dl#f#8SV9pCXKiCI*CY3hjy#bNYRH3d}W-XM)h3g>H;Yt1(*AMW(DGhyJ3h0eT zhsxpE`6mfC$isqmeov$bG~kY9y%pb2UARL zolt(|_%WPElaFuj-=y33k#f#v%}0CVUit|OL#{AB`rwiGOD9s>AC?0!1(?sY2#9MG z|EikDf(U(0N4`1U&UkO=l$g?+XRl>h8nCa#)Ms(sx{=VC`UJhy5ig#AUtcNp-+zGR zNw<G(W%C;o&6>yZ5=)T+GP5pq4xC zIQAHh%DB}iwVuhdz&Q++9tI?Xg){FO3o(`+D?v_#i(b2SQqDdDt-@QFD+h{UJ05eJm#Y9e+CZ_gcO zj4w8q)tM-yOr5B5;!htc)wxzcS@`baS;DN)Pq$tl&yc#9*}c#KgUE9;vFS0q9i(LP zP`~E6__l%EgBTaZ1}+hEv;EuZf)#J{s2A+SHT88oMK1+==6x3Y?;-ie7Lsi*8LG8R zyKCZ3{onI`uCwZ=Kh(4agBW@a)MXBF9F=S1q%L|hx#DNiJgk2hpB%=XW7xw^sk`51 zg6iTz)RLdfxY_IsQmU2dOH4OOD>M1yV3kKHs=e`Xk=UgtXH7TuGft5F%3SvB*N@iR z_9TjGg9P!ZKJ03fcVraI0)L4f>L;X}%wdBThACxeO^0!0b0Dt(nI2@;E&akPm!mRWzn(_3v0BmN1Df5P&M3-i>&0#h=F%CtHu`y=@_-$g9r z-{VU9Q<~r5->7BoRQmXy^gxxON>+>YYuXRs7l%-BEuwucdc#do*qOnaNIHTHO%XRy z*3&EmDA~GtGrQu+9$f$l!&&K&?ji=CAL*J4ugMkQye6S2jiZf-@jPz~T`Ot*>bnH# zXfZdg1Q->HB$FUwIOu4h-!6i?`E5=>YNCcdE$?wVFEjA=&r7sz1mW;(5b3SP1I*|K z%JE8Y^VW;omoJ&&5KqWk!D#uiG9~t)+lrp68bYZU?r}y`jSln22g)FV-rU<1$j^FWw%u&;0}FzQ4U5WKi%X7V$+Tu*W0VaUb(^;%h9JAP4jf2loDWHSiccy zl>STl=A$f0#c;Z|N7i0M9BE;w*abq6*SY1A^vt&FOqPeW4P%pZjf+?PLdu&o&*fJ8 znGVX9Bm1@Z1I%2l`AeZkUY=J`o4kp8}HQ~PqsD7;DE z2QBkyZ;XbnGRn{|5AHBAb5!>6S*on>#$6OU?y!L8czN$5AV|>VAMtf}ih9K&=n~)h^qnQo(R?UgM z4+JF8qwEX_9@Yu-Jh8rRHM5u2eIXL^Qxj+;*NmRgEm8K)BTR!q@qlrgG12mthV0!2 zPp7%+?i1b1DQ#VK-?KYcPkJUvFuTxH>tNgy^!$zX zcw-m7cT#SVPN?LYEE-oW8grrgJaSMG2+|jCaIm=!tKSaiSHJevsONSR&cL!kIMCIh zqqt*|E_k=9D~7m#mvQ*{$zCBhX=Ci5RZPS1!-?thmAE`auUJc4?M$N2X<~JPoqPMx zqGl9IWM?|Qk60kJnp%_6Wvh4g=Ci*<&!0pYkx=uN#pLnYg!%Q%<7EEEUE0n-eKv8a zqC{5V^Kr+kD;>$m?DRFUT|6U3l`Q7_smBWuX1TS_K2K~aoKVo~rc{{DQ`|Wwo&)-6 z`S^qz2+swT&QJHWTcl(63nT{EWlZ?R`3|?>g^p;B{qL94>0dY;is6m^j0SdxaC*c*CncR z!pIC)3Y+1=0jQU46r=->Fq$-ZsjGt(WIYXS7e42>-Fs%@Ym)YW+sjs0K_jMnU-JI3 zet>MWZc(5=>t$$5{Fj=*tv4vq*JX@{RZJIh%~8H1 zi~P(UK{AJxU;LsrzgyCbW<{cBs87wYau0m}ek_N^RNwN^Zg5iXN-8n7g$LJ_VNh8EqLA<#tV{wzrk#zt=KmRkA)ns;J?}*KYAG)=dc(+P5w8|8YKTuoowkqx@0Y1EIf>H|&5 zb4!}OUuiLi+*35BYzJ>SuvPjlHL@D=TRsOQu04#JDOnpxF;jkIgGU+6j4C`l(@#^> zXuT_f{8Lkk1*r#}h@Dtv@cc`oWW zm2JLe4JO|RLN2dnGKGtqJ2u}u)hWY(15)hbCU_EMy?E;Fo4#w#j5U*UZ?GD1zkZp} zx%GAolz1pBbqoTF{w5GF%PQSiog}15XHuf>`zbQ#O0uwJq~TI8q$=Okgd|IM_ZJl& zF|CW>1j=787&;ca7UoX*4fi(geoI_MX*zu0CB%!Z3%~C z?AC*Dw{&$0Er}-MgPn@_%viFV#wjBz!{wDWQBgeSN7S)q&7 zm=7iNNAedt9JwDbnwCb6FKv2x-EoYBjpsNTjW0sixEz6QC4^>kTq- zCUJ>EPw6|iI9K7{!?s8%Y&!P+GDZ3_n}V9E?6rN#t&wXWQ9bmg$g$b4eAP-!C}5;- z^Xo73FZu~~jMp01*7DVNmK@vC?AH<P;RO!RNCUDqM|Ic)pM;~_2I(~Tld}c zff@No5;FAMWHIBf(eJxY-^NL5(W((4vsCUtw#dnNgc+S{?>`=KC73)J){UN zUQ%2i54B$L6YP)ACYG+90FHul&vHZXeVDh4ky5Lawp2S$_kO7+?WESc!JB$-pR{-5 zR|VX>81W~*Biq1V8Q|ns*rv2ZO8W>U{akH+Dg&mfIzWtquCD)-9DESO`5~x!8tH~2 zW3%x;ti*LS+{bM%v*u?C_t&g;gCKw6ElPj+&fVuxszK$>u(E&4)NXALJ!*%O^_v#y zFFqabyddZ|eXr15c3@IQZ2`&v;Qd}5!aE2@X;Tmq4k(ehbZOv{<_231#(A6V)8G@cFru7JVSO^D}^5CGYLpe49S_B_{Y2vLG!H^$X+Ynn>@(>?MhGNni zj@;Q^9`DJS`a#x>s|N`YDK=&ItB2!nQdZ<`25!t7=dmZ_w{N2m+@lQ@6(#OPhltij z>#)z}ywcZ&l5D>9a3q`wqAe&Z#hp+m!{HVyqO5Jtx(cSl5k`nP3bdXpW30KiQk&+4 z^*v<66z*!nwTcXb0?@^;Q6IR4I-U&`_i_c9?sGV z5;>C(^rrv|X6*5*UP4T5!N+~ioqc>~*y5d}0{jOGX!8g)(zp;lUczpA;PaV7d9kj+ zVK*U6rI(J*>?b~PvsbHR0-a2rqN;1{sICnExh>88q$J-LPP{uDHaB1JMX5s@p}3n^~E>vwI}y$P;K36Gj~@16*m>9|csVOq_VRJheKkc;&PVWYv|lk=j7c zM8FsSN>Yv5R@#L*IBLCbKnJ&);6r4^ZBwVDn zp%JYF2f0 zUI^0KFIEk|saSbjq)VzgN&#aCL>32K+W5YWW##fI1qCv(M=;ZXu@q0X{LXE|Euiq4 zr6s$*QAJf6_((yJ8YG`(p`V^eqm6Av?5{XV)@F2c_Qq(+oP5&zHqu9M_lJX*rr*J# z9l_00J*1X68vETikWc>002*_xK-OsMvBt3=k^Xbv~5%`*!xLTE(nJzzcdQ}P>Q$9 zAKwlcOjQ~E65C%@jWwWl4_xkwy^c#ws=amB!ZCf=41biMdYP>zaH08EO4TjXz=!&m zSpzkmx22Agr0tZu_aC-(G^!bQotZ2ytEmjGoEBrt)>=zzHttI#e}`&e>Y7+t-SI|0 zt;{3WyLjxRUyKT@2%0kWH7QCPnR{||Dv)LIZ;<`8#KRXd#!2Jo+uOfYQciJturRdD zm224RzZ#i&WE%L%e&i>M3X*r~$if;bZ zq$@v@KA0j}h(#xsPG3K#eog;jSzcC_R@>C^v%)O@y=STjcdtGcaWH%UY13-p12RtP zNu;|gH^ibEKVkrbTxa>4EsKy?Kw!N~yAj+9w0cO)u3 zlU3Z=Bi&e&B&2xWa|+(-xJ}C0*DUi@YVhs?lj%gN5B^7&q;7L!6_V}871P2yG9~YS zp@RBP2hoeYzQl-`O0H5Q$s#QPHi@w}H|h}Nz8}o|>`HMLSw;-=!LKPKOtwjZ#FARd z29i&y7@@AHDBm%?ecsIknJI%!pnWU6R1rCcChKp&4mKYsi^9|e^MCc%Ja=~*)VU`7 zGJcB7&-zDff`M+gzqS;VKCbuHg5yk;_`~(y|8PxF-<`gjMUZ_92tHG9K|}ssU`{DqWi5Qdf+}#^RJa~ zv(I?Fm`jovxqUMBj?bllyVDo<#6)$6O{+uG)hs2IJqXeHQLNCD$#Jw-QZHCipQNtq zh1JP;22USe>oP777kXM*Prtah1I}KIpqK&q^y)DwBbYmNaLov%9_(G##7`$*n_Z>@ zFK9_vbqPbjPBMibCYjyi?h5_I?^*Fo}QJ;NGs=5xL&PqRj4ZtlwVnLU$a~sr$m21@9T(_)x1>RWi zG!)lZOI$_e>4!$#`SI|;{*yWTElC{`zr)>SD^y#`cxIqhpkb4mzLSP%LfVcio*c#l zDbBQoJ9Nq(?yJxo|(dCWy!~fWV3zdB#~Uw_|q)a8798cX4(5L+;gRO6n`P0E7lTrN2tt` zcVs97@BOAh&FB(F)benJ>y*ubZ!a;``UnxGA}-(L*D0(u!kCtZreh#sMXv=q(bnYv zb#FZ*xLqgnA#A7GVSMyO4als7d<0-o#)os%1;sn^kOrr^@#(b$tam~w?pXbr! zs?E{gKRsf+J~Bv7E0)xDfpNyI7|*;fWmtn1;Dn-U;Y7<%nSaHHez@E3+Py_O#AzoRqH~-N8&oacT!{5w6N+ovF5`%pDDs~cN#uCzBDC+ zT$@9v1`cH>t=M-l?O2aMxfbBcD;@@RWBQN@vIT=H=a1F&#WHf?3`xb0@tK9n6|#tL zRp@8E7v{%2chuSJ4n0>yq=KOcJ)N$q!QJ1&!OEw-0 z?}gGy7h&{&R}ddNrzhf_*COj<_4Dup_6a;c+?kPQN}^h1tM_<+qqb!MuW75S7lzy1 z74niqeL+`f+VsX?DP}@;K5KJy0^9~?t*N$l3>j3GXI#7<-F2nly z@FJ025dKiP5mevZfyxVC8ynn8Ip@s>F|D*|n3fb1Gv8&tlXdUQ5AHJh)fh<8@h#gH zxL{gBIt(t?-uA#}UaG_o?f>>Ti(^hMkxY0=H4L}Y9nL#_9&-3u9vU{1(6~dYBq2;Q zbxY+MoN~Qs++`{Ilg{Z$z$-ox06+!R!64dhZ4iz|gnyBQ4Q;s%SdB+AD8HnLvlZYz zCs#U^&Jh)q>QLiC#mrxAdi2d2st{86#ZN8O*R_i)mpTq{Ew~0w7R5|c3dczVK7BN^ z+@)V&s9B3}+tFVdild-hDJuzhcVOXMzFY=FzMRwlH0H;#9=GdfO$4_}ZohIx!=hM$S|c|4B(+8|L`GVsgEs9p$~VW5xL5k{wM0$`X~ zlvm+wKn2;XB;qqHedQ9h&P>i{OnNFDvTb-ei;tG+zj+O_--z|kWl&SocFhR{usVu4 z3z0UjPQ1wl;TCnq1L*7NI*MRI{ci=8;x6(*dS5?L5iJLxN$00IrsKPd z0Fa6UOE1uq5`R(@2XU9rCgh;kX^E!8y_p9}<+HR3 zgArI9JI4xc1u^{)?5proGb0U$HmqH}?jB3$t4&I4Gr0-l=Guq-ftjzK`q?wSxhhL) z9S(<^J}g>!n51!EvhduYKj``dllHJ^Gn$cBQUy<#q85T<(|FVNK131@~P2>h3YtiK0JW(w_$3+ zrR^Yo8D^KId#5b*r9Kdbaj*^P<_w5IH+xEI>Z=S0HCr8nx8JO@5v+K4xD=jzhX9{; zSR4Z7eBWa_CH%$J#$Vi}=DyVgd;?c5^C2E!Wd|CGaON6R^V-aph`JLsH)lait#ZgD z^*Ogqsa}WdGo*34;#?*yM!S@#r1aQ~*krc<^G$;w7x#94DOO!yy(`vr^Cj%PpUpD# zPq*B>OwBY=<8Gc;7gO|#RM3CPTE&{q(zH21r1u?N#wEDKj}CwGcsQNNjJ?D?sFCnK zTB@lPOoRGVdbr;n6CG3m6|DK4k1>d#JT1e+7@vGPW5X*i=!pl-$`w2BM9m@vcgF|f zBamFTu#2xuUd$}Z^pvUMot7Fj{WT5_x6mSn)h9xU1K8ic8qn`)A9E;u&gm5>$GC+T zd8_I#1(SF02m-D4AIIv4Cgr*+)t8RZolIo`P&~no+Lz1wj^3v!k8P`{nDIEyTo}LR zB!ng*RJh|13YVRwD<1jc?=xG~*6CWQ3{WOUUb>1EqqC3HbflcIdW(a(1@I0EdtY|n zHHFuUHFLPWBE2K?cS^i=^(m9dqxO-|Wwy7@b5O4t= zJE6C`U&n!oD)G6&esuIhdPw>GoNB9`xmODCm8R`{zf09mAN2I1b#=$8iiC=Njaehj zz3oE|d)`yWKs)e`)>jkYv#-l!z>GlZX&L<&*`L%C8|a5Juw8!b2ks$gWRukRNo9$s+I5 zZchQW1%5k8chh4g@7hQS2TVe&fSWoQav)J8;)gF!{_nXExvzn8X0I$jdMvsfR?$xX z{AhN*8Gth@?j=nBe#~CSj}^0*eX*yzx_t;cZN(!1sqUJ}*;oE*bz-2_nbS8$)YWXQ zYzZneq%LU`Qc(=$LJd7#vCnjjrOl%jxVk;LKx(|OT!!x=X^W0B&jLvb1+y9o0iOGl(zN&eGnHZ9wRE(A06LFJa z1O9{KuXv7@%4|yB>d~DeUXh>mIRbWlx8zemRu(P}!b3m5Y*Kfo-#$<3f4VbmY+-~$ zLV;vy>P?wn)!gvE&cIwsi} z@>?={^*ZEI(`$W~oPh-7O+UoSq4Y*qr_t520e}6&yQMDe7UrwrzHZUBCZvwrRo5V# z`sJS$8}53X{GJ<}n|rx9NFRS-QMKH`6#;-68R~gY#0?>qAx~-YQd1+@+uY{jcCa7m zkk7V~ZznuC%(_g~^d)8d)T3y57^cDZ+P1(KcuM-UlIowZ12MY%a2B)M{SO;&oyJ!w zQ_Wm^?^CfG1c?{4`h~b!g_v)RNGo(v!LA389-2*#ssumvao>(muqm{C(i!>KA~RwB zR9cI4AW@teIp%s#%0z!DZ5QMfv|;bW?b6?9qfXsp7yP`&9$nrTuI#X-GjenHkSslV zT0J{>t}0b5C#`t0yx6+y0TMc>Krk9Hb@^|3HE%YDjH!4Od48VY(&DIcSHx8^254^9 zQg;CrW@+(srN%&_)MnPPo{f93^+&mk2=-544|S>QM?!Y`SYxZJjn+HHF=k7#PMIcS zF&hiep{Oytk=E@EVA@pV4gzQy!@k^|ciZii)EW9UmUv9W7Y$wU?} zZQi@S&&ynDSQi>qiK$wpK;%`EhD?1Gy@!dd6tWpDy*Tluwmad~>hN0=h6?YXv1Y}{ z?xQcr{`~Ce(V^J&hMPC&j%#xE!fH0LGW$LzWeBd&qyZHPdMX2(2NMWsN*$Unz+%m7 z_#2?>)ghgOAc{_}Q@K|dKB9A)&TSByTGA%98vYmO5cPX8dHb<**5-4)7xzJ_H3`H2 zQ|Gy7Hu8HxXf8)>Dyqabu+wGFW8)Wc)brQ{d29F50H4i)BBb?XZTEOC7sc!|yZ%y? zjKLFOEM5TlW-Bf2swQMLRw1mRMlkwi4bLs`zuUt-jkHfwBU}2iZM4O{0tIwpo>56s zGjU4g&L>RDv$z(R^08<527rWAjjIPaxjfNTCq8hF1+5$1yuU1bYHkB2RD^vMk3p4E z$iK@ulZ}hoSA%Mfh$?66`CI)1^smtMX{^x8J{m3OJC^rVvrDP@oa8LI?VUUXVRaC3hTKwIAzlY!AuMuAE;V>KL_49&PQI<_jBM=TKsgVio9x~6R)2rt!J9nL-+6fHPyHW@_a0{;0`@q-!#(IwPRpn@gQw1fnkm!4A27Wo&lsZ*WquQMH* ztt_dG6=n52zfurVaEN-)>Dk-lweo2$%d-^zK*R)+RTg6v(8F~e0nBMc3Y1k$T~RRa z_s#xrP%}Y{m@;uuYbmbGaS@V7K*0YK%-iiIs@->>0!Sydoc`KmLtb}v1D zDAqju{yz-Zo|kNRT|Q?_wU}DE%TlVK|<}TcU~-F zvJ?9r4D`!0IZtHaHe_ehyK=M5Re!S;>YH4BHwZ~CnB`!=sG}-pREj@tH+^U0o{iqM z&{J1EKf3dyMFo?R+!k1Aal99#vi~WAyj0X~q$c-A(?ey@7sI}1%PAGVxaDU zZvn2k1&VWpYckp!n$teb+`hB-@I#LNs}<)qNh|1!;(Pr44>>_O&^JChCPpf{mHg!^K;#vo%@wJ z@OgVZ7Ty*mK8$20Y>A^1Vbdu3N*+ey($NXUuCjaFW_9|&k8dZhC1#H2nqaN1E{QnWL=PyN7x1v+l={td zPfEQ%g2n&~GumqJ$#hi;kL4AcwgMQS%Bnf|c2RLm*D*-)kkWunG%^t-QQ!N`@z5t8 z--l(*_3YRyKh&f)bYVZ?=&z0wQPso3wFJ7bFiuR*Hpn0y=s3U-6I{No@~K+zUq&tx|)X! zvarAi!=@nRS4d+VR}CDOH{Ir?JunYNz9?DodZAKL@|J>@p#-&(aTp(OIMXZ7v@53; zZmUU?>|zLTF=1KAo6crkaal+iY+-M7nxyc@oHeNd9P!~l@I#*Ptbrz$jkyedHcdz% z!v439rt)b5ri&d4(bv^o8T(v3?$W?!Yy$;8>avnrbKzd#n z;v*Uga0hGs+BsP@h`ap-ow>DX7R3-FdH3ttAQ>(q(*T&1^}RF!@*MMG1f*mRi{7cw z%)bQ1%^#@FJV7$0R4b0ZSvufwtdgX-@0(~Xx(}y)o~=^u+JHVVN~)}=&_h)nU*NoR zC(7gEV)%b?0T`m{G(w~g?$8<*;hX*Cm@fg(m;A@m&mDi1;|VJ;Evb(J%1H2}OL8}P zM*&oug$1OGS>KGzCxfX4$t-%M+`4tpmm02Fv~hQx)A<7P*%{u3T-1f+Pv6c^PkeG? zG}piXy@M~QM@qbw6KR@mnOy%lwDC)R^T*(6H1}h6hCu*%69c(toViN7Rv}8g2 zd4U=|J~7zJ@D{XD0%1e|96}h3isIuRDy#F%U{?u+^@In|zyux+ICTF7-bL;Y6N^2b z=;)2${C|cm{}ILf*Npb>wz=#8Ld((Ui+^~knD7mym%ZO6#}GKbrMx$BwjTBR zYoNY*VzK?m>Msavv|O#E)T^t`S-;+@njTXh3m-{;5M;Vy@7oeaSet2V3LV=BwP=rd z^isg_=bC((*<=Ds>~G%1ZW(IAg>FV)PY{A2K->K&H5uFa#2W0=>Fr663;@Fnf`#mhZjr2dcptdW6}JGo0z{>SIw|H^$m5TKo>mVu(ffw10OFBHN%*7)gqul`R$^sn9gnhI!N_WCSI>nx%WRG^LcOZivF^1{JV*Xy8Z7em4Lwaz7i1CCzRz~5^aH5T?^v> z(D(CCLJCN}Kr^GL~ zB*5r)DF=wKGwHp2$3#5A*XJ3zGwl^vs4H03^4+-YI08b;&>lxTPfr?tL}1?hPh-ec z(1ibQ%A&Juy@oj0u4tzhc?m%2qT-pn@V_YEmsI0755@J3MDneE2si1mq<* zuR8iE0V{waxsr%q!6aU6RdLHx zKIt=x>SM5B-Xu&fve^h2UJ$Ff0pg@npq~y;{~~=rQQ3X*&C?9(vu(cLDIhIauNS!R z^ZI2!s-I6Y)d6u*H`se(&po27b+D{+c%%iEFx5GSR98+3`@naMdG5GSQM zDV=dyBw$&uzcL@n(_WCPwz>p>LQ2n{h6}%YADwfsJ?`A!E!htGuSR0SSuQ{S)mx)K z-A$a<1UPU2L*m667C?t27A5}oq`*JE#U)R$?ECiZK0PL>q-mQJBCRCi^asO)WtRwd-%6)ypDk3?Vdp=b_rOMe7 z7aeI6VCmSVbIG_cWU@2lMQgB{=F zJKts03`{GJj1ER7JS(2#0PjJ%`AQKQEG!HOnTj%;GjGG!A2W!iko1kI>QtG z$DYk!+k_}W%pLl(=^I6$poIT5zq?O32Zkp zdPo!0x;&0h+5i36q^CqN>EhCmR)WaK*ygtm;tqF}2kl2V>rX4c=iB!c#eWc=zm^NF zF6-dqS0_!wfZ}MXa78LT01cG6)Ft6pUEX;5_C#G>;toOu&37f6%VJ1V?FJcDYf&^7 z;)3HfKL$Z^>jmP&gnhZa00L*`4_Dw@fLqB@ox;hR_iG?Kn)qy@NIl+I_?n`)VsyjD9GE4(Bygt1`F!alwfyhmiSHDngt{rBp19cl2>AffObHp4`{(+zb zLwSL6!yl}cDJ^J<6KIET^4V=?+i*WxaCO`Xv)ryi`Bgc)4;x^8XwK0Ji8Y>( zs2J}|)dBu+c264b{}&VT163+Axpf`r-2c{?|G%HsVt^{OR}9+m0Pw<2K<+|2dD8wC z20C=LzKzhFz7t6_9URAGT1DQgG;fcmO6-7DsBCOfWWdmTy?0P0MTJyd=Jd@`DbO)x zXXhx}@ggligds|k{rRSX(*3@lj<%^QS7^t&f4T3d7Zo|pbeY+(x~$5KBv+{?h<%I& zjenW&HWI5rR%65w&YqKxFNV;kO3_wj@ny(0Kbf$2US;hxNtabbk8dS*D34o}t||VK zd$}4Mm#FdU=nb!=>4BJRB77ymAsEnVRE{GCL+jh#4J7`6WG*1fase#^!r+U7^#GC$ zP@_N~6~(4~WzZs*CObu?5pICMR(e0zF*95@k!klD`>c#HG8$V37&VMrI@)y60p_4X zK&yue-(Hj&RfxKT01BaP8?Nh!8%KJe!W{%DtmG;E4r?@m!UPZ9vM>a)Kd zo~{xDzeM&?$)&R$!g&R}Uvkgdf5;qQ-9);owd%wBr4P;g$XimRX8wwOAz^E%p~qSZ z85aGd5;q7L-kZKrYzCVA#Q{f${>G|=;#lIZtv%Xg5hIB*UYL*PW*O`Liyi)m?C%4e zSrlCoig-$b{F`3uPZVtjf0V`Ni7ry=pfOy<^SsU;<0uBhwj0P+mxt-ku?nClvjNcG z?S1&pZjj_RE8yDI)6l!~@L{87wi?b+esQTpk!f{gD0{dQPFmQOabtW-EQ5T3o8BW{WX+%jq=xK7J4m!1$SiSW?<_v$WHp}H-%gH%6BvY|iN`Fc0gUgP zNu~;mNINSdPuc-5r%ZHfo_`+`pEVsZ+Po&uq3mq>dS+&}ZOJ8ZW@y_m ze}aLyo2*yJ?5Ede$4gv)t#X7y9{KozY*b>|YPi{BjMmTx-EUi>O|KRQ2}k6=z6T+w zSI-NNb#0ICt>29%OJ~%FWE4PsPc^Qm=T=G+K=qvUuJh}2`r1yKnSJ;e9LC3RHB&37 ztT!F*{qgzaC`no}#6u?Sez(w^_j8n_^$+I7q3T2zD$Hrgpf=-R`XuL&5f95Z`9TxU z$GXM{_|E*`C1*HsHxpvN)^?;$m(*3VxuVBn^kXh;d9+%6@^FT(4}o==W|hi^WXgn4 z9>`K{)*G|uTHP3YpcuUFXcQr;5>~ce*jr?#j1_1~KIm)_B`8Q{hk5vyxW=s-Ks>zC z$rG^fjc5}#QHkE=SfuqNf9-Mjdf%^wb(2SN4wd5WTkqk47EPc&dC&L$Zir)#hsAJ; z`A+@b9EW~6pkiQjh)7BYW5~|C7XyQ0Z!EnUFG-y+S*+83Mry$|JZ0`=iNU0#ZaG;R zuXZA2U@{es8=`o9@GwZ18h=@#tExNl5lwu`0#t2GKrqT+59~sJvif#*T&+2FG z_X=1jl}}5=`HZdY!_a@-zEJoyBwNYDqq0U6>m(i(&l^Ix0M>4gRL1W9oTUxPcV4OM z4=8#Rh<4dKyau_PNJ(gq$C7m9%}YDY%lCN=zKh4FI?f<#ldOQoDp9A+Ykt&}(2^n^ zm0#lqOCV>;ZUrn35z)yO;;gkHtE?7OD`@1cAcL_jHC4g|e~#U#;y3gZVq+;a?k!yU z$A|2TJ-mv1j3VQn%~#0l)@q*j7JG5nRO8e@u1v*i{%W6gB7rkPKD}n`r&Ql*2;EO* z%O_uO4ui-0?_*m4m(&aoO*3Q8s}Yw8!D2_V)e~VYRZnb)>D7v|4+08-mEdl(5uTi6 z<+3;xQOfDk4yK%}Sg`-_URm?+J<-t_mFzh6_UBsHRlJW2fK04lv5gV zgZ47bzM14o3RN+vYPCAru9uIcOi8QF-TU!ZJcQV58tH*a0=KhH#N_80b`1QApBUb` zdIQ-w5f}9!7!ALBoBJ_f7-O!tA2+8e4GxX5;rLKS(LQ+155@Q7=y;>l{D=_>AvoY~ zD2Od5N#n0yvlZvdO)i~q%`PcXNl6eL6CMC#bx+w4K0EVS^{D3YPY)@^e&ru>9`>m| zbN_m@1m_;Kz3b$bPf$RO(l1v;=$+(2ze=)m-H*_2 zTOFm%=t;)4OH;Mb6YOPij`ReTYH5TibHC_gEk{8^n84m8KMRa zp~T%~)7qt&zX&bchG%DIi`-lI*@g4RRuUZpbBW*pceGWoQjJSm2ADN4+6nT^wG2Y* z7ZUnD0?W@dy)4|fvpFg|Q*CC$1@S9Oa@cbS&Y$?A@4Bq^6w*Mgm(bxRz0>%)Gi;&R zq1x4$c?u39(OP(8jZ>YJrRRK=fX$iwL%FYgfGE)YfPDYw(Ku*8Nv?r86X=s^H-*p} z6g<-(x$JSWO|4RjaSEaiJK@;=vV+bga`qwW?!z3nYd>cc`7I0-b@jGEnPe`R&`gIo zEG`QubLw2{!9ELw^#SJY%lr$>V-)d_ZXUirRJiLj{}B>-j~I#qkGZ>#qrAz#Klj@_Gb4Pd^T)7JXi*q>a) z-Gd?4+4=b@y}*{?owif6S`W0sqt`7_dHiL#pE5+oc>E_erk$IkJs?Y$k1q18{Nl#o z_?!5{)m6F+09X+OH)BjZcO7=eohwO5&uPE6ydWX@CW03i`+y1Yh!4xgQ^kSyt-*X_GS9TtxOgt>n8*f9;bxy z;`ZV3ZM9-BK7Yc_Aw*~Pd$akJekB0N<;>+;^Hvxw4R$)HYw2u>jK!P`fAF1#&^}So zem&sNKvDz1H6`T*ac-TlWU8x1Vql=~S=8)#_bPl+2F8MkO9c~r%6^SGy-7BJlTII7 zAwAa*ALr4+1Rh;^@j3rD>b#u&WZh$#gAFpLkDFaLcsP=~8$G3Ki=S^&?R)nK+8Dx# zx~qyai?+i2eN5vHnqGoV&L~|-^g=@;o8t(nh4Op|j=p-hcCvcaujcUi!?3;43%=oH z7YbdQ;IMq{=%{)KO|(n*Q77F`!-j$FWUU88-TQ$LH@;(?I<`8cP13ejooaB}9d+== zr5)UF)82}wgEIE*@%&a~LX84jc8eM)*A(}cSsoq(6;7ECs!7^d>TXZD;O~!JOO4}q zaDQft1gy?@f2Q&G=jh7*50VK`*MEV@kz3)SX&)G?Y#@7rF`j_jEzk6T?-xm$)q59B zJqA^wh>RcZl^YS8JVEVlU^LqH*MB=PLq-o^Vuh+T^qjJ{ICIHV%@&8_&MV4B!9#{b z3E*@|DGuNCdoxWwiNkz3`8dP7t{>kqbYoSp=ntK?#Q71C=1M|`ujxzZBq2MY)nBNUXl!8UOf@fMRU6y>|s8?a-O?h2Yw-h z;MfcFeF^nBUzFoFE>hAtty8>p`@4#Ul!V~8qok&>F`vyK{QAV>pj!KCyCjl94d}S1 zpyYXXkaDu5HoC@?bcH%WrXpwj%9+H9d5RF^fux>YPWX0hoY8Oa`G5z^n`6v1>n~%5 zBUNi!{^#ih84GLA6{X{zQ{HG&c-S0`Ot1&GcS5s*i=d#PQ5JOojX5ovT=6`3h@O^g z(SM*GO^b=M2pIq#ouqG-Wv=abOD7P21#1kg0DC-u_1+}KKq^T|N`*sD%^yco~er-C|Hj(3o6bPo!Ki)j7$r4G@e<-_{Z=-q4m4Ga`+gR*ANT7VgLE z&c$ib6L&*86y5lAPxDWKhA!Z`X85Yg{L*%&;rx!EcXtcdH3lmy+9Sv_wM za#M@?5)&;OKA3?*8m%lKnOLFh(Q|3MScl2CeKRwY6S$RZJ<@1eekdDO)UMoS$bVk` z*h^VaG2Xk%A$K8d4>*k_*v|nN?!hCL`lFp}Xf-0eiwU(N##yMEX(Igp!u}-y{Iha) z!%y)_kBCIwJLv_lGFN^}O&k^^1gT{iEIi5KGqr)&4;dc{=e4d=UyWCX;}auBIb zpul~DFWU1014mg!!@xddV$R+0siE=8AeRE*70rl#FtEJD*E{TlTrr3-sTwV#s%HYZ z5E4kO#9ijEz?)dj%ruKgjzzCX!d~@z{8~aVrccb?(W+B1+_Wvsa;BP_xw>|-fV zNpnWE6o5}hb-&nK(@u~gz;TwzB9Yx#F?j6T!F0!89u3-mNoMr+%NUkupA6S1e}|+R zqG}Zkw3p=Z9O~WpNk)`nrmqu7-MjNg-ZGxesU#qBp=FNMbQ9{#sRoIX&*mfI9vd5D zOo_VTm!IP!-YZO3Gr2g);+I+h-(47Ji|be~oTmz(Y;r?Yi(25b#HFAB2c=-G64vu0 z>o|8+@NA|D__J3*tfZ!4Y3&SFE}DV&MH=|)Vw1+b69-MI<^2f-Uo3C}%yYTP$7MV` z;Ugd~t_qjG(V0s?ouH;~iLcR}C7ouO2C5wAh#Wl&@P*mC(a{Xy@ahP&u};&L)|Tjv z4aeZ~)RDsrPZslDbpc_ZvRK0twp$v3Rei*^Say=~P$zVT_TpLC{xK>3pCON21Ih0f zx9CI(EN*Lj1bb@ja1V5mofi%SpR+XV5kss56Gwwdl4ta6#yNpUlsww8YCw{fh)Hm2 z0yV&2!0t(V`+J*u#t;Yt&0Ul>e(r3mn_|IhZc`R-@0*|^>Fr+$YBFmw;8iEf%_r}f zFbdbc9EihLhX3=e{^9MX_VLg1{pkJt4S3dbno2V8EIhNZOlcCMmk=G z2k6W{Zr?Bn-wMAy8!`iL1%1>8XrTS%j)6!Hb$u*eV*eUoK2fu9M!$|(LlV4VsnaLj z2Jir}_RwNrgZv+XGT_8Q#zjyDBm-qY;j=CbTwEiifD1R$u7j1?_$$zY-T9gfK2PLM zc%vHw%r~K4D`zYNI%EQmQ+G+Q473}RJbbkZUeYfJk1+`gTwAwVOIw_#Xvdv#VX7cY zkQqFcIAV4|POO-8-WAjVH}SFa$<6)m7eVYC2$^9#iv|Fh_AW3JubC0X9x28aL`IQ zkM|VEOV=~wflw&twbY(*VJWvkddz9?d#uHMg3(yrSTDdIiv~i0i*B29iJX(~!^V8L zfG_-?;V_L^z_YkxTCg07Ah3=NqXX{(y9%CV!@U&0+YpdtfublrBVeEg%Ue~LWT+|7wZ@V(jC=^UUzz zMZx=YF95|#mmEcyjDJg#K=v~(%>Nvad#k%F#Qpby-1CMl;HS7%Xn|EqmL{&2x_8^w z*>okJQ7BN?z~(DKf0hBwT=rxQZ&%mw!wVUUF3HGH0;ly~j=>qkUM?*dIIY5$y@jfI z2p7!Drp5t=$i0q$(6S458y3exoly7X-8kMsJ%hMTdEgxidsXk3kAOq*5>m+l)`dsA z8P|Fn3wZ$N#5_0d&KaKt0ne(juB>q_QUz61PM%16vAMRv{ud*jQ(x#?xg&qv@m;*h z#2Qdt9-$RNv2LKp9s+i>Ul;7I&+I)kA6_jzd|!8_g@bo11;7GLL(T&cg|rr;Ztim0 zR+H2$#pf;IT=TMDoZgO$ap}A;Jk%Y@=A=5R5QjwwDQCbm-)>pb_FvP=*+@u{D(B+p z0O#-p+)a4XHwxMdKs;{gy*V40k|d!LIJxF0=N$TQVgT5%g0zj_fxfA1l&ilkc+!7f zybhlBBR8#>>N-EhfEfdC6>Dk;IG#D?#AQOBDT{^od&iGi;9^}`9ttAeY${KWh7;5s zOsLgU66tPKTq82(1wLqAY?lptS3uSf56#sxuBt`}C=6ZR*det+9O1&&xMuuaUj5eA zwoDtNG?nBqW`XC?+)}4?)lXL9iZNePvbf}B#p^ycF?%^S4@b_=2~adETw22iHjH(0 zGJ?`TFilx1&*;2;ZNNuU!>{%hoI#EPvGtj_NE_n5W7BhArlvGNA@BgAc(^!9?}1on zaXRY2jw;XZ`EeaqZTfKpeUSFBTQRzg3iK1hy9jdwn<R5|0-x5v8(s(G`u zPA*;q2l=_xD%}Z~=kSFI7yC*09`EkyNWd@yG-{70r;C-@2v>8R^Va;D7u@ElVqj>&2*K5t4TUQi6 zY{k|ovTW$O)P9+Yah;bv*_Y>(*5uA+t9B7cI^Fkrjg{y=;7PD8`#+bNY*~KT{q^fYrpn+-O=u0@xfYN{l2F4%-xQ z4@`T*n$LB?3vRjr5gW-|(eG;e?Ycd6XK_;W3(~3wTp>F=9`l?jAB&Xb2K!kw2;S;D z1mfMs9Ko#5ejrhK!^6yRUD>Oh{>00}aB)ar_@zv=aeWS#96v^f`L^2m$QFx7BMiPy zRx$0`zkVaj>KIj4URm`xm!}q%bJ#{QlC}8+DK19 zOzrEKU5pwmV`9A5S%r3+Gz@1$^X7UYK;Kmaw>p}BX)=?j%QrER%c?Tdbz0w;_4}Dl@xzY%In_nxm%mO#y1u+)#K7AleUb0lJtZHK=5kPn zhGz^Dw6ya_2Vys8lT*1~H8oU~M)(>>JY#4C2{gK6gOadB?Jrg8L6@{9^mPMLswKv@ zRk-gT+vBNa*Pm2!DId4G-H3>Qd_oG4we1mJo~yX|=vkO|_d`!IZp2O#NELxve?oas4jRLk(VMvi=?z?`&fniudTeP}w zhd@(`F5z}v>G_<*PH%Y-$$&{?6FEs2bpk=C5Bb^+W@(;D4|g*I>rMH4dd7gfLImVr z4Ni<9$~y7CJmG9+vw{YYmwY;yAZIw+sm?$cgBXJ;V!2qj@8}cxjZ|l0Q(M5_{cC>L zPATg3TY~C73;wQ%p;#S~91EkwJJ2g35dT32`_xj{ARBE<&Sb&t$)*Xev$Uo{m$cS* z!bwjJd*#KPg%_G@n&&E{*~3>Y_@V|RDK(+{r(;69<`80fp>!S@=3evQiB$Q*Tcf@2 zjGS7E%k@da1}9lWy=8`~PJJ|`vc`!f-^cikM+SGai%alcl~#=S^UOe z5zhtcoye|Lm7<-Z4>+E2+eOn00_9JCE$l*`jJg&l!65ezXYB<|Q;-f5`j9rn=D|)` zcET|X61^fWYoWOMgE?L}<9og)$4wA+W`auuZEc%+46;}=1!wRX{`|@mIXHKehMCG^ zLi9yB-+eEXR4p^~K9ND|D=!I&$;j>Pe*RvwZ*Pol42vsdg`jhaz+od40u#Gj&x;wV zF&-WD0q$~!kk=5IrO!|-P}MrgB*m91F2*GV}OYU=0wjv`F%^m>tlPm0w3 ztb7k7r@pp6a{C%|M52E0?f7RTf9O+4Trzxw)U3$X#(%HWmSsL!uiRm0DLK$_l`PkM zI0YUs^IPkCCK?&SFgA)A$+QGr2JApzPLM2gtVMvJs^Q^$%o$A#z8d_JSTOcd`MEUT z@g)A!UB!gwu$)(I-?+XSrNVdK@p$+sX0amW)|V5xbOp*jSmhRt^U7!#*YouVgY$(| zd@9&_`U_?;X4bc(WUZEKB*t2#$u*l;^d#MZav0Q8s5 z5+5fwe=NsOwr1u5G|CV@Cu-vnQ?qRnQyF6B4cdI{gP6r@y>c$DUPcaP1Oz8HAk^38RR=20$W)jM9 zR*gmc#R^wG6J8A)1djj+5L_ICn7Nu9ge^Z0iCaFe+r zj?cpqOtn|(miW7jCLc*O>bQ?F%#eaxgɁF_9fWlBD>{LCX}xq)9&aX(ssffN*P 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 z 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 2.1.2 < 3" + +import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip6addr@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" + integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.4.0" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" + integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== + 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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +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-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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.0: + 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-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.5.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136" + integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA== + dependencies: + abab "^2.0.5" + acorn "^8.1.0" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "6.0.1" + request "^2.88.2" + request-promise-native "^1.0.9" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.4" + xml-name-validator "^3.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== + +json-parse-even-better-errors@^2.3.0: + 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@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsprim@^1.2.2, jsprim@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@^10.5.2: + version "10.5.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.3" + through "^2.3.8" + +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" + +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + +lodash@^4.17.19, lodash@^4.7.0: + 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.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.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" + +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" + +make-dir@^3.0.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" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +maxmind@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.1.tgz#b20103f19e9fc12e4d1618814380d89a00f65770" + integrity sha512-0CxAgwWIwQy4zF1/qCMOeUPleMTYgfnsuIsZ4Otzx6hzON4PCqivPiH6Kz7iWrC++KOGCbSB3nxkJMvDEdWt6g== + dependencies: + mmdb-lib "1.2.0" + tiny-lru "7.0.6" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== + dependencies: + mime-db "1.47.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mmdb-lib@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-1.2.0.tgz#0ecd93f4942f65a2d09be0502fa9126939606727" + integrity sha512-3XYebkStxqCgWJjsmT9FCaE19Yi4Tvs2SBPKhUks3rJJh52oF1AKAd9kei+LTutud3a6RCZ0o2Um96Fn7o3zVA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^1.1.71: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +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: + 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@^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-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-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: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +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== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4: + version "2.2.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" + integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== + +picomatch@^2.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +prompts@^2.0.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +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== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.18.1: + 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" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^3.0.0: + 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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +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@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.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== + +semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.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 sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +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@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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== + +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.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-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tiny-lru@7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" + integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz#04bfd1026ba4577de5472df4f5e89af49de5edda" + integrity sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" + integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== + dependencies: + lodash "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +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, which@^2.0.2: + 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" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.4: + version "7.4.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" + integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +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== + +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: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +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.4.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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore b/plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore new file mode 100644 index 0000000000000..a513319e0be18 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore @@ -0,0 +1,8 @@ +node_modules +.idea +yarn-error.log +dist +.yalc +yalc.lock +test.js +.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc b/plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc new file mode 100644 index 0000000000000..2161d46def30e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "none", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE b/plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE new file mode 100644 index 0000000000000..df9c38f57d98c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Yakko Majuri + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/README.md b/plugin-server/src/cdp/legacy-plugins/taxonomy/README.md new file mode 100644 index 0000000000000..bc77265f8492e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/README.md @@ -0,0 +1,13 @@ +# Taxonomy Plugin + +Standardize your event names into a single pattern by converting all event names that don't match the pattern to the selected pattern. + +## Supported Patterns + +The plugin can convert from any of these to all the others: + +* Camel Case: `helloThereWorld` +* Pascal Case: `HelloThereWorld` +* Snake Case: `hello_there_world` +* Kebab Case: `hello-there-world` +* Spaces: `hello there world` diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js new file mode 100644 index 0000000000000..f8a6a56461313 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js @@ -0,0 +1,85 @@ +const { + createEvent +} = require('@posthog/plugin-scaffold/test/utils.js') +const { processEventBatch } = require('../index') + +const eventNamingOptions = [ + 'helloThereWorld', + 'HelloThereWorld', + 'hello_there_world', + 'hello-there-world', + 'hello there world' +] + + +test('converts all event names to camelCase', async () => { + + const events = eventNamingOptions.map(option => + createEvent({ event: option }) + ) + + const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'camelCase' } }) + for (const event of eventsOutput) { + expect(event).toEqual( createEvent({ event: 'helloThereWorld' })) + } + +}) + + +test('converts all event names to PascalCase', async () => { + + const events = eventNamingOptions.map(option => + createEvent({ event: option }) + ) + + const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'PascalCase' } }) + for (const event of eventsOutput) { + expect(event).toEqual( createEvent({ event: 'HelloThereWorld' })) + } + +}) + + +test('converts all event names to snake_case', async () => { + + const events = eventNamingOptions.map(option => + createEvent({ event: option }) + ) + + const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'snake_case' } }) + for (const event of eventsOutput) { + expect(event).toEqual( createEvent({ event: 'hello_there_world' })) + } + + +}) + + +test('converts all event names to kebab-case', async () => { + + const events = eventNamingOptions.map(option => + createEvent({ event: option }) + ) + + const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'kebab-case' } }) + for (const event of eventsOutput) { + expect(event).toEqual( createEvent({ event: 'hello-there-world' })) + } + + +}) + + +test('converts all event names to spaces in between', async () => { + + const events = eventNamingOptions.map(option => + createEvent({ event: option }) + ) + + const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'spaces in between' } }) + for (const event of eventsOutput) { + expect(event).toEqual( createEvent({ event: 'hello there world' })) + } + + +}) \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js b/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js new file mode 100644 index 0000000000000..0166d8b024e7c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js @@ -0,0 +1,78 @@ +const transformations = [ + { + name: "camelCase", + matchPattern: /[A-Z]/g, + transform: (str, matchPattern) => str[0].toLowerCase() + str.slice(1).replace(matchPattern, (substr) => substr[substr.length-1].toUpperCase()) + }, + { + name: "PascalCase", + matchPattern: /[A-Z]/g, + transform: (str, matchPattern) => str[0].toUpperCase() + str.slice(1).replace(matchPattern, (substr) => substr[substr.length-1].toUpperCase()) + }, + { + name: "snake_case", + matchPattern: /([_])([a-z])/g, + transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '_') + }, + { + name: "kebab_case", + matchPattern: /([-])([a-z])/g, + transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '-') + }, + { + name: "spaces", + matchPattern: /([\s])([a-z])/g, + transform: (str, matchPattern) => defaultTransformation(str, matchPattern, ' ') + }, +] + +const configSelectionMap = { + "camelCase": 0, + "PascalCase": 1, + "snake_case": 2, + "kebab-case": 3, + "spaces in between": 4 +} + +const skippedPostHogEvents = [ + 'survey shown', + 'survey sent', + 'survey dismissed', +] + + +async function processEventBatch(events, { config }) { + for (let event of events) { + if (!event.event.startsWith("$") && !skippedPostHogEvents.includes(event.event)) { + event.event = standardizeName(event.event, transformations[configSelectionMap[config.defaultNamingConvention]]) + } + } + return events +} + + +const defaultTransformation = (str, matchPattern, sep) => { + const parsedStr = str.replace( + matchPattern, + (substr) => sep + (substr.length === 1 ? substr.toLowerCase() : substr[1].toLowerCase()) + ) + if (parsedStr[0] === sep) { + return parsedStr.slice(1) // Handle PascalCase + } + return parsedStr +} + + +const standardizeName = (name, desiredPattern) => { + for (const transformation of transformations) { + if (transformation.name === desiredPattern.name || name.search(transformation.matchPattern) < 0) { + continue + } + return desiredPattern.transform(name, transformation.matchPattern) + } + return name +} + +module.exports = { + processEventBatch +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/logo.png b/plugin-server/src/cdp/legacy-plugins/taxonomy/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d69a9cdfb9f1a1670062c73ebef65bea66d57b5b GIT binary patch literal 2826 zcmcIldstH07ROhqV``;695rrgSjkh7fdr9IL-Uc5rCmo6P*DVegMx%+-7IZXruQAo zN~c?9YC7pHE6Oj6%E}vJYG!uLvGP@>X+E%fK(8~+H-Fr3zB}Ky&OT?Y{ae4i_Fil4 zlN}oDzrfti90GwXplzUrf$w{|$8;VzmTfC91YZWCFnVHYK|#`@>u)XL}9I%xpJd&z#;Ly=l8D&z7HD zabw->Iu{C{ZL1$8H9qXo65@*F%HWP{arcM4mhQ?^w;Dlw{h+&i{xm^b%XXbq zlyzu6bUq&IA8o2bH(QY|uwu@~C!Ib%;iNcX((y?h5{qCEv1$IJ`m$7leXU7JqS|8_*SK= zn06}g!3X$1lSCO$+g~e}$SnF5@@V|I2k(J?bZyr{W0a|0Cc4Dd3oKSU$WWs;pS;_q zk}CaMYo<+E2?1|QUMNHNuR9hc2}rD{cVupFjWw8;2?52AQ@F=Mv*sDmy?tm~;nTxW zlS4H;?-2jX%ImHrHWdX&DO%{9$&ASe9qd11&JHw*~KB=;Q40!dRhOZ=~(HlNb z-LB!!{~9B51AqKXzGnFq{{TX#cT1jpJ5A1inN3*xl>OqP3;RGu4)M-p*;K(+|CHm}F>Xbc zUGdtQZL_7Y>EdgsA0dUlXN8v0kG`}%JX#tl6(L5KMGcu6E;H84-ZaaD78-hc>V@ID z-s4qQ0~zxvjr4PQ0c}PO`7TGgriv0O4QZGyKk!pXt%o%)Z`h^oHPpsgZFjo`wf-G3 zoj%&`tsJdQ7Z18b$@)$z8j8AC-BkhoZ}y~h4f$j7Xh&|x>C6+v3|f3+v_-Z3M5sI= zv~%a+a)-Z<$0$DTPOj`(x+L4Ey{77!#wvZ}P)wi6SKYmxpBE;s9=RG`YRfH)$@H*m zICIo6W#c8X`N+`rTgk65$QWzWS)p37%Gxw)bx?KtKx^@7a%7np4)4%ROhjt%Mf0nw zYKy{4&-O&RkGi@lnwxv>N}qfu`<7}&y)S$Buh$sVw5qIW<=`?CQ)5?@p@GH!S*{wX z@*SQOc3flTSHflI#@^hva>yq7aV+W`Pg^M8cXI~XuZ0Y_9dh2Hrh0o17cJqr`4#q$ zIuIl`3wL(yD695N&kD)-u()>T&pGLn*S0!^gmb-i13S8$e)^$M`7Yf4pyshqK7Js? z_eAew`QS)A@6KOn5rs){aeh|z)8zV+oP2WaH)z@Q;Y{b|5e>bSQS+udJEGcid|pL< zMnCH%=fPfb?fLMe0>^d0r|_92y~6PAsy6kRMQ`&@6>SBZ@Jdc| z?)bs$Mw4T`n)~~1KdSPT{bLm~KQz)!nS}EKqXz@wyqrgg)>*eXGQ=LA! zsh!Os8Kb*N858J%XV@1@D@uQkC?6m1BMcviRym%1Z`$qYhP6xk_d_HzKht!s<7fK* z508E$WHswmv3b+wMbbq!0aZH^r^lxDyG+2=<~?^W`uMaqvARxIWm)_BE?Cn0kDbr5 zCMukRvW?yya$Q|7T_`_bVzXR-_2_P&OXM}Sk<@YHbxEqh8#qnatvs_O_a5%EEDbNs zinNq-0l>L6vd*xiW#7p2pF;M5ro>C(O*rLrb4;I$wD5IZ_#ux}xzAF>jf*XvlFh?k z;V6jQMFq=NGz~HRN7_`5PrB<|HSc?_jl9{@y@r0S3@91XF2q3 zz_y@`1SUTj!C>)Y*$7Fp0Q_%4AYR@Q0fU*u2B5L*cn*&Udw1<749Z~QZnvlIYEtt+sOJd?#FmIB%mxKTkB(nhqRFcf)i3k!ROwUUIzjbCL3TafC3c z-z)^wh_D0z5D<{a)YMc&syl)&j7OsJcsvq?L1Hj)5CIoSc>qHK=ZTy^26L#MgUS{$ zg&YCE;q#z6PDU(W3=m;3bLcF!4*&=`v2*M^5rUz&h;=RqaMMTzON2xtP`a?7P_G$0 z!G|T%sWXdgX7A7|Ga8qpUrE3air93ifK7yju|<5bkjd6F=$vLr)(hDTfXyOdP#82E zg@L26UdZ1}>DKtg!B+y%SR^(B&qlFvI5^fF&wzWxF`4jKcMKEm?&0B%^K@s$u{>FG zL^Cd5()h)KELaQ{;|X5e9%vjM`weQ&K|lE=p3WCD6Lec4Vdh}J*z{O0r0#UNoS8$> zE3>CE=P`3+Gr(V^<$q6=;8#_k%agtsbr}LDzzn(1W(d>>K4Kt&FC;}Ul9Kq)AV#8C z$boL=a8uYEA;U|D|1Sb86Me9MC?K$ozbKr!fFumTuSy1l5%j6%3+a45m$aV2O97+! tt@(FDnTZbU1h6NNbDaY!bG^srfej}FJL|`@FLHHlN%IY+mQ!MO{|BdCS#1CS literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/package.json b/plugin-server/src/cdp/legacy-plugins/taxonomy/package.json new file mode 100644 index 0000000000000..c3a02202c990d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/package.json @@ -0,0 +1,34 @@ +{ + "name": "taxonomy-plugin", + "version": "0.0.1", + "description": "Standardize your event names into a single pattern.", + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/PostHog/taxonomy-plugin.git" + }, + "author": "Yakko Majuri", + "license": "MIT", + "bugs": { + "url": "https://github.com/PostHog/taxonomy-plugin/issues" + }, + "homepage": "https://github.com/PostHog/taxonomy-plugin#readme", + "scripts": { + "test": "./node_modules/.bin/jest" + }, + "devDependencies": { + "husky": "^4.3.0", + "lint-staged": "^10.5.2", + "prettier": "^2.2.1", + "@posthog/plugin-scaffold": "^0.2.7", + "jest": "^26.6.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,ts,tsx,json,yml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json b/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json new file mode 100644 index 0000000000000..88d4d33c07402 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json @@ -0,0 +1,24 @@ +{ + "name": "Taxonomy Plugin", + "url": "https://github.com/PostHog/taxonomy-plugin", + "description": "Standardize your event names into a single pattern.", + "main": "index.js", + "config": [ + { + "key": "defaultNamingConvention", + "hint": "", + "name": "Select your default naming pattern", + "type": "choice", + "choices": [ + "camelCase", + "PascalCase", + "snake_case", + "kebab-case", + "spaces in between" + ], + "order": 1, + "default": "camelCase", + "required": true + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock b/plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock new file mode 100644 index 0000000000000..2a45b80f1c73d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock @@ -0,0 +1,3935 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@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/core@^7.1.0", "@babel/core@^7.7.5": + 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" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^5.4.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-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.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-member-expression-to-functions@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== + dependencies: + "@babel/types" "^7.12.7" + +"@babel/helper-module-imports@^7.12.1": + 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.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" + integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== + dependencies: + "@babel/types" "^7.12.10" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + 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-replace-supers@^7.12.1": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" + integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.7" + "@babel/helper-optimise-call-expression" "^7.12.10" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.11" + +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^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", "@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/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.5" + "@babel/types" "^7.12.5" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.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-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.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": + 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.1.0", "@babel/traverse@^7.12.1", "@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.12.1", "@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", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + 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" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@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.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@posthog/plugin-scaffold@^0.2.7": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.2.7.tgz#0d4a87385ec5c88184ad252a2587b9793f50a58d" + integrity sha512-bgrXLwUMMJ5TzyNK41jlgKdpZffvwjDxYeZ7nL1VDAI/Svv4/DSIA7JtcXZV14q2x99vB3woPckWUUAC7K2jmg== + +"@sinonjs/commons@^1.7.0": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*": + version "14.14.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" + integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" + integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA== + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@types/yargs@^15.0.0": + version "15.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" + integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +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@^6.12.3: + 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" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +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" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +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.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0: + 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.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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-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@^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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +combined-stream@^1.0.6, 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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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.2.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" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@^2.2.0, debug@^2.3.3: + 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.1.0, debug@^4.1.1, debug@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +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" + +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" + +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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +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== + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + 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-json-stable-stringify@^2.0.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 sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +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-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 "^3.1.2" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +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" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" + integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.1: + 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: + 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-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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-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" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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== + +graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +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== + +husky@^4.3.0: + version "4.3.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.7.tgz#ca47bbe6213c1aa8b16bbd504530d9600de91e88" + integrity sha512-0fQlcCDq/xypoyYSJvEuzbDPHFf8ZF9IXKJxlrnvxABTSzK1VPT2RKYQKrcgJ+YD39swgoB6sbzywUqFxUiqjw== + dependencies: + chalk "^4.0.0" + ci-info "^2.0.0" + compare-versions "^3.6.0" + cosmiconfig "^7.0.0" + find-versions "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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" + +import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.1.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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +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-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + dependencies: + abab "^2.0.3" + acorn "^7.1.1" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.2.0" + data-urls "^2.0.0" + decimal.js "^10.2.0" + domexception "^2.0.1" + escodegen "^1.14.1" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + saxes "^5.0.0" + symbol-tree "^3.2.4" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.2.3" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + 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@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@^10.5.2: + version "10.5.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.3" + through "^2.3.8" + +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" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.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" + +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" + +make-dir@^3.0.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" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.45.0: + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.28" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== + dependencies: + mime-db "1.45.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" + integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +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: + 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@^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-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-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: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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" + +parse5@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +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== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.18.1: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^3.0.0: + 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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +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@^5.4.1, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.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== + +semver@^7.3.2: + 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" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-length@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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== + +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.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-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +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, which@^2.0.2: + 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" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.2.3: + version "7.4.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" + integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +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: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +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.4.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" + +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== diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore new file mode 100644 index 0000000000000..a513319e0be18 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore @@ -0,0 +1,8 @@ +node_modules +.idea +yarn-error.log +dist +.yalc +yalc.lock +test.js +.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc new file mode 100644 index 0000000000000..2161d46def30e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "none", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 120 +} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE new file mode 100644 index 0000000000000..df9c38f57d98c --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Yakko Majuri + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md new file mode 100644 index 0000000000000..72c4bf085830f --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md @@ -0,0 +1,17 @@ +# Timestamp Parser Plugin + +Parse event timestamps into: + +- Day of the week +- Day of the month +- Month +- Year +- Hour +- Minute + + +So you can explore questions like: + +- Do we get more purchases on weekdays or weekends? +- Why does our traffic spike on Tuesdays? +- How do users use our platform differently during the holiday season? diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js new file mode 100644 index 0000000000000..6a016816d84de --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js @@ -0,0 +1,50 @@ +const { + createEvent, + createIdentify, + createPageview, + createCache, + getMeta, + resetMeta, + clone, +} = require('@posthog/plugin-scaffold/test/utils.js') +const { setupPlugin, processEvent } = require('../index') + + +test('processEvent adds the right properties', async () => { + + const event0 = createEvent({ event: 'Monday 27/01/2021', properties: { $time: 1611772203.557, keepMe: 'nothing changes' } }) + + const event1 = await processEvent(clone(event0), getMeta()) + expect(event1).toEqual({ + ...event0, + properties: { + ...event0.properties, + day_of_the_week: 'Wednesday', + day: '27', + month: '01', + year: '2021', + }, + }) + + const event2 = createEvent({ event: 'Monday 25/01/2021', properties: { $time: 1611587425.118, keepMe: 'nothing changes' } }) + + const event3 = await processEvent(clone(event2), getMeta()) + expect(event3).toEqual({ + ...event2, + properties: { + ...event2.properties, + day_of_the_week: 'Monday', + day: '25', + month: '01', + year: '2021', + }, + }) + +}) + +test('processEvent does not crash with identify', async () => { + const event0 = createIdentify() + + const event1 = await processEvent(clone(event0), getMeta()) + expect(event1).toEqual(event0) +}) \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js new file mode 100644 index 0000000000000..4e75b04548fa3 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js @@ -0,0 +1,18 @@ +function processEvent(event) { + if (event.properties && event['timestamp'] && !isNaN(event['timestamp'])) { + const eventDate = new Date(event['timestamp']) + event.properties['day_of_the_week'] = eventDate.toLocaleDateString('en-GB', { weekday: 'long' }) + const date = eventDate.toLocaleDateString('en-GB').split('/') + event.properties['day'] = Number(date[0]) + event.properties['month'] = Number(date[1]) + event.properties['year'] = Number(date[2]) + event.properties['hour'] = eventDate.getHours() + event.properties['minute'] = eventDate.getMinutes() + } + + return event +} + +module.exports = { + processEvent +} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/logo.png b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb84fff1a1aaee3b0a6a316acd71887dc18596e GIT binary patch literal 8651 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 s<&SiLCjdSH1n9p#2N?Y0dk`4laE^dyg*--v9sr literal 0 HcmV?d00001 diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json new file mode 100644 index 0000000000000..a0b2e6c3d74ab --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json @@ -0,0 +1,34 @@ +{ + "name": "timestamp-parser-plugin", + "version": "0.0.1", + "description": "Parse your event timestamps into useful date properties.", + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/PostHog/timestamp-parser-plugin.git" + }, + "author": "Yakko Majuri", + "license": "MIT", + "bugs": { + "url": "https://github.com/PostHog/timestamp-parser-plugin/issues" + }, + "homepage": "https://github.com/PostHog/timestamp-parser-plugin#readme", + "scripts": { + "test": "./node_modules/.bin/jest" + }, + "devDependencies": { + "husky": "^4.3.0", + "lint-staged": "^10.5.2", + "prettier": "^2.2.1", + "@posthog/plugin-scaffold": "^0.2.7", + "jest": "^26.6.3" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,ts,tsx,json,yml}": "prettier --write" + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json new file mode 100644 index 0000000000000..f5075b6013b5a --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json @@ -0,0 +1,6 @@ +{ + "name": "Timestamp Parser", + "url": "https://github.com/PostHog/timestamp-parser-plugin", + "description": "Parse your event timestamps into useful date properties.", + "main": "index.js" +} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock new file mode 100644 index 0000000000000..2a45b80f1c73d --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock @@ -0,0 +1,3935 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@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/core@^7.1.0", "@babel/core@^7.7.5": + 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" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^5.4.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-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.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-member-expression-to-functions@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== + dependencies: + "@babel/types" "^7.12.7" + +"@babel/helper-module-imports@^7.12.1": + 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.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" + integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== + dependencies: + "@babel/types" "^7.12.10" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + 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-replace-supers@^7.12.1": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" + integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.7" + "@babel/helper-optimise-call-expression" "^7.12.10" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.11" + +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^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", "@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/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.5" + "@babel/types" "^7.12.5" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.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-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.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": + 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== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": + 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.1.0", "@babel/traverse@^7.12.1", "@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.12.1", "@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", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + 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" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@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.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@posthog/plugin-scaffold@^0.2.7": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.2.7.tgz#0d4a87385ec5c88184ad252a2587b9793f50a58d" + integrity sha512-bgrXLwUMMJ5TzyNK41jlgKdpZffvwjDxYeZ7nL1VDAI/Svv4/DSIA7JtcXZV14q2x99vB3woPckWUUAC7K2jmg== + +"@sinonjs/commons@^1.7.0": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*": + version "14.14.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" + integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" + integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA== + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@types/yargs@^15.0.0": + version "15.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" + integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +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@^6.12.3: + 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" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-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" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +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== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^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@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + 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-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +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" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +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.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0: + 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.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + 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== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +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: + 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-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@^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" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +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== + +combined-stream@^1.0.6, 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@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + 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" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +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.2.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" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@^2.2.0, debug@^2.3.3: + 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.1.0, debug@^4.1.1, debug@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +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== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +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== + +end-of-stream@^1.1.0: + 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" + +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" + +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" + +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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +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== + +escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +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== + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0, 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + 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-json-stable-stringify@^2.0.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 sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +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" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + 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" + +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-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 "^3.1.2" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +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" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" + integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.1: + 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: + 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-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" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +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-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.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-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" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +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== + +graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +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-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +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-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +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== + +husky@^4.3.0: + version "4.3.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.7.tgz#ca47bbe6213c1aa8b16bbd504530d9600de91e88" + integrity sha512-0fQlcCDq/xypoyYSJvEuzbDPHFf8ZF9IXKJxlrnvxABTSzK1VPT2RKYQKrcgJ+YD39swgoB6sbzywUqFxUiqjw== + dependencies: + chalk "^4.0.0" + ci-info "^2.0.0" + compare-versions "^3.6.0" + cosmiconfig "^7.0.0" + find-versions "^4.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^5.0.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + +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" + +import-fresh@^3.2.1: + 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.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= + +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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +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-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.1.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" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +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-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-object@^2.0.3, 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.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +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@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +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" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +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== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + dependencies: + abab "^2.0.3" + acorn "^7.1.1" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.2.0" + data-urls "^2.0.0" + decimal.js "^10.2.0" + domexception "^2.0.1" + escodegen "^1.14.1" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + saxes "^5.0.0" + symbol-tree "^3.2.4" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.2.3" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + 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@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, 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== + +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.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@^10.5.2: + version "10.5.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.3" + through "^2.3.8" + +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" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.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" + +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" + +make-dir@^3.0.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" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +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== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.45.0: + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.28" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== + dependencies: + mime-db "1.45.0" + +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== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +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== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" + integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +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-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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== + +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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + 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" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + 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" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +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: + 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@^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-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-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: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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" + +parse5@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +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.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +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== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.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@^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" + +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" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +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@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + +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" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +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== + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.18.1: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^3.0.0: + 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" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + 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-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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", 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== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +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@^5.4.1, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.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== + +semver@^7.3.2: + 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" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +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== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +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" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6: + 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-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, 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: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +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.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-length@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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== + +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.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-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +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== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +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" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +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.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +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== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.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" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +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" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +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, which@^2.0.2: + 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" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +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" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.2.3: + version "7.4.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" + integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +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== + +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +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: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +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.4.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" + +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== From 71ca8a5a6fd71ab1f83969b4e34829e58463b897 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 16:21:37 +0100 Subject: [PATCH 26/76] Remove files --- .../currency-normalization/.gitignore | 4 - .../currency-normalization/.prettierrc | 7 - .../currency-normalization/LICENSE | 21 - .../currency-normalization/README.md | 15 - .../currency-normalization/logo.png | Bin 9325 -> 0 bytes .../currency-normalization/package.json | 23 - .../currency-normalization/yarn.lock | 3577 ------- .../legacy-plugins/downsampling/.editorconfig | 14 - .../downsampling/.gitattributes | 2 - .../.github/pull_request_template.md | 7 - .../downsampling/.github/workflows/ci.yaml | 41 - .../legacy-plugins/downsampling/.gitignore | 76 - .../downsampling/.prettierignore | 1 - .../legacy-plugins/downsampling/.prettierrc | 7 - .../cdp/legacy-plugins/downsampling/LICENSE | 21 - .../cdp/legacy-plugins/downsampling/README.md | 15 - .../cdp/legacy-plugins/downsampling/logo.png | Bin 15343 -> 0 bytes .../legacy-plugins/downsampling/package.json | 28 - .../cdp/legacy-plugins/downsampling/yarn.lock | 4298 --------- .../drop-events-on-property/.gitignore | 19 - .../drop-events-on-property/LICENSE | 21 - .../drop-events-on-property/README.md | 17 - .../drop-events-on-property/logo.png | Bin 1359 -> 0 bytes .../early-access-features-app/.gitignore | 130 - .../early-access-features-app/LICENSE | 21 - .../early-access-features-app/README.md | 26 - .../early-access-features-app/logo.png | Bin 8735 -> 0 bytes .../early-access-features-app/package.json | 14 - .../.github/workflows/ci.yml | 23 - .../flatten-properties/.gitignore | 8 - .../flatten-properties/.prettierrc | 7 - .../legacy-plugins/flatten-properties/LICENSE | 21 - .../flatten-properties/README.md | 59 - .../flatten-properties/logo.png | Bin 4163 -> 0 bytes .../flatten-properties/package.json | 30 - .../flatten-properties/yarn.lock | 2681 ------ .../src/cdp/legacy-plugins/hubspot/.gitignore | 8 - .../cdp/legacy-plugins/hubspot/.prettierrc | 7 - .../src/cdp/legacy-plugins/hubspot/LICENSE | 21 - .../src/cdp/legacy-plugins/hubspot/README.md | 65 - .../src/cdp/legacy-plugins/hubspot/logo.png | Bin 4585 -> 0 bytes .../cdp/legacy-plugins/hubspot/package.json | 32 - .../hubspot/readme-assets/hubspot-data.png | Bin 186727 -> 0 bytes .../src/cdp/legacy-plugins/hubspot/yarn.lock | 865 -- .../language-url-splitter-app/.gitignore | 3 - .../language-url-splitter-app/.prettierrc | 7 - .../language-url-splitter-app/README.md | 8 - .../language-url-splitter-app/package.json | 17 - .../language-url-splitter-app/pnpm-lock.yaml | 3462 ------- .../notification-bar-app/.gitignore | 3 - .../notification-bar-app/.prettierrc | 7 - .../notification-bar-app/README.md | 27 - .../notification-bar-app/logo.png | Bin 337791 -> 0 bytes .../notification-bar-app/package.json | 14 - .../notification-bar-app/pnpm-lock.yaml | 571 -- .../notification-bar-app/yarn.lock | 22 - .../pace-posthog-integration/.editorconfig | 14 - .../pace-posthog-integration/.gitattributes | 2 - .../pace-posthog-integration/.gitignore | 76 - .../pace-posthog-integration/.prettierignore | 1 - .../pace-posthog-integration/.prettierrc | 7 - .../pace-posthog-integration/LICENSE | 21 - .../pace-posthog-integration/README.md | 7 - .../pace-posthog-integration/logo.png | Bin 7236 -> 0 bytes .../pace-posthog-integration/package.json | 56 - .../pace-posthog-integration/yarn.lock | 5203 ---------- .../pineapple-mode-app/.gitignore | 2 - .../pineapple-mode-app/.prettierrc | 7 - .../pineapple-mode-app/README.md | 42 - .../pineapple-mode-app/logo.png | Bin 128826 -> 0 bytes .../pineapple-mode-app/package.json | 13 - .../pineapple-mode-app/pnpm-lock.yaml | 571 -- .../.github/workflows/ci.yml | 50 - .../plugin-advanced-geoip/.gitignore | 2 - .../plugin-advanced-geoip/.prettierrc | 7 - .../plugin-advanced-geoip/LICENSE | 7 - .../plugin-advanced-geoip/README.md | 34 - .../plugin-advanced-geoip/logo.png | Bin 103564 -> 0 bytes .../plugin-advanced-geoip/package.json | 45 - .../plugin-advanced-geoip/yarn.lock | 4938 ---------- .../.github/workflows/main.yml | 23 - .../posthog-ai-costs-app/.gitignore | 19 - .../posthog-ai-costs-app/.prettierrc | 7 - .../posthog-ai-costs-app/LICENSE | 201 - .../posthog-ai-costs-app/README.md | 40 - .../posthog-ai-costs-app/logo.png | Bin 6761 -> 0 bytes .../posthog-ai-costs-app/package.json | 53 - .../posthog-ai-costs-app/pnpm-lock.yaml | 8454 ----------------- .../src/ai-cost-data/togetherai/generate.py | 136 - .../.github/workflows/ci.yml | 68 - .../posthog-app-unduplicator/.gitignore | 2 - .../posthog-app-unduplicator/.prettierrc | 7 - .../posthog-app-unduplicator/LICENSE | 21 - .../posthog-app-unduplicator/README.md | 37 - .../posthog-app-unduplicator/logo.png | Bin 37485 -> 0 bytes .../posthog-app-unduplicator/package.json | 47 - .../posthog-app-unduplicator/yarn.lock | 4837 ---------- .../.editorconfig | 14 - .../.gitattributes | 2 - .../.github/pull_request_template.md | 7 - .../.github/workflows/ci.yml | 51 - .../.gitignore | 76 - .../.prettierignore | 1 - .../.prettierrc | 7 - .../LICENSE | 21 - .../README.md | 44 - .../logo.png | Bin 360574 -> 0 bytes .../package.json | 47 - .../yarn.lock | 3099 ------ .../cdp/legacy-plugins/posthog-avo/.gitignore | 5 - .../legacy-plugins/posthog-avo/.prettierrc | 7 - .../cdp/legacy-plugins/posthog-avo/LICENSE | 21 - .../cdp/legacy-plugins/posthog-avo/README.md | 24 - .../cdp/legacy-plugins/posthog-avo/logo.png | Bin 15862 -> 0 bytes .../legacy-plugins/posthog-avo/package.json | 17 - .../cdp/legacy-plugins/posthog-avo/yarn.lock | 220 - .../.github/workflows/main.yml | 23 - .../posthog-braze-app/.gitignore | 19 - .../posthog-braze-app/.prettierrc | 7 - .../legacy-plugins/posthog-braze-app/LICENSE | 21 - .../posthog-braze-app/README.md | 90 - .../legacy-plugins/posthog-braze-app/logo.png | Bin 79392 -> 0 bytes .../posthog-braze-app/package.json | 53 - .../posthog-braze-app/yarn.lock | 6345 ------------- .../posthog-engage-so/.gitignore | 4 - .../posthog-engage-so/README.md | 27 - .../legacy-plugins/posthog-engage-so/logo.png | Bin 24544 -> 0 bytes .../posthog-engage-so/package.json | 25 - .../.github/workflows/tests.yml | 23 - .../posthog-filter-out/.gitignore | 122 - .../legacy-plugins/posthog-filter-out/LICENSE | 18 - .../posthog-filter-out/README.md | 93 - .../posthog-filter-out/logo.png | Bin 7626 -> 0 bytes .../posthog-filter-out/package.json | 28 - .../posthog-filter-out/pnpm-lock.yaml | 3100 ------ .../cdp/legacy-plugins/posthog-gcs/.gitignore | 4 - .../legacy-plugins/posthog-gcs/.prettierrc | 7 - .../cdp/legacy-plugins/posthog-gcs/LICENSE | 21 - .../cdp/legacy-plugins/posthog-gcs/README.md | 19 - .../cdp/legacy-plugins/posthog-gcs/logo.png | Bin 15848 -> 0 bytes .../legacy-plugins/posthog-gcs/package.json | 16 - .../cdp/legacy-plugins/posthog-gcs/yarn.lock | 569 -- .../posthog-patterns-app/.gitignore | 19 - .../posthog-patterns-app/LICENSE | 21 - .../posthog-patterns-app/README.md | 22 - .../posthog-patterns-app/logo.png | Bin 3525 -> 0 bytes .../posthog-patterns-app/package.json | 21 - .../patterns_graph_webhook.png | Bin 63342 -> 0 bytes .../posthog-patterns-app/yarn.lock | 3702 -------- .../posthog-plugin-geoip/.editorconfig | 14 - .../posthog-plugin-geoip/.gitattributes | 2 - .../.github/pull_request_template.md | 7 - .../.github/workflows/ci.yml | 41 - .../posthog-plugin-geoip/.gitignore | 76 - .../posthog-plugin-geoip/.prettierignore | 1 - .../posthog-plugin-geoip/.prettierrc | 7 - .../GeoLite2-City-Test.mmdb | Bin 20809 -> 0 bytes .../posthog-plugin-geoip/LICENSE | 21 - .../posthog-plugin-geoip/README.md | 59 - .../posthog-plugin-geoip/logo.png | Bin 15719 -> 0 bytes .../posthog-plugin-geoip/package.json | 57 - .../posthog-plugin-geoip/yarn.lock | 4994 ---------- .../posthog-plugin-replicator/.editorconfig | 14 - .../posthog-plugin-replicator/.gitattributes | 2 - .../.github/pull_request_template.md | 7 - .../.github/workflows/ci.yml | 21 - .../posthog-plugin-replicator/.gitignore | 76 - .../posthog-plugin-replicator/.prettierignore | 1 - .../posthog-plugin-replicator/.prettierrc | 7 - .../posthog-plugin-replicator/LICENSE | 21 - .../posthog-plugin-replicator/README.md | 18 - .../posthog-plugin-replicator/logo.png | Bin 3526 -> 0 bytes .../posthog-plugin-replicator/package.json | 59 - .../posthog-plugin-replicator/yarn.lock | 5634 ----------- .../posthog-route-censor/.gitignore | 7 - .../posthog-route-censor/.husky/pre-commit | 5 - .../posthog-route-censor/.prettierignore | 2 - .../posthog-route-censor/.prettierrc | 7 - .../posthog-route-censor/LICENSE | 29 - .../posthog-route-censor/README.md | 108 - .../posthog-route-censor/logo.png | Bin 85255 -> 0 bytes .../posthog-route-censor/package.json | 50 - .../posthog-route-censor/rollup.config.mjs | 20 - .../posthog-route-censor/yarn.lock | 1292 --- .../.github/ISSUE_TEMPLATE/bug_report.md | 27 - .../.github/ISSUE_TEMPLATE/feature_request.md | 20 - .../.github/workflows/ci.yml | 23 - .../posthog-url-normalizer/.gitignore | 19 - .../posthog-url-normalizer/LICENSE | 21 - .../posthog-url-normalizer/README.md | 38 - .../posthog-url-normalizer/logo.png | Bin 3319 -> 0 bytes .../posthog-url-normalizer/package.json | 16 - .../posthog-url-normalizer/yarn.lock | 2326 ----- .../property-filter/.github/workflows/ci.yml | 27 - .../legacy-plugins/property-filter/.gitignore | 4 - .../property-filter/.prettierrc | 7 - .../legacy-plugins/property-filter/LICENSE | 21 - .../legacy-plugins/property-filter/README.md | 15 - .../legacy-plugins/property-filter/logo.png | Bin 1359 -> 0 bytes .../property-filter/make-release | 1 - .../property-filter/package.json | 24 - .../legacy-plugins/property-filter/yarn.lock | 2576 ----- .../src/cdp/legacy-plugins/pubsub/.gitignore | 2 - .../src/cdp/legacy-plugins/pubsub/.prettierrc | 7 - .../src/cdp/legacy-plugins/pubsub/README.md | 101 - .../src/cdp/legacy-plugins/pubsub/logo.png | Bin 10740 -> 0 bytes .../cdp/legacy-plugins/pubsub/package.json | 13 - .../.github/ISSUE_TEMPLATE/bug_report.md | 39 - .../.github/ISSUE_TEMPLATE/feature-request.md | 20 - .../.github/pull_request_template.md | 13 - .../rudderstack-posthog/.gitignore | 1 - .../rudderstack-posthog/.prettierrc | 7 - .../rudderstack-posthog/CODEOWNERS | 1 - .../rudderstack-posthog/CODE_OF_CONDUCT.md | 80 - .../rudderstack-posthog/CONTRIBUTING.md | 47 - .../rudderstack-posthog/LICENSE | 21 - .../rudderstack-posthog/README.md | 90 - .../rudderstack-posthog/images/PH-init.png | Bin 70137 -> 0 bytes .../rudderstack-posthog/images/PH-source.png | Bin 47477 -> 0 bytes .../Screenshot 2021-02-22 at 7.49.50 PM.png | Bin 68948 -> 0 bytes .../Screenshot 2021-02-22 at 7.50.55 PM.png | Bin 396690 -> 0 bytes .../rudderstack-posthog/logo.png | Bin 1256 -> 0 bytes .../rudderstack-posthog/package.json | 14 - .../rudderstack-posthog/yarn.lock | 8 - .../legacy-plugins/salesforce/.editorconfig | 14 - .../legacy-plugins/salesforce/.gitattributes | 2 - .../.github/pull_request_template.md | 7 - .../salesforce/.github/workflows/ci.yml | 59 - .../cdp/legacy-plugins/salesforce/.gitignore | 78 - .../legacy-plugins/salesforce/.prettierignore | 1 - .../cdp/legacy-plugins/salesforce/.prettierrc | 7 - .../legacy-plugins/salesforce/CHANGELOG.md | 9 - .../src/cdp/legacy-plugins/salesforce/LICENSE | 21 - .../cdp/legacy-plugins/salesforce/README.md | 86 - .../cdp/legacy-plugins/salesforce/logo.png | Bin 1811 -> 0 bytes .../legacy-plugins/salesforce/package.json | 47 - .../cdp/legacy-plugins/sendgrid/.gitignore | 8 - .../cdp/legacy-plugins/sendgrid/.prettierrc | 7 - .../src/cdp/legacy-plugins/sendgrid/LICENSE | 21 - .../src/cdp/legacy-plugins/sendgrid/README.md | 14 - .../src/cdp/legacy-plugins/sendgrid/logo.png | Bin 2284 -> 0 bytes .../cdp/legacy-plugins/sendgrid/package.json | 34 - .../sendgrid/readme-assets/sendgrid-dash.png | Bin 238803 -> 0 bytes .../src/cdp/legacy-plugins/sendgrid/yarn.lock | 4088 -------- .../cdp/legacy-plugins/taxonomy/.gitignore | 8 - .../cdp/legacy-plugins/taxonomy/.prettierrc | 7 - .../src/cdp/legacy-plugins/taxonomy/LICENSE | 21 - .../src/cdp/legacy-plugins/taxonomy/README.md | 13 - .../src/cdp/legacy-plugins/taxonomy/logo.png | Bin 2826 -> 0 bytes .../cdp/legacy-plugins/taxonomy/package.json | 34 - .../src/cdp/legacy-plugins/taxonomy/yarn.lock | 3935 -------- .../timestamp-parser/.gitignore | 8 - .../timestamp-parser/.prettierrc | 7 - .../legacy-plugins/timestamp-parser/LICENSE | 21 - .../legacy-plugins/timestamp-parser/README.md | 17 - .../legacy-plugins/timestamp-parser/logo.png | Bin 8651 -> 0 bytes .../timestamp-parser/package.json | 34 - .../legacy-plugins/timestamp-parser/yarn.lock | 3935 -------- 258 files changed, 90343 deletions(-) delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/readme-assets/hubspot-data.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/hubspot/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/pnpm-lock.yaml delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/patterns_graph_webhook.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/GeoLite2-City-Test.mmdb delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore delete mode 100755 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/make-release delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-init.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-source.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.49.50 PM.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.50.55 PM.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.editorconfig delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.gitattributes delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.github/pull_request_template.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.github/workflows/ci.yml delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.prettierignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/CHANGELOG.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/readme-assets/sendgrid-dash.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/sendgrid/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/logo.png delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore b/plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore deleted file mode 100644 index 14d44227306af..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.idea -.yalc -node_modules - diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc b/plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE b/plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE deleted file mode 100644 index b6eb3b7dc527c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Marius Andra - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md b/plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md deleted file mode 100644 index 9e907dea5e170..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# [Posthog Currency Normalization Plugin](https://posthog.com/plugins/currency-normalization) - -This plugin is deprecated. - -Normalize currencies in events. E.g. amounts in EUR, USD and GBP will all be converted to EUR. - -## Setup in PostHog - -1. Visit the "Plugins" page in PostHog. -2. Either select the plugin from the repository or copy the URL of this repository to install. -3. Update the required settings (get the API key [here](https://openexchangerates.org/)) and enable the plugin. - -## Questions? - -### [Join our Slack community.](https://join.slack.com/t/posthogusers/shared_invite/enQtOTY0MzU5NjAwMDY3LTc2MWQ0OTZlNjhkODk3ZDI3NDVjMDE1YjgxY2I4ZjI4MzJhZmVmNjJkN2NmMGJmMzc2N2U3Yjc3ZjI5NGFlZDQ) diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/logo.png b/plugin-server/src/cdp/legacy-plugins/currency-normalization/logo.png deleted file mode 100644 index a86e99a4f16f05aafafd3edad8898699d8d22e3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9325 zcmbt)1yqz>*XS?;(wzb_G*UySba!{oz|h0cB_WM80urKtfCv&I-5m;20#eecG)PEz zAAG<2egA*gy=&cd@2vIAGv}PW_u1#{I(wgarlX~dkMjTr1Onl!swn6I@4>qV3lsRR zFsXbEywJS#l;uE`BeXj}1KVB2)C&Y6=)HT;GB^onKp+T6RYBIkKX>m{fWLv_bpO)s z_ni?nUr0(Kx{3-U0hY!h+bbI>yJhPIQ?PMYAfmf3t87P#fp$L~#@zjmor5D>6z@6u zYy=SmTXhgeb+CPm;nlu({Xufjk-Uod`B}x2pS~p_qiM>0PqgV?pU(S~{g@OpLINKf zUaD7c&3QCT`4QeQUMeLUFpM{$6TRDpDhxZaix*6a6#+wMCBp2%(tzMa6KBa#;W7Q6 z0nO(K#)^t7Fe;E09hcShA8)@TCuZOyMX1TD{ln57)l)+y=vn6U7RsQqroq&4KT!oE zIs>!OE#3HSQ*A3H$5DB6l)<^bA-&vGZUksRj9&P{$_&h-Ys*g0@;-YT{CuxS zGo-y2gO%)#cZ8)J=^#p)fB`24mmFGAUwKcf+vp=dkEG_% z<9TM)$vlq>QIdl(RvNvX@ZFG7y69hCxg~@(`UxV9sldGIVb>{tmN)WqW<|;9y`T87 zH{omWgTtwXG0Wx~ge%!9x?L;Sv88+YX*q`8l0mX%X^Y33ZHKu^A_w0YjbZGUiu3qN zB7;T{Y0A9b%E|AIwvF=h|JEJ6Y_R&5I_Ya6n_yn{Sby<^Uu z5*@DnoAKt{X0#w3i%?wXpKA_+^&o&TT}LFcZ|i>Y^3<=F1yehYEw&^d#Z{q|9Z^18 zBFjd>*hpjMjiql=ih)x?t+Z`;T4!3d-x=h-An}D=|4{1Hd<2-snjMA=;F4BfT;NJ- z(b8FPXm{a08%iKBp*oyY42KvYIIW~W3galILoql0em$i0f=Z?99 zV+)+bFUFwm!G4pQXLMj}-BCAd?jtevd3@8O5$H?Z;`jZh%LBl^P^)8??nmXw)N10J z_=Vh?cwaT{DLdU;av=Mxo@`W^=gpp4Ly^6`?ai4bg@DTfK6%)-`Kd|3Z=ZD+97nvR zN2E8lD?8f(OL=S*tOczF;o-`ip*Trzn(C;b1UI-DM=gbQb>vrsH}~^sFCJDLKjtRF zBM&Q=Y>+it1w9r0V-ooUul->3>-$PwQY_H5_lanb!Qw?8nzqhKfdH3KQ8VQyjN`>( zq)LTaTA)eI=GTPaLxVuL+>%GFC7R7F!&I9JN6IL_bi-gR@uL|}CmIVn3*Jf2xEw-B zhCAf?0BADpYeV)e6SO(b&(}%8~jXrDL!|;2~PO6@IrV?;?7iR&w0oDmuu9gFgwd$ zI(Xu^9iA}=)!gLe-7bYD$0c>svuZ1>=j$xiYbZ_u;33bXR=`tIR9?wY3=KD9 zvBIDpNB3kuxF3{G0gZM_3*g$;)xgccfht2~eMd4`*W$~e2#=X2uT_Fm-E#_8<-sm` z?l92P&$`d1pf`%OAJoahCWWWrE7e;CsPQymBneZH?FY!JX;*h+X7a?U2SECb@FmIS z!#GV_5uA?P|!Q9QHF4MeSq0^p<6j_x7QIa2Ypkd$Q_u zW=mt|H`R>3_%LT$@?PHb3}`QB_`DpxH3&MXY!mf;el3Ky3N9W0wz{2YTl6KT_ajVQ z0h&OxLab%UY;70fblg%HL)e$XD{lU-X!dd^bFjr!VUpD&EGQ%RX{~CS2@xN?$8GiV z1oCZ?r-po-%+&7%js-7ON_mmS1K+1G4k`nwPi{r&rj2UvvA`T@yk}Zn2!GV!_qvjh zt0cBlC?AJ1J54a(xwh(jWfnStZYJ8V;cwN%H@^p^B7Sqhk;p``uO-Xh4XZl8^kwH8 zPo(+PVC98)#b!yq0bfcb=i17d5FK%4csRs-iEO}fq2sZevQSp?c?+SD$0X<+!4DO= zO8MFHhc& z0)%2)JsPlIi$0$#7W+wADw0Sys`@V5f|Cb?5cjLocTu@Sm%4V)!NjE z&2%bT>H6zOu4FSJ8%rM=>e=AQKhLUY>jNa#(vYa00ezEdaX2{OJoAevON29ROiAd# zUNI1cCz?8Y=t5pAaK#bUx?DGx+>!j-7hs^fLLuibYVXdbN0*5EMp&>j1pyh+$|>k9_hRsG?7>JsI#E8 zCyP!v?du7kjqk9TOSjQ=!@PGrsnumy_@Cfm?Z)JX1P3J0#;MvW+fK}k`+E)DcjPVL zUz-~K8IB=mml{&P{uo;ze1$1RJ|HF_N;XL9Fi7t4gawzjth_)IQtRnHk1=4s*C%@& zJ-VgqH~UTM#^}k~3J}lT!%4cJlXtb6W<|yxP~Bc3Y(2b-i%<8>S}deqKlHzKa;p(> zip5&jGsVFccn<%}C|<$w>ZC?cd%DUf&X_D>x@)zlx^QJbWB2?Wlp?75-zT~pOeS%uCs0C(Y| z5Jp#vNw$zF^ECvV_uG>7hYpfId;s^r*g%glQS^&b zy^uw3Uz$^o;Vx*-q9A<`Y{bQq`O^&@yQrzoRG6|*T!md@_1g6c`_in;{3Bdfu9P^H zrFirn7(-5iuUde_zmgO1S%YgzJ1k} z4;=PU%aa~+jt_S7w3}L*ZBA%H73r-}bCp?`9(X@7oy_j~urhte3K))`LX@N8JkL z+KY}8IYj~nz8qXMXN;?Cd#f2%+7S|(ziKUcpP*y+n!TXpKG+I!;(x)~7I{+qmeQn! z67bBfR5cW%x*SAZ80MTbb39p+;plK%q*TY#<7k|6?GPIEv==XH@fXMeX9S=9z|y;$ zs^B#A=Q;6O12B0x^Ur0agdk0{`r_+*qjctx(2woRB!PXG1E2MnE$h5(+)D^OwZNCsng5!KrWDAUp0&bOn5YDLlX^N3G1pZT*{ zq&fCXVp+&!!PRvyTE8^EOBXR%281#!T~BmS;;O7D&r)?RQ6Ih`2aP&4HsHpW1$%s0 z`IbIzF(&Nf(aKAFlFZ$^Uz;58h22xk$9RT)*%h_;EZkGZJr=Rk5qWSzV0&8~#Xjcl zB3JrRANEGUa3gVishA!~$p!A>(?iwK|8QPUJ7K~E0=$*Pjriijnk0RF?VPAJ@k9M9 zT{>$#)Uj_BmgL+s6)tvab~}39^j#rp|QqZI#Q8MF>Cw~?L($j)S?#BuISvA-A8#CugxDgY5G#4M#2 z>bT90XcLl)u;g=;xzhH3N3-yqYbz)rR_5U$^+?kZiPQ4X%57|TD8t6 zn_g!V74}hRD&9Jd;L3Wb((k&wN7MPb=fdnLSbM7^__~dZO8PS;snQjE479)Za~+2` z?BZPz(JDoF?i?-2roVoEQ&+$@d*JY%%c;3(`P~vx(yf+M@p>p=@=z#Sn6uX4qBDgu zeDfumOxol9AY-GSN559ULBWln_C+;~Cyn$Eg9quIGXmbS5UUR){*-u~{%G;=mEwhO zS1@qO0c^Lgsng=);EH{GKY4Rnwd2JBnc!CRXC>NmJ+sOlY3WbhYbVKT-w7w&B{M@Z z$lHm2>Y4y~#jNscMp&H4VvNyNely#cM%M z$0(^WfPCyB*4B5e2aX5(r+}FSbT}l`Q_u)n(c$#eshHGdAJF9zxFRcf*UoSFQ1)1~ z8OH=|u{i6_2o5Xh6V^vwt%ts+-B+ab$IjolFgdk5WNUxPsy7jOI}E(pOWHt|oOyb6 zKEI6M3rQzL8aGF7f7316B0_IMe=hhb8*n7MZ)?-0Wq~x0&!bjoR^HDIul7&yBqMM< zo2pARX%oXhxv6y_6R$tdfFm)$AZ>yi`8j5XBuds*okc=}ex9*~tsxD|f6~!=zzDUL^Vy3z9ku(*4 zj6=TR*BZBb&Oh)>YBu=Kg42}eGnQn$@h7@2Cvd}E)^HGSLb+b3={PYL@ID(J9*5(8 zpXGDp!6J4W8qOA-CJcQ7!`gM-L8-(t5UiRAFBw7uxo8 zeZmf|nvBHf5M-8&oOae`JmY$nBID57AdWdgRuiiTq&T}Bx8!Gt5QY~4i|Ebh*Jd4` zhpMj#i|R|!Fmk{^PNkFoi1(3V9~F1Q_W}tiY9#(C)Z`QS93!zI1oYvsq>p{-#WS%; zRUndKd1H5CEm1wDICU%;)sVcnKi-c*>J+RD3fAsqi8e>PRZ+0UsPJDltd8M*)}lRL z{I=p#W$>oW>av1X2%S;+6-FZF&O9=fCk03nt^)?a)iHeZX08S5Ig!)zk}fpH?9{Uj z)gklbp9V7Q=#gs62MFVa7nn$-k>f=G*z7Y`6>~CK?qlm{$*bZvJ%(AO6ZLVZnZmgV z0~P=M!s0AL8shGbj?Z18B=IaX+WcXnbK>y5?FKttk{C?xsn?FJz4p2!u2;t5ZWQWY zCDkVi)vPlJrxOB6eWxYgiz~hCLiN;h5y=jvTYi31$y;kyK6Kz1{3lc z@cYq;-IG}Z&sNI zT0M(q@S#GAfIz^ECVaM>9scKiS^e z)t)DZQ%x|288u7NPN{MG{y|`G_U)&+4i`QmR24S54+I}6(w#RMT@T=c8%DYz= zYflI6sw&gsl!BD#`oCl=CgJlnoJ6~s(AlhwhPD)QwG!5@P;IipvbU*?ma|wz5heE} zpM6eyp7PHN0HHTX|sO+H@*~gYF&u zoMf(MfV8kO4o&P-l0xBH*EG9fIJZ7hv(L>F3w#tf?z}z22fX&147sulUTM0f7 zkW8Bv3k|Se=gKIO8ibL6ii1Ukh9Z#rjil$w+u~j#r78iRy)trJQi|C1d?op!4@E|% zmwgZCK21=A17kYQ%9hSYt0FIk2`?;0$(ZHKcYUIUK{%NlJWLh*mJ>w7OQq1Ve)6kF1$0Nz=+hE#e7|uPH`8 z_!vGSI(pV}cC=B6;NVwRjJ-lwsjuaU_K67`p0KsvB)_~E*8IFQ_{Vx3-H0e6}>&bR^pY5O{zl|J0Ni+#t4U_Zv<|lzEqM+r^bWE8Sx(N4P5CA=(478Pkp%@o7%_RWOFgVhPTg}_##I9t~5UQNp1E8yM2Tj<1h|$ zJRTZu$B!r=KRfI0UVO+xRNa_s#T{o!-+%*u7OkCdYc+PYSs%hDSjTv-^lEv}s%CC8 zgR=?4r`FQOTaF-XDL$XNcWg4U+#=)=#OmSx;n67(fB7zZD~o0nKBlxvkOwx2ie?37 zRr!4H&sS^?8hu}rrCIGvW_A7JEo5CV#Z<5&qfEf#JLWp3+#^WgXkL}!T@47h$*@fE z{i#p}HSL(NAZ~pZI%7&4ha{4cim@A=k;t;}5cMcJ2(|?Qmwt<5OIetZ;ffcrl5;p7 z%WIa@SU6gf>zb`c)JfJHijv04{HU|5^1tn`*P7Z}u`ou+9k4bCj+GN!uA}2tqcgsh zp*n?uiDSd$%z2}|KM<)yoHP6@Xd9V1m3|#aO$B>SdMIGHx5UkpZ@ws3!C@r|!}>xY zgjs6W_i20pW1hFcPEqd;3qAtD`<+!R^8g=nj^{egtdA9@-p_@hXJM9PJnaS)Mt>KF zPA0ixR@)8hK|m=v8Hs(I-ylK)FU#oLt<=ia1bX{ifx|{!j(BTxh=7!|KYB$vKjxFG zG8~%Wd;k9876Van2kXP{&4T2mU1DNpzW1GhP>+_O_jHRfveY`DaU2b zv=RYIgCFkTUEJBTL&)ChROzocs#!FQO7i_6N^Rxxda7V)C6g}$6f)Bm=Ye_{`}=Yd zenC_(L6eg7GN90v?%Wz}@c!wC49^F<_=#c@6Y;?}SBD|m^Z7kM71~{BtvO{SfXRMP zh<`3#MH)x{(fePUg7Kg|Mq<5^bF0RB>lB>gZpOYZCp&Q^bw!6`koI_X z)|Ba>pKgKujWL3+fr}^^PlDjd{60!d38M&h`~m$=7)!>+oOM|O`yiv?85}*949=6xKuv#dwdANi|hN02Q4x)!{|3(afuL% z$W}eiw(cf=dq~IaF8ol%l^(td!op_u)M0-ZIM%A|q`K#+`D&f;K5^BGXMt5o_r!&t zD0EJh&)()dF{rn=)?qSW;8*qsfLgv0FHlsn~1B^@^m*2VfIPA(i$ zW1*M&F2k&>#gug5cURB%+QOJh2rE(DXJQn0Xjr@gXl*I~+m@Zf^{eY$V{zYeq?*|l)f=3m2mwl{?N-T^ zuCC(kw59POG1d<0ua?xFoo1Gk{$uvu#3Rx#?abhvyA_D~9+xwh>|0>S@fZDwGo*p8 z3`gyEWK&=J`v;*~&)`MxY=JwG7BR0Q{$n=^h68)z1M_I{U?$+c;X&v-8lPBVJs(9x z-NR5bU%g3t2}yi zY8-3k;2y?6*qQe++omOqFKR7eWpg#b&$uldsD$f~-UpeO-$QZH$AvKFUYwz~N@n=m zUh1e^a@P8X;bGG}eMNK2vlG}u<($D?-%8$7#&=wl`SMIsRhwE6>MGoYO1h7u_AsY zRNfh(tYgaM1sBH6RoT%>zwY*){P|E1BRZS_z_zg5J-Tfs2I?3w^_(AV7F6hi8a>D? zSgca~qG$6W#>6j}61%%FQSFcMWN*Bx9YTfKg@)h6RaB6_4z-8aYwT#xXIS%@hYhYQ zCkq-Gb?R%QGkK;+EH0#nnKf0=%P|tHv`B^F%<$Ol!;jZ5BJZu)mY8C~M+R z&G`%-7?|%Ko@T|x*&u$`U}g~Lv9!NC%+>|r4S^#ZoZKYY4q7_cAWn9YY{o*GyqfOv2uCNCKu?5z zpq7Dcpo^`T9h+S971pha6H!mL8-yWYk6dqvFP?((;l#hq^ zjx7k}@jvk5vUXl~&3`7*M|k{g{L^xE`a6?5%+m{D5a5oGWYa@pFE;`%BFrsl4?}Rn z1nu~^5eNZ(J7FPSgfK7fzX|<=^54lQ!2v2l{6hS~LSlS^d?I2(qW?koJNVz>4NyL| zj(1Cu`VWKu>H7=&7<#w6u1^1K%HPJncIDrk{Ig~M0R9)T{NIbp{l93zot*wE", - "license": "MIT", - "bugs": { - "url": "https://github.com/PostHog/posthog-currency-normalization-plugin/issues" - }, - "homepage": "https://github.com/PostHog/posthog-currency-normalization-plugin#readme", - "scripts": { - "test": "jest" - }, - "devDependencies": { - "jest": "^26.6.3", - "posthog-plugins": "^0.2.2" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock b/plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock deleted file mode 100644 index ddd11c70562ad..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/yarn.lock +++ /dev/null @@ -1,3577 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.12.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" - integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.7" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.9" - "@babel/types" "^7.12.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" - integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== - dependencies: - "@babel/types" "^7.12.5" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@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" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.12.1": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" - integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== - dependencies: - "@babel/types" "^7.12.7" - -"@babel/helper-module-imports@^7.12.1": - 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.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz#7f94ae5e08721a49467346aa04fd22f750033b9c" - integrity sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw== - dependencies: - "@babel/types" "^7.12.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": - 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-replace-supers@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" - integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" - -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - -"@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/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.5" - "@babel/types" "^7.12.5" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056" - integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg== - -"@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.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": - 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.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9": - version "7.12.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f" - integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.7" - "@babel/types" "^7.12.7" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" - integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - 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" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" - integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.12" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" - integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.0.16" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.16.tgz#0bbbf70c7bc4193210dd27e252c51260a37cd6a7" - integrity sha512-S63Dt4CZOkuTmpLGGWtT/mQdVORJOpx6SZWGVaP56dda/0Nx5nEe82K7/LAm8zYr6SfMq+1N2OreIOrHAx656w== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" - integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/node@*": - version "14.14.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" - integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/prettier@^2.0.0": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00" - integrity sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== - -"@types/yargs@^15.0.0": - version "15.0.10" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.10.tgz#0fe3c8173a0d5c3e780b389050140c3f5ea6ea74" - integrity sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ== - dependencies: - "@types/yargs-parser" "*" - -abab@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -ajv@^6.12.3: - 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" - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77" - integrity sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q== - 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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -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" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -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.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0: - 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: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -combined-stream@^1.0.6, 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" - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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.2.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" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3: - 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.1.0, debug@^4.1.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" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -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" - -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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -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== - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - 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-json-stable-stringify@^2.0.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 sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -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" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.2.1.tgz#1fb02ded2036a8ac288d507a65962bd87b97628d" - integrity sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.1: - 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: - 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-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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-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" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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== - -graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -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== - -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" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" - integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== - 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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -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-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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-plain-object@^2.0.3, 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.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - 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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - 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@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -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" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@^4.17.19: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -make-dir@^3.0.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" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz#a7eee2d51da6d0f7ff5094bc7108c911240c1620" - integrity sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -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-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-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== - -parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.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" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -posthog-plugins@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/posthog-plugins/-/posthog-plugins-0.2.2.tgz#84bf2c7c50a3fea7a585187c9febda59ab774dd9" - integrity sha512-AFOKFexaCwKQ7+zjpM7g6Cj/75YF3QMx513xFahCHGAZrqrZuIPyY+xPvg1U4TA0J4P5OfzPz5tQYmPYcuppyw== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -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== - -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: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.18.1, resolve@^1.3.2: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@^3.0.0: - 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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.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== - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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== - -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.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-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" - integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== - -v8-to-istanbul@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz#b4fe00e35649ef7785a9b7fcebcea05f37c332fc" - integrity sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -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, which@^2.0.2: - 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" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.2.3: - version "7.4.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" - integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -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.4.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" diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig b/plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig deleted file mode 100644 index b0b709a63cc2d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 120 - -[*.md] -trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes b/plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes deleted file mode 100644 index dfe0770424b2a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md deleted file mode 100644 index 3fe0f6f335209..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.github/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -## Changes - -... - -## Checklist - -- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml b/plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml deleted file mode 100644 index 6e32f0b5e9065..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.github/workflows/ci.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: CI - -on: - - pull_request - -jobs: - unit-tests: - name: Unit tests - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Set up Node 14 - uses: actions/setup-node@v2 - with: - node-version: 14 - - - name: Install dependencies - run: yarn install --frozen-lockfile - - - name: Run unit tests - run: yarn run test - - code-quality: - name: Code quality - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Set up Node 14 - uses: actions/setup-node@v2 - with: - node-version: 14 - - - name: Install dependencies - run: yarn install --frozen-lockfile - - - name: Lint - run: yarn run lint diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore b/plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore deleted file mode 100644 index abd8ee954280e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.gitignore +++ /dev/null @@ -1,76 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/ - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# environment variables file -.env -.environment - -# next.js build output -.next - -# editors -.vscode -.idea - -# yalc -.yalc -yalc* - -# macOS -.DS_Store - -# output -dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore b/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore deleted file mode 100644 index 1521c8b7652b1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc b/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE b/plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/README.md b/plugin-server/src/cdp/legacy-plugins/downsampling/README.md deleted file mode 100644 index 8ba1e9a914b56..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Downsampling Plugin - -Reduces the number of events going into PostHog - -## Installation - -1. Open PostHog. -1. Head to the Plugins page from the sidebar. -1. Either install Downsampling Plugin from Available plugins, or install from URL using this repository's URL. - -## Questions? - -### [Join our Slack community.](https://join.slack.com/t/posthogusers/shared_invite/enQtOTY0MzU5NjAwMDY3LTc2MWQ0OTZlNjhkODk3ZDI3NDVjMDE1YjgxY2I4ZjI4MzJhZmVmNjJkN2NmMGJmMzc2N2U3Yjc3ZjI5NGFlZDQ) - -We're here to help you with anything PostHog! diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/logo.png b/plugin-server/src/cdp/legacy-plugins/downsampling/logo.png deleted file mode 100644 index 2e83caeea403a618ce8f0989ef413b4c15753ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15343 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 CESk*# diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/package.json b/plugin-server/src/cdp/legacy-plugins/downsampling/package.json deleted file mode 100644 index 96984564a652b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@posthog/downsampling-plugin", - "private": true, - "version": "0.1.0", - "description": "Downsample PostHog events", - "dependencies": { - "@posthog/plugin-scaffold": "^0.5.0" - }, - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc" - }, - "devDependencies": { - "@types/jest": "^26.0.23", - "@typescript-eslint/eslint-plugin": "^4.22.1", - "@typescript-eslint/parser": "^4.22.1", - "eslint": "^7.25.0", - "jest": "^26.6.3", - "prettier": "^2.2.1", - "ts-jest": "^26.5.5", - "typescript": "^4.2.4" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock b/plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock deleted file mode 100644 index 91e43132bba4d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/yarn.lock +++ /dev/null @@ -1,4298 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@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.0.0", "@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.12.13" - -"@babel/compat-data@^7.13.15": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919" - integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== - -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.0.tgz#47299ff3ec8d111b493f1a9d04bf88c04e728d88" - integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.0" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.0" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.14.0": - version "7.14.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.1.tgz#1f99331babd65700183628da186f36f63d615c93" - integrity sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ== - dependencies: - "@babel/types" "^7.14.1" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.13.16": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" - integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== - dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" - semver "^6.3.0" - -"@babel/helper-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-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.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.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz#8fcf78be220156f22633ee204ea81f73f826a8ad" - integrity sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw== - 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.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - -"@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.12.13", "@babel/helper-plugin-utils@^7.8.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-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.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-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-validator-identifier@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== - -"@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/helpers@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== - dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" - integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.0" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.0": - version "7.14.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.1.tgz#1bd644b5db3f5797c4479d89ec1817fe02b84c47" - integrity sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q== - -"@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.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-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-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.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-top-level-await@^7.8.3": - 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.12.13" - -"@babel/template@^7.12.13", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.0.tgz#cea0dc8ae7e2b1dec65f512f39f3483e8cc95aef" - integrity sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.0" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.14.0" - "@babel/types" "^7.14.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.1", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.14.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.1.tgz#095bd12f1c08ab63eff6e8f7745fa7c9cc15a9db" - integrity sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA== - dependencies: - "@babel/helper-validator-identifier" "^7.14.0" - 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== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@maxmind/geoip2-node@^2.3.1": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-2.3.2.tgz#a0aaf8452693491e815021fe16e692959490ba6d" - integrity sha512-a1TSZt3uWe7yrgE2WMdTItK6XuG2Aj125cAXA+JuT2nomv3oqIK8XXg9iJVpzNXAYRV72XO0+zY+3HluOGgF3w== - dependencies: - camelcase-keys "^6.0.1" - ip6addr "^0.2.3" - lodash.set "^4.3.2" - maxmind "^4.2.0" - -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== - dependencies: - "@nodelib/fs.stat" "2.0.4" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== - dependencies: - "@nodelib/fs.scandir" "2.1.4" - fastq "^1.6.0" - -"@posthog/plugin-scaffold@^0.5.0": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.5.1.tgz#7003f2611e38df06ddade5c20cc69c9982a8bfe4" - integrity sha512-N7/L70tluSnV6Y3/8xuEiXldKFM+R/p9sTQU7IOXQFzt+4WxYvP0iboda4xyIK7bMuy0XN4K8JyKen78N6rugw== - dependencies: - "@maxmind/geoip2-node" "^2.3.1" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.14" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" - integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" - integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@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" - -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/node@*": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.2.tgz#51e9c0920d1b45936ea04341aa3e2e58d339fb67" - integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/prettier@^2.0.0": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" - integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.1.tgz#6bcdbaa4548553ab861b4e5f34936ead1349a543" - integrity sha512-kVTAghWDDhsvQ602tHBc6WmQkdaYbkcTwZu+7l24jtJiYvm9l+/y/b2BZANEezxPDiX5MK2ZecE+9BFi/YJryw== - dependencies: - "@typescript-eslint/experimental-utils" "4.22.1" - "@typescript-eslint/scope-manager" "4.22.1" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.1.tgz#3938a5c89b27dc9a39b5de63a62ab1623ab27497" - integrity sha512-svYlHecSMCQGDO2qN1v477ax/IDQwWhc7PRBiwAdAMJE7GXk5stF4Z9R/8wbRkuX/5e9dHqbIWxjeOjckK3wLQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.22.1" - "@typescript-eslint/types" "4.22.1" - "@typescript-eslint/typescript-estree" "4.22.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.1.tgz#a95bda0fd01d994a15fc3e99dc984294f25c19cc" - integrity sha512-l+sUJFInWhuMxA6rtirzjooh8cM/AATAe3amvIkqKFeMzkn85V+eLzb1RyuXkHak4dLfYzOmF6DXPyflJvjQnw== - dependencies: - "@typescript-eslint/scope-manager" "4.22.1" - "@typescript-eslint/types" "4.22.1" - "@typescript-eslint/typescript-estree" "4.22.1" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.1.tgz#5bb357f94f9cd8b94e6be43dd637eb73b8f355b4" - integrity sha512-d5bAiPBiessSmNi8Amq/RuLslvcumxLmyhf1/Xa9IuaoFJ0YtshlJKxhlbY7l2JdEk3wS0EnmnfeJWSvADOe0g== - dependencies: - "@typescript-eslint/types" "4.22.1" - "@typescript-eslint/visitor-keys" "4.22.1" - -"@typescript-eslint/types@4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.1.tgz#bf99c6cec0b4a23d53a61894816927f2adad856a" - integrity sha512-2HTkbkdAeI3OOcWbqA8hWf/7z9c6gkmnWNGz0dKSLYLWywUlkOAQ2XcjhlKLj5xBFDf8FgAOF5aQbnLRvgNbCw== - -"@typescript-eslint/typescript-estree@4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.1.tgz#dca379eead8cdfd4edc04805e83af6d148c164f9" - integrity sha512-p3We0pAPacT+onSGM+sPR+M9CblVqdA9F1JEdIqRVlxK5Qth4ochXQgIyb9daBomyQKAXbygxp1aXQRV0GC79A== - dependencies: - "@typescript-eslint/types" "4.22.1" - "@typescript-eslint/visitor-keys" "4.22.1" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/visitor-keys@4.22.1": - version "4.22.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.1.tgz#6045ae25a11662c671f90b3a403d682dfca0b7a6" - integrity sha512-WPkOrIRm+WCLZxXQHCi+WG8T2MMTUFR70rWjdWYddLT7cEfb2P4a3O/J2U1FBVsSFTocXLCoXWY6MZGejeStvQ== - dependencies: - "@typescript-eslint/types" "4.22.1" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -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-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.1.0: - version "8.2.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" - integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: - 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.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602" - integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -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-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - 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== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.14.5: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" - -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" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^6.0.1: - 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@^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.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001219: - version "1.0.30001223" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001223.tgz#39b49ff0bfb3ee3587000d2f66c47addc6e14443" - integrity sha512-k/RYs6zc/fjbxTjaWZemeSmOjO0JJV+KguOBA3NwPup8uzxM1cMhR2BD9XmO86GuqaqTCO8CgkgH9Rz//vdDiA== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0: - 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: - 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" - -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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -combined-stream@^1.0.6, 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" - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3: - 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.0.1, debug@^4.1.0, debug@^4.1.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" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.723: - version "1.3.727" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz#857e310ca00f0b75da4e1db6ff0e073cc4a91ddf" - integrity sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5: - 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" - -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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-scope@^5.0.0, 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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^7.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" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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.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: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -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== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - 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-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -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" - -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@^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== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -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" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -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: - 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-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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-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" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.0: - 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.1: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -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== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -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== - -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" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip6addr@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" - integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.4.0" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" - integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== - 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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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-plain-object@^2.0.3, 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.0: - 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-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.5.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136" - integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA== - dependencies: - abab "^2.0.5" - acorn "^8.1.0" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "6.0.1" - request "^2.88.2" - request-promise-native "^1.0.9" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.4" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsprim@^1.2.2, jsprim@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -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" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -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" - -make-dir@^3.0.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-error@1.x: - 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.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -maxmind@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.1.tgz#b20103f19e9fc12e4d1618814380d89a00f65770" - integrity sha512-0CxAgwWIwQy4zF1/qCMOeUPleMTYgfnsuIsZ4Otzx6hzON4PCqivPiH6Kz7iWrC++KOGCbSB3nxkJMvDEdWt6g== - dependencies: - mmdb-lib "1.2.0" - tiny-lru "7.0.6" - -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: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.47.0: - version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== - dependencies: - mime-db "1.47.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mmdb-lib@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-1.2.0.tgz#0ecd93f4942f65a2d09be0502fa9126939606727" - integrity sha512-3XYebkStxqCgWJjsmT9FCaE19Yi4Tvs2SBPKhUks3rJJh52oF1AKAd9kei+LTutud3a6RCZ0o2Um96Fn7o3zVA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^1.1.71: - version "1.1.71" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -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-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-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: - 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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -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== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" - integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.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" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -prompts@^2.0.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" - integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -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== - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "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@^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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.18.1: - 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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -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" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -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@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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.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== - -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.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-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -table@^6.0.4: - version "6.6.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e" - integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.flatten "^4.4.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -tiny-lru@7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" - integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -ts-jest@^26.5.5: - 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" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tslib@^1.8.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.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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-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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" - integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== - dependencies: - lodash "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -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, which@^2.0.2: - 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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.4: - version "7.4.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" - integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -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== - -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== - -yargs-parser@20.x: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -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.4.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" diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore deleted file mode 100644 index e82eb841636eb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -node_modules/ -.npm - -# Editors -.vscode -.idea - -# Yalc -.yalc -yalc* - -# macOS -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md deleted file mode 100644 index 828554bcd5143..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Drop Events based on Property plugin - -> **Warning** -> This plugin has been deprecated in favor of the [Filter Out Plugin](https://posthog.com/docs/cdp/filter-out). - -[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) - -This plugin will drop all events if it contains the property key, and optionally whether that property has a specific value - -## Installation - -1. Open PostHog. -1. Go to the Plugins page from the sidebar. -1. Head to the Advanced tab. -1. "Install from GitHub, GitLab or npm" using this repository's URL. - -We're here to help you with anything PostHog! diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/logo.png b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/logo.png deleted file mode 100644 index 7c349dde8a16d61416925c3d1a5248d8bb429013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1359 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Ð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 HX%_Z>17!^3 diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json deleted file mode 100644 index 930b926d4c6ed..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "early-access-features-app", - "version": "1.0.0", - "description": "", - "author": "", - "license": "MIT", - "scripts": { - "start": "app-dev-server" - }, - "dependencies": {}, - "devDependencies": { - "@posthog/app-dev-server": "^1.1.1" - } -} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml deleted file mode 100644 index 094010ca6f916..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.github/workflows/ci.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: CI - -on: - - pull_request - -jobs: - unit-tests: - name: Unit tests - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - - name: Set up Node 16 - uses: actions/setup-node@v4 - with: - node-version: 16 - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Run unit tests - run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore deleted file mode 100644 index a513319e0be18..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.idea -yarn-error.log -dist -.yalc -yalc.lock -test.js -.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc b/plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc deleted file mode 100644 index 2161d46def30e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "none", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE b/plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE deleted file mode 100644 index c6b9b772136f0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 PostHog Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md b/plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md deleted file mode 100644 index e40ec3a0192b6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Property Flattener Plugin - -> [!WARNING] -> This plugin has been deprecated. You can use [HogQL](https://posthog.com/docs/hogql) to access nested properties in PostHog. - -Flatten nested properties in PostHog events to easily access them in filters. - -## Example - -For example, if you're an online retailer, and have `purchase` events with the following property structure: - -```json -{ - "event": "purchase", - "properties": { - "product": { - "name": "AZ12 shoes", - "type": "footwear", - "size": { - "number": 12, - "gender": "M" - } - } - } -} -``` - -This plugin will keep the nested properties unchanged, but also add any nested properties at the first depth, like so: - -```json -{ - "event": "purchase", - "properties": { - "product": { - "name": "AZ12 shoes", - "type": "footwear", - "size": { - "number": 12, - "gender": "M" - } - }, - "product__name": "AZ12 shoes", - "product__type": "footwear", - "product__size__number": 12, - "product__size__gender": "M" - } -} -``` - -As such, you can now filter your purchase events based on `product__size__number` for example. - -The default separator for nested properties is two subsequent underscores (`__`), but you can also change this to: - -* `.` -* `>` -* `/` - -When picking your separator, make sure it will not clash with your property naming patterns. - diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/logo.png b/plugin-server/src/cdp/legacy-plugins/flatten-properties/logo.png deleted file mode 100644 index 147bbacc7bb775c07975f55a8bcdb6f4c9067684..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4163 zcmcInc{r478y{MbEOkChDNE@aEp}t9V;M3MvSdkUhQU~7m>Dx;i^eHY*0Ll^LYpO$ zYz;?|5EF%bj5)}bW@HVM@x7z2&N<)p{qbGjb)7%n<$j*u{d?}`x$oaS^TwaCu@Kp{ ze-{V@60t;>*#pnlyi0H=a4&Ny&jTKO1bYipP0od(6Vjwa#!KEyJ#(Tfk*Elo)bODq|>oSEDm8%cnOkF-Id^W%OYc? zF7pDD%x&?9bWP!inPOp^Uk(qZIh5sg-|i+UsojTUP9!Yvw|U`gP>RY4Q zJIWu%YSSEF>sr*H8!Qg5tgJi(nT5kxBA_SNV?aCk`K1K~FUZTsT>6^~iULc7;&j%j zxFdnHX)()gYU30)%0B#B;dr8`CWtboJEE4J<8OVe>(m4qL+Ip=MB3~>m}Vnt)tY%@ z5N41VqgbRh%MHEjlJZa6JvX()Q?mMGdeiB7T7~uMVI3QAyddIwe}Az|vD&ELe&thA z|16Fbc#$q-bg~jV(~qkV5j!D>)8z~jc+q1g`MMK80%cY^aaXSrL!MLx z!Dpo>6Pw>q4<u(Np{o#D(Q6OWkojFKgFwh#|-H zr0qH+X4aoZBWi0b)|c>8LkYAV0ii&jX1S!2DL1jWkBwj7b@o;k_T=NBrF95XTI zUvTfTO(J@(v}83&V!CHcDccqAKYW9TKxdw|Yh(dT&*(bigA75f^UU-^g9=Ql6pN zo)5CeeVBMJqay7LTeKw`Egn1U5;7i^B7O5XJKofa;F@1RbrUGTj8}5jXnHFaqLy-= zV}nbzds4E7>kl(%a-M6>%t_1(#kVa9?R8aLE}}-|^xmYRGqEj!J|^p9CBYN!S-Ul( zWXlxfg{EZ#bf{0!H{fv#o zTRUbra(A12D}I*@($O_l>usrbIVwF(-uxso)A=}``z>*x=;6C|oK)T`CCR@{KN^+w z90tceOqW%L@Ti^~DQI-ViK$L~Haw9VVYrdbau9pHM4OiAzBInkYcY4PLF6H{a#F5{ zw&V39i&<8aGwkX6ZF~D#K-s-8BYQEy3$7e(2GiCU1o!c5CM~m`*2rHZSoK6z%#Zrc zou%h9XV}WWg|r76=UpB+sQTC}npQJ4_+c}*SGIe(Ab!W++$sLjgb>RTfqlMTB;NLA zKXpm%=(I;e)*~k65KVL|aDu(3?USL*qO~KKu(OX!S3SRe3qE_yxu^&AWT=0M*WyTN zO%)?4>=Cm5#%qdYBn+G=Y6;(g`3C)B+R5uR^*8PwY^7?2eX3dRegV*gKckWFOc8op zvWSy?-b~*tKjTwXy>F;b>-t9M%PR3O_f3mcxm(tTw)JHxd?fVtEph@jZv)NhIJBVw z@mULY$USGbL&lMnm|tOPX~OLnDaosEs7tNR$j;$ph4}FUDQQBMrG+kC*@u@d)!C&@ z{wuH(9E3d@siR0f!Q`~$5;-PSt`h49QqFr$h98Zr({I&F2xXBX4px$emFi-R)Fo}# z7!Uf-zw5w%eh^?G#+r^Cs2RT6y^yffMP8wMHYi6eVOKbc#eiF6sdV$`M!Qa@Xm1~d_1Ro5-+db^9F4s> ztk;iuRQjth(33Y~7kg9TJ^6H_;A(5X=56-4+QdXWs-o(K_Z`phP3z66;=z^9>u}m0 zhEMlY5y4kqm5h4RS8rEecV8ULG@pG_k_(L&lTG3JB@P=S%9B&OP1|Fc;eT6p)v;(xa(uGhdpuyWm7EjY#gs5Ya3;u zyZ%wUUdvf%s2<%HA`D4>G%a)$ay@$|b7l2elY9S;skY6_YX_}Owk<5uxg6O7n=}Pm zT~{5;v5}q3Mh^8>hN6m7qwqws(d7+80CWRPYfO!^Sqjg_EK9TBv!z@g7~aTuFVbr! zo0Z^|-HdgmNy%THm0MHcZ_^|dz6X1Y$PDaGWKeg0Y-O598+sc@dNCTaj|iJ4R;*Do zs&8$F6=YMFuNcWk8%R%*wRVWSUZitwI}}_w6or(b96i0p_)>ihE@HHvgzWcEX?)q^ z8U0k&C#`r+XEiArN`+QNI#<=Ts!ebvb^ZXTZ(i}@9msKHo%qvaPj z_o`xUm3)|DT&n&FJ2aM_K27>uSvWWy>tbs#lEr>L9RAWsf3@X;_Da}7kU!VfQ^GmH%fseoQMN2f;5j5TPh1$y=-wjBPRMF>4{ak0dXvOx%g>IHq z)9!csVwhw--Lbh}0FzEO!PD* zqwLC{!+R|?zp@m@nyI&EWa1pg}c*j$B&{pV!H>FY1;tyu<{O^XK};HpVX#qPM`qAaPPS{N&TeWa{Z)kA#1 zbVpi)T4W^9V?yE=4X!pwCNA5o*Hz75w}y6h`|Bvy1Ub{=n43Ojb@}IW@YbVmRZhQR zwp@=I%nyI*ZX&tO#(YGzlZ&vu;s-x(0%*OtvJ`UEO#;PdcyzFJe6O2pWjd_gBhBNi zYEegm8}{9&=bVoO>{`!>^51*Qog|SJPpk4w1mjf<&z05rKG3hrP7-VI>AOe^*FJl3 zU!;=rN@JR=t|Cq2*N7VbuC8(==W{Y|bkvn{4N||gs?WEU93cmHbh6DVMQs+h z?~`jMMHf1BK`OLs@`iN+l0NQ!{?sU-!^Say?cylckXo{yQKAqYG5ox|2Nf=L)sg?n z(D-IOxS6{lH}fUGNXj#Xn?imJ0`=aEj{&*1%G?8Of1B|oI!nDR zk-Qgs0tDJtjB#`!x>%pq^TGwGAiZ%Yv5Cox#NO?+7AeNvH+V(VO1~y!h8GZ*_)mG0Rb#Supf~atf#64{ba`yRFGRE zp*$BAVAHBdZ-T12iW)C0d3l5Hcs&zu0?+)uhyyxg%lK{uVzyQaM&b!*$FN|uA=n;G zz=h(y&|3^VrynG6JQ_(vd&4x;G}M*VG?dkK4OIVQinqoe4(1f1r8i7VQy1!^h0;)l zs(GQ6wSZS;6iQQ5SsSgcrU6mcRM*l({v`VD@>iOZD1Zf`0nyNg=&Ea}Lv3jR|S@ba`( zjJym16F`PEe`E--^h`pDemFeL6&VnKleb3thvG5v4wyg^8iNOp=1&NqOtymkzXAg4 z_%DU?Gaw2w_)jGR!1T6Kjl(>G!_sX W9#ED^VmlvCmX_u=X62?AsQ(76MKiMi diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json b/plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json deleted file mode 100644 index 22e56f37b9ee9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "property-flattener-plugin", - "version": "0.0.2", - "description": "Flatten event properties to easily access them in filters.", - "main": "index.js", - "repository": { - "type": "git", - "url": "git+https://github.com/PostHog/property-flattener-plugin.git" - }, - "author": "Yakko Majuri", - "license": "MIT", - "bugs": { - "url": "https://github.com/PostHog/property-flattener-plugin/issues" - }, - "homepage": "https://github.com/PostHog/property-flattener-plugin#readme", - "scripts": { - "prepare": "husky install", - "test": "./node_modules/.bin/jest" - }, - "devDependencies": { - "husky": "^7.0.4", - "lint-staged": "^10.5.2", - "prettier": "^2.8.8", - "@posthog/plugin-scaffold": "^1.5.0", - "jest": "^28.1.1" - }, - "lint-staged": { - "*.{js,ts,tsx,json,yml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock b/plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock deleted file mode 100644 index 5d7f647b96614..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/yarn.lock +++ /dev/null @@ -1,2681 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@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" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": - 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.12.13", "@babel/code-frame@^7.22.13", "@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.9": - 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": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.5.tgz#6e23f2acbcb77ad283c5ed141f824fd9f70101c7" - integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.5" - "@babel/parser" "^7.23.5" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" - 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.5", "@babel/generator@^7.7.2": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" - integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== - dependencies: - "@babel/types" "^7.23.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@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.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-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-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": - 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.22.5": - 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-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-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.10.4", "@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== - -"@babel/helper-validator-identifier@^7.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": - 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/helpers@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e" - integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - 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.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.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" - integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== - -"@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.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@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/template@^7.22.15": - 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.3.3": - 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.23.5", "@babel/traverse@^7.7.2": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec" - integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@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.5" - "@babel/types" "^7.23.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - 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" - -"@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" - integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== - 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== - -"@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.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - slash "^3.0.0" - -"@jest/core@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" - integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== - dependencies: - "@jest/console" "^28.1.3" - "@jest/reporters" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.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 "^28.1.3" - jest-config "^28.1.3" - jest-haste-map "^28.1.3" - jest-message-util "^28.1.3" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-resolve-dependencies "^28.1.3" - jest-runner "^28.1.3" - jest-runtime "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" - jest-watcher "^28.1.3" - micromatch "^4.0.4" - pretty-format "^28.1.3" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" - integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== - dependencies: - "@jest/fake-timers" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - jest-mock "^28.1.3" - -"@jest/expect-utils@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" - integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== - dependencies: - jest-get-type "^28.0.2" - -"@jest/expect@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" - integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== - dependencies: - expect "^28.1.3" - jest-snapshot "^28.1.3" - -"@jest/fake-timers@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" - integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== - dependencies: - "@jest/types" "^28.1.3" - "@sinonjs/fake-timers" "^9.1.2" - "@types/node" "*" - jest-message-util "^28.1.3" - jest-mock "^28.1.3" - jest-util "^28.1.3" - -"@jest/globals@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" - integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/expect" "^28.1.3" - "@jest/types" "^28.1.3" - -"@jest/reporters@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" - integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" - "@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 "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - jest-worker "^28.1.3" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - terminal-link "^2.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^28.1.2": - version "28.1.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" - integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== - dependencies: - "@jridgewell/trace-mapping" "^0.3.13" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== - dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" - integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== - dependencies: - "@jest/test-result" "^28.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - slash "^3.0.0" - -"@jest/transform@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" - integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== - dependencies: - "@jest/schemas" "^28.1.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" - -"@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.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/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.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.17", "@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" - -"@maxmind/geoip2-node@^3.4.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" - integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== - dependencies: - camelcase-keys "^7.0.0" - ip6addr "^0.2.5" - maxmind "^4.2.0" - -"@posthog/plugin-scaffold@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.5.0.tgz#7059a47f1a066673ae825f2b8ca856aafbf16eb9" - integrity sha512-OVUhcX9j/js44jwDMiDWxw114jByqbvDbM+bZZG8xmH1xbFuknd86iuzSuvX0agbHVmI46hcgcwr+iY21f3Q+w== - dependencies: - "@maxmind/geoip2-node" "^3.4.0" - -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== - -"@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@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.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" - integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== - dependencies: - "@babel/types" "^7.3.0" - -"@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/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/node@*": - version "14.14.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" - integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.1.5": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@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" "*" - -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" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^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== - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -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== - -babel-jest@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" - integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== - dependencies: - "@jest/transform" "^28.1.3" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^28.1.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.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@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" - integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -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@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" - integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== - dependencies: - babel-plugin-jest-hoist "^28.1.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -braces@^3.0.1, 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" - -browserslist@^4.21.9: - version "4.22.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== - dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" - update-browserslist-db "^1.0.13" - -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" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -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@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - -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-lite@^1.0.30001541: - version "1.0.30001565" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz#a528b253c8a2d95d2b415e11d8b9942acc100c4f" - integrity sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w== - -chalk@^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.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - 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== - -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== - -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: - 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-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@^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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -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== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - 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" - -cross-spawn@^7.0.0, 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" - -debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -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== - -diff-sequences@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== - -electron-to-chromium@^1.4.535: - version "1.4.600" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.600.tgz#10ad8a5edc3f92a9a70b4453157ec2261c6db088" - integrity sha512-KD6CWjf1BnQG+NsXuyiTDDT1eV13sKuYsOUioXkQweYTQIbgHkXPry9K7M+7cKtYHnSUPitVaLrXYB1jTkkYrw== - -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -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== - -end-of-stream@^1.1.0: - 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" - -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" - -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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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@^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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expect@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" - integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== - dependencies: - "@jest/expect-utils" "^28.1.3" - jest-get-type "^28.0.2" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-json-stable-stringify@^2.0.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== - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -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" - -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" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -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== - -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.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-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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^5.0.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== - -glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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== - -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== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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== - -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" - -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== - -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@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - -import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip6addr@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" - integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-core-module@^2.13.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-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-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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -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, istanbul-lib-instrument@^5.1.0: - 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-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - 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" - -jest-changed-files@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" - integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== - dependencies: - execa "^5.0.0" - p-limit "^3.1.0" - -jest-circus@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" - integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/expect" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - is-generator-fn "^2.0.0" - jest-each "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-runtime "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" - p-limit "^3.1.0" - pretty-format "^28.1.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" - integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== - dependencies: - "@jest/core" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" - prompts "^2.0.1" - yargs "^17.3.1" - -jest-config@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" - integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^28.1.3" - "@jest/types" "^28.1.3" - babel-jest "^28.1.3" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^28.1.3" - jest-environment-node "^28.1.3" - jest-get-type "^28.0.2" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-runner "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^28.1.3" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== - dependencies: - chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - -jest-docblock@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" - integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== - dependencies: - detect-newline "^3.0.0" - -jest-each@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" - integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== - dependencies: - "@jest/types" "^28.1.3" - chalk "^4.0.0" - jest-get-type "^28.0.2" - jest-util "^28.1.3" - pretty-format "^28.1.3" - -jest-environment-node@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" - integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/fake-timers" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - jest-mock "^28.1.3" - jest-util "^28.1.3" - -jest-get-type@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== - -jest-haste-map@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" - integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== - dependencies: - "@jest/types" "^28.1.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 "^28.0.2" - jest-util "^28.1.3" - jest-worker "^28.1.3" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" - integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== - dependencies: - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - -jest-matcher-utils@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" - integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== - dependencies: - chalk "^4.0.0" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^28.1.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" - integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== - -jest-resolve-dependencies@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" - integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== - dependencies: - jest-regex-util "^28.0.2" - jest-snapshot "^28.1.3" - -jest-resolve@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" - integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-pnp-resolver "^1.2.2" - jest-util "^28.1.3" - jest-validate "^28.1.3" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" - integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== - dependencies: - "@jest/console" "^28.1.3" - "@jest/environment" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.10.2" - graceful-fs "^4.2.9" - jest-docblock "^28.1.1" - jest-environment-node "^28.1.3" - jest-haste-map "^28.1.3" - jest-leak-detector "^28.1.3" - jest-message-util "^28.1.3" - jest-resolve "^28.1.3" - jest-runtime "^28.1.3" - jest-util "^28.1.3" - jest-watcher "^28.1.3" - jest-worker "^28.1.3" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" - integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/fake-timers" "^28.1.3" - "@jest/globals" "^28.1.3" - "@jest/source-map" "^28.1.2" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-message-util "^28.1.3" - jest-mock "^28.1.3" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" - integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^28.1.3" - graceful-fs "^4.2.9" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - jest-haste-map "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - natural-compare "^1.4.0" - pretty-format "^28.1.3" - semver "^7.3.5" - -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" - integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== - dependencies: - "@jest/types" "^28.1.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^28.0.2" - leven "^3.1.0" - pretty-format "^28.1.3" - -jest-watcher@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== - dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" - string-length "^4.0.1" - -jest-worker@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^28.1.1: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" - integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== - dependencies: - "@jest/core" "^28.1.3" - "@jest/types" "^28.1.3" - import-local "^3.0.2" - jest-cli "^28.1.3" - -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@^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" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - 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@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== - -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== - -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" - -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== - -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== - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@^10.5.2: - version "10.5.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" - integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" - integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.3" - through "^2.3.8" - -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" - -lodash@^4.17.19: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.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" - -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" - -make-dir@^3.0.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" - -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@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -maxmind@^4.2.0: - version "4.3.17" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.17.tgz#077575efe9af699edf099f7d269208db485f15e9" - integrity sha512-6zQG9FpoGG4+ctIoGWzCc2+0TqLuoPIVNCFux0kVjEQQJTxnDbSsxEt0qSVRrmCIToXOgeXVj6QblyX0GLLL4g== - dependencies: - mmdb-lib "2.0.2" - tiny-lru "11.2.5" - -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== - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -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" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -mmdb-lib@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" - integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== - -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== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-releases@^2.0.13: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -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== - -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" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - 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" - -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.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@^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-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-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: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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-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" - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -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-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== - -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.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -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== - -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.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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -prettier@^2.8.8: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -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" - -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== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -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.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== - -resolve@^1.20.0: - 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" - -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" - -rimraf@^3.0.0: - 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" - -rxjs@^6.6.3: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.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== - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver@^6.0.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== - -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.3.5: - 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" - -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@^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== - -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -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@^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== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -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" - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.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" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.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@^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-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== - -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.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-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.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== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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" - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tiny-lru@11.2.5: - version "11.2.5" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.5.tgz#b138b99022aa26c567fa51a8dbf9e3e2959b2b30" - integrity sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw== - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -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" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -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" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.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" - -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" - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^4.0.1: - 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" - -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@^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: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -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@^17.3.1: - 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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore b/plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore deleted file mode 100644 index a513319e0be18..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.idea -yarn-error.log -dist -.yalc -yalc.lock -test.js -.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc b/plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc deleted file mode 100644 index 2161d46def30e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "none", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE b/plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE deleted file mode 100644 index df9c38f57d98c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Yakko Majuri - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/README.md b/plugin-server/src/cdp/legacy-plugins/hubspot/README.md deleted file mode 100644 index 46a0a6b54c1bd..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/README.md +++ /dev/null @@ -1,65 +0,0 @@ -## Hubspot -## Category: Data out -## Status: Official PostHog plugin - -A plugin to send contact data to Hubspot, from PostHog. - -![](readme-assets/hubspot-data.png) - -### What is Hubspot? -Hubspot is a full-featured marketing and CRM platform which includes tools for everything from managing inbound leads to building landing pages. As one of the world’s most popular CRM platforms, Hubspot is an essential PostHog integration for many organizations — and is especially popular with marketing teams. - -### How does Hubspot integrate with PostHog? -This PostHog plugin enables you to send user contact data to Hubspot whenever an ```$identify``` event occurs. That is, whenever PostHog detects the identity of a user, it can forward that identification information to Hubspot. - -Currently, this integration supports sending the following data to Hubspot: - -- Email addresses -- First names -- Last names -- Phone numbers -- Company names -- Company website URLs - -No other information can currently be sent to PostHog using this plugin. If this plugin exists in a [plugin chain](/docs/plugins/build#example-of-a-plugin-chain) where the above information would is filtered out (for example, by using the [Property Filter plugin](/integrations/property-filter)) then filtered information cannot be sent to Hubspot. - -## Use cases -This Hubspot integration is typically useful for keeping customer and lead data up-to-date and for centralizing information about users that interact with your product into Hubspot. - -Once this information is in Hubspot, you can take advantage of Hubspot’s many marketing and CRM capabilities — such as assigning users as leads to a salesperson. - -## How to install the Hubspot integration on PostHog -Plugins and integrations are currently only available for self-hosted deployments of PostHog and are not available for users on PostHog Cloud. - -Want to migrate from PostHog Cloud to a self-hosted deployment? Check out [the Migrator 3000 plugin](/integrations/migrator-3000-(beta))! - -To install this plugin on a self-hosted deployment, simply follow these steps: - -1. Visit 'Project Plugins' under 'Settings' -2. Enable plugins if you haven't already done so -3. Click the 'Repository' tab next to 'Installed' -4. Click 'Install' on this plugin -5. Add your [Hubspot API key](https://developers.hubspot.com/docs/api/overview) at the configuration step -6. Enable the plugin - -## Open source license -All PostHog plugins are open source and released under a permissive MIT license. This means you are free to make further contributions or changes to this plugin, so long as a copy of the license and copyright information is included with the software. - -## Contributors -This is an official PostHog plugin, which is maintained by the core PostHog team. - -The following people have contributed to the development of this plugin: - -- [yakkomajuri](https://github.com/yakkomajuri) -- [marcushyett-ph](https://github.com/marcushyett-ph) -- [mariusandra](https://github.com/mariusandra) -- [oneshot-engineering](https://github.com/oneshot-engineering) -- [pauldambra](https://github.com/pauldambra) -- [kpthatsme](https://github.com/kpthatsme) - -Interested in contributing? Check out [PostHog’s plugin docs](/docs/plugins) to get started. - -## Further reading -- [PostHog plugin documentation](/docs/plugins) -- [Hubspot API documentation](https://developers.hubspot.com/docs/api/overview) -- [Join the PostHog community Slack group](/slack) diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/logo.png b/plugin-server/src/cdp/legacy-plugins/hubspot/logo.png deleted file mode 100644 index ecb0a3804f05c12b5eb3fd0ff25908572cdc7610..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4585 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 diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/package.json b/plugin-server/src/cdp/legacy-plugins/hubspot/package.json deleted file mode 100644 index d99e2c9a3add5..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "hubspot-plugin", - "version": "0.0.3", - "description": "Send contact data to Hubspot on PostHog identify events.", - "main": "index.ts", - "repository": { - "type": "git", - "url": "git+https://github.com/PostHog/hubspot-plugin.git" - }, - "author": "Yakko Majuri", - "license": "MIT", - "bugs": { - "url": "https://github.com/PostHog/hubspot-plugin/issues" - }, - "homepage": "https://github.com/PostHog/hubspot-plugin#readme", - "devDependencies": { - "husky": "^4.3.0", - "lint-staged": "^10.5.2", - "prettier": "^2.2.1" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "*.{js,ts,tsx,json,yml}": "prettier --write" - }, - "dependencies": { - "@posthog/plugin-scaffold": "^1.3.4" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/readme-assets/hubspot-data.png b/plugin-server/src/cdp/legacy-plugins/hubspot/readme-assets/hubspot-data.png deleted file mode 100644 index 33d718e6886b41005786f7a497f2995d8dcff4ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186727 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

66l82JH_Zoa*F>wun&Izf?Fwk& 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%0Aw>#J5Z|y}do_|hNV@`> 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�IIBS_mDNZvFIddyjj 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 `/bla` and stores this in `$pathname` or some other property -- DOES NOT change the `$current_url` property \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json deleted file mode 100644 index 3f92ea7852c55..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "language-url-splitter-app", - "version": "1.0.0", - "scripts": { - "test": "jest" - }, - "devDependencies": { - "esbuild": "^0.15.15", - "esbuild-jest": "^0.5.0", - "jest": "^29.3.1" - }, - "jest": { - "transform": { - "\\.[jt]sx?$": "esbuild-jest" - } - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml deleted file mode 100644 index cf6aa72261336..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/pnpm-lock.yaml +++ /dev/null @@ -1,3462 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - esbuild: ^0.15.15 - esbuild-jest: ^0.5.0 - jest: ^29.3.1 - -devDependencies: - esbuild: 0.15.15 - esbuild-jest: 0.5.0_esbuild@0.15.15 - jest: 29.3.1 - -packages: - - /@ampproject/remapping/2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - - /@babel/compat-data/7.20.1: - resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/core/7.20.2: - resolution: {integrity: sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.4 - '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.2 - '@babel/helper-module-transforms': 7.20.2 - '@babel/helpers': 7.20.1 - '@babel/parser': 7.20.3 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/generator/7.20.4: - resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.2 - '@jridgewell/gen-mapping': 0.3.2 - jsesc: 2.5.2 - dev: true - - /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.2: - resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.20.1 - '@babel/core': 7.20.2 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 - semver: 6.3.0 - dev: true - - /@babel/helper-environment-visitor/7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name/7.19.0: - resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.20.2 - dev: true - - /@babel/helper-hoist-variables/7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@babel/helper-module-imports/7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@babel/helper-module-transforms/7.20.2: - resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-plugin-utils/7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-simple-access/7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@babel/helper-split-export-declaration/7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@babel/helper-string-parser/7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier/7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-option/7.18.6: - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helpers/7.20.1: - resolution: {integrity: sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/highlight/7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/parser/7.20.3: - resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.2: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.2: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.2: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.2: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.2: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.2: - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.2: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.2: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.2: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.2: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.2: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.2: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.2: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.2: - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-modules-commonjs/7.19.6_@babel+core@7.20.2: - resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-module-transforms': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/template/7.18.10: - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 - dev: true - - /@babel/traverse/7.20.1: - resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.4 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types/7.20.2: - resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage/0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@cnakazawa/watch/1.0.4: - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true - dependencies: - exec-sh: 0.3.6 - minimist: 1.2.7 - dev: true - - /@esbuild/android-arm/0.15.15: - resolution: {integrity: sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.15.15: - resolution: {integrity: sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - - /@istanbuljs/schema/0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/console/29.3.1: - resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - chalk: 4.1.2 - jest-message-util: 29.3.1 - jest-util: 29.3.1 - slash: 3.0.0 - dev: true - - /@jest/core/29.3.1: - resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==} - 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 - dependencies: - '@jest/console': 29.3.1 - '@jest/reporters': 29.3.1 - '@jest/test-result': 29.3.1 - '@jest/transform': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.6.1 - exit: 0.1.2 - graceful-fs: 4.2.10 - jest-changed-files: 29.2.0 - jest-config: 29.3.1_@types+node@18.11.9 - jest-haste-map: 29.3.1 - jest-message-util: 29.3.1 - jest-regex-util: 29.2.0 - jest-resolve: 29.3.1 - jest-resolve-dependencies: 29.3.1 - jest-runner: 29.3.1 - jest-runtime: 29.3.1 - jest-snapshot: 29.3.1 - jest-util: 29.3.1 - jest-validate: 29.3.1 - jest-watcher: 29.3.1 - micromatch: 4.0.5 - pretty-format: 29.3.1 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /@jest/environment/29.3.1: - resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - jest-mock: 29.3.1 - dev: true - - /@jest/expect-utils/29.3.1: - resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.2.0 - dev: true - - /@jest/expect/29.3.1: - resolution: {integrity: sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - expect: 29.3.1 - jest-snapshot: 29.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/fake-timers/29.3.1: - resolution: {integrity: sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.11.9 - jest-message-util: 29.3.1 - jest-mock: 29.3.1 - jest-util: 29.3.1 - dev: true - - /@jest/globals/29.3.1: - resolution: {integrity: sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.3.1 - '@jest/expect': 29.3.1 - '@jest/types': 29.3.1 - jest-mock: 29.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/reporters/29.3.1: - resolution: {integrity: sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==} - 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 - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.3.1 - '@jest/test-result': 29.3.1 - '@jest/transform': 29.3.1 - '@jest/types': 29.3.1 - '@jridgewell/trace-mapping': 0.3.17 - '@types/node': 18.11.9 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - jest-message-util: 29.3.1 - jest-util: 29.3.1 - jest-worker: 29.3.1 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/schemas/29.0.0: - resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.24.51 - dev: true - - /@jest/source-map/29.2.0: - resolution: {integrity: sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - callsites: 3.1.0 - graceful-fs: 4.2.10 - dev: true - - /@jest/test-result/29.3.1: - resolution: {integrity: sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.3.1 - '@jest/types': 29.3.1 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-sequencer/29.3.1: - resolution: {integrity: sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.3.1 - graceful-fs: 4.2.10 - jest-haste-map: 29.3.1 - slash: 3.0.0 - dev: true - - /@jest/transform/26.6.2: - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/core': 7.20.2 - '@jest/types': 26.6.2 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.10 - jest-haste-map: 26.6.2 - jest-regex-util: 26.0.0 - jest-util: 26.6.2 - micromatch: 4.0.5 - pirates: 4.0.5 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/transform/29.3.1: - resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.20.2 - '@jest/types': 29.3.1 - '@jridgewell/trace-mapping': 0.3.17 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.10 - jest-haste-map: 29.3.1 - jest-regex-util: 29.2.0 - jest-util: 29.3.1 - micromatch: 4.0.5 - pirates: 4.0.5 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/types/26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.11.9 - '@types/yargs': 15.0.14 - chalk: 4.1.2 - dev: true - - /@jest/types/29.3.1: - resolution: {integrity: sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.0.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.11.9 - '@types/yargs': 17.0.13 - chalk: 4.1.2 - dev: true - - /@jridgewell/gen-mapping/0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - - /@jridgewell/resolve-uri/3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec/1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - - /@jridgewell/trace-mapping/0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@sinclair/typebox/0.24.51: - resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} - dev: true - - /@sinonjs/commons/1.8.5: - resolution: {integrity: sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers/9.1.2: - resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} - dependencies: - '@sinonjs/commons': 1.8.5 - dev: true - - /@types/babel__core/7.1.20: - resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} - dependencies: - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.2 - dev: true - - /@types/babel__generator/7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@types/babel__template/7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 - dev: true - - /@types/babel__traverse/7.18.2: - resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@types/graceful-fs/4.1.5: - resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} - dependencies: - '@types/node': 18.11.9 - dev: true - - /@types/istanbul-lib-coverage/2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true - - /@types/istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - - /@types/istanbul-reports/3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - - /@types/node/18.11.9: - resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} - dev: true - - /@types/prettier/2.7.1: - resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} - dev: true - - /@types/stack-utils/2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - - /@types/yargs-parser/21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - - /@types/yargs/15.0.14: - resolution: {integrity: sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - - /@types/yargs/17.0.13: - resolution: {integrity: sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles/5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /anymatch/2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /arr-diff/4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-flatten/1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-union/3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: true - - /array-unique/0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: true - - /assign-symbols/1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: true - - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /babel-jest/26.6.3_@babel+core@7.20.2: - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/babel__core': 7.1.20 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2_@babel+core@7.20.2 - chalk: 4.1.2 - graceful-fs: 4.2.10 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-jest/29.3.1_@babel+core@7.20.2: - resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.20.2 - '@jest/transform': 29.3.1 - '@types/babel__core': 7.1.20 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.2.0_@babel+core@7.20.2 - chalk: 4.1.2 - graceful-fs: 4.2.10 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-istanbul/6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-jest-hoist/26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.20.2 - '@types/babel__core': 7.1.20 - '@types/babel__traverse': 7.18.2 - dev: true - - /babel-plugin-jest-hoist/29.2.0: - resolution: {integrity: sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.20.2 - '@types/babel__core': 7.1.20 - '@types/babel__traverse': 7.18.2 - dev: true - - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.2: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.2 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.2 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.2 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.2 - dev: true - - /babel-preset-jest/26.6.2_@babel+core@7.20.2: - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.2 - babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 - dev: true - - /babel-preset-jest/29.2.0_@babel+core@7.20.2: - resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.2 - babel-plugin-jest-hoist: 29.2.0 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 - dev: true - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base/0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces/2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browserslist/4.21.4: - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001434 - electron-to-chromium: 1.4.284 - node-releases: 2.0.6 - update-browserslist-db: 1.0.10_browserslist@4.21.4 - dev: true - - /bser/2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - dependencies: - node-int64: 0.4.0 - dev: true - - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - - /cache-base/1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: true - - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /camelcase/6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - - /caniuse-lite/1.0.30001434: - resolution: {integrity: sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==} - dev: true - - /capture-exit/2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} - dependencies: - rsvp: 4.8.5 - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /char-regex/1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true - - /ci-info/2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: true - - /ci-info/3.6.1: - resolution: {integrity: sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==} - engines: {node: '>=8'} - dev: true - - /cjs-module-lexer/1.2.2: - resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - dev: true - - /class-utils/0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - dev: true - - /cliui/8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /co/4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - - /collect-v8-coverage/1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true - - /collection-visit/1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /component-emitter/1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /convert-source-map/1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - - /convert-source-map/2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /copy-descriptor/0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: true - - /cross-spawn/6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: true - - /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /decode-uri-component/0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} - dev: true - - /dedent/0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dev: true - - /deepmerge/4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} - dev: true - - /define-property/0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true - - /define-property/1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - dev: true - - /define-property/2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 - dev: true - - /detect-newline/3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - - /diff-sequences/29.3.1: - resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /electron-to-chromium/1.4.284: - resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} - dev: true - - /emittery/0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true - - /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - - /esbuild-android-64/0.15.15: - resolution: {integrity: sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.15.15: - resolution: {integrity: sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.15.15: - resolution: {integrity: sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.15.15: - resolution: {integrity: sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.15.15: - resolution: {integrity: sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.15.15: - resolution: {integrity: sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-jest/0.5.0_esbuild@0.15.15: - resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} - peerDependencies: - esbuild: '>=0.8.50' - dependencies: - '@babel/core': 7.20.2 - '@babel/plugin-transform-modules-commonjs': 7.19.6_@babel+core@7.20.2 - babel-jest: 26.6.3_@babel+core@7.20.2 - esbuild: 0.15.15 - transitivePeerDependencies: - - supports-color - dev: true - - /esbuild-linux-32/0.15.15: - resolution: {integrity: sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.15.15: - resolution: {integrity: sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.15.15: - resolution: {integrity: sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.15.15: - resolution: {integrity: sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.15.15: - resolution: {integrity: sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.15.15: - resolution: {integrity: sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.15.15: - resolution: {integrity: sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.15.15: - resolution: {integrity: sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.15.15: - resolution: {integrity: sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.15.15: - resolution: {integrity: sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.15.15: - resolution: {integrity: sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32/0.15.15: - resolution: {integrity: sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.15.15: - resolution: {integrity: sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.15.15: - resolution: {integrity: sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild/0.15.15: - resolution: {integrity: sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.15 - '@esbuild/linux-loong64': 0.15.15 - esbuild-android-64: 0.15.15 - esbuild-android-arm64: 0.15.15 - esbuild-darwin-64: 0.15.15 - esbuild-darwin-arm64: 0.15.15 - esbuild-freebsd-64: 0.15.15 - esbuild-freebsd-arm64: 0.15.15 - esbuild-linux-32: 0.15.15 - esbuild-linux-64: 0.15.15 - esbuild-linux-arm: 0.15.15 - esbuild-linux-arm64: 0.15.15 - esbuild-linux-mips64le: 0.15.15 - esbuild-linux-ppc64le: 0.15.15 - esbuild-linux-riscv64: 0.15.15 - esbuild-linux-s390x: 0.15.15 - esbuild-netbsd-64: 0.15.15 - esbuild-openbsd-64: 0.15.15 - esbuild-sunos-64: 0.15.15 - esbuild-windows-32: 0.15.15 - esbuild-windows-64: 0.15.15 - esbuild-windows-arm64: 0.15.15 - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp/1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp/2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /exec-sh/0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} - dev: true - - /execa/1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true - - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /exit/0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true - - /expand-brackets/2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /expect/29.3.1: - resolution: {integrity: sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.3.1 - jest-get-type: 29.2.0 - jest-matcher-utils: 29.3.1 - jest-message-util: 29.3.1 - jest-util: 29.3.1 - dev: true - - /extend-shallow/2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow/3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true - - /extglob/2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fb-watchman/2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - dependencies: - bser: 2.1.1 - dev: true - - /fill-range/4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: true - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /for-in/1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true - - /fragment-cache/0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-package-type/0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true - - /get-stream/4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /get-value/2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: true - - /glob/7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-value/0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value/1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values/0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true - - /has-values/1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /html-escaper/2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /import-local/3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-accessor-descriptor/0.1.6: - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor/1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - - /is-arrayish/0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - - /is-buffer/1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true - - /is-ci/2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 - dev: true - - /is-core-module/2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - dev: true - - /is-data-descriptor/0.1.4: - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-data-descriptor/1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - - /is-descriptor/0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true - - /is-descriptor/1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true - - /is-extendable/0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable/1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-generator-fn/2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - - /is-number/3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-plain-object/2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /is-stream/1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-typedarray/1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true - - /is-windows/1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - - /isarray/1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true - - /isexe/2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /isobject/2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - - /isobject/3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true - - /istanbul-lib-coverage/3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-instrument/5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.20.2 - '@babel/parser': 7.20.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps/4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports/3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - - /jest-changed-files/29.2.0: - resolution: {integrity: sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - execa: 5.1.1 - p-limit: 3.1.0 - dev: true - - /jest-circus/29.3.1: - resolution: {integrity: sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.3.1 - '@jest/expect': 29.3.1 - '@jest/test-result': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - chalk: 4.1.2 - co: 4.6.0 - dedent: 0.7.0 - is-generator-fn: 2.1.0 - jest-each: 29.3.1 - jest-matcher-utils: 29.3.1 - jest-message-util: 29.3.1 - jest-runtime: 29.3.1 - jest-snapshot: 29.3.1 - jest-util: 29.3.1 - p-limit: 3.1.0 - pretty-format: 29.3.1 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-cli/29.3.1: - resolution: {integrity: sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.3.1 - '@jest/test-result': 29.3.1 - '@jest/types': 29.3.1 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 29.3.1 - jest-util: 29.3.1 - jest-validate: 29.3.1 - prompts: 2.4.2 - yargs: 17.6.2 - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node - dev: true - - /jest-config/29.3.1: - resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==} - 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 - dependencies: - '@babel/core': 7.20.2 - '@jest/test-sequencer': 29.3.1 - '@jest/types': 29.3.1 - babel-jest: 29.3.1_@babel+core@7.20.2 - chalk: 4.1.2 - ci-info: 3.6.1 - deepmerge: 4.2.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 29.3.1 - jest-environment-node: 29.3.1 - jest-get-type: 29.2.0 - jest-regex-util: 29.2.0 - jest-resolve: 29.3.1 - jest-runner: 29.3.1 - jest-util: 29.3.1 - jest-validate: 29.3.1 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.3.1 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-config/29.3.1_@types+node@18.11.9: - resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==} - 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 - dependencies: - '@babel/core': 7.20.2 - '@jest/test-sequencer': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - babel-jest: 29.3.1_@babel+core@7.20.2 - chalk: 4.1.2 - ci-info: 3.6.1 - deepmerge: 4.2.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 29.3.1 - jest-environment-node: 29.3.1 - jest-get-type: 29.2.0 - jest-regex-util: 29.2.0 - jest-resolve: 29.3.1 - jest-runner: 29.3.1 - jest-util: 29.3.1 - jest-validate: 29.3.1 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.3.1 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-diff/29.3.1: - resolution: {integrity: sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.3.1 - jest-get-type: 29.2.0 - pretty-format: 29.3.1 - dev: true - - /jest-docblock/29.2.0: - resolution: {integrity: sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each/29.3.1: - resolution: {integrity: sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - chalk: 4.1.2 - jest-get-type: 29.2.0 - jest-util: 29.3.1 - pretty-format: 29.3.1 - dev: true - - /jest-environment-node/29.3.1: - resolution: {integrity: sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.3.1 - '@jest/fake-timers': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - jest-mock: 29.3.1 - jest-util: 29.3.1 - dev: true - - /jest-get-type/29.2.0: - resolution: {integrity: sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-haste-map/26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/graceful-fs': 4.1.5 - '@types/node': 18.11.9 - anymatch: 3.1.2 - fb-watchman: 2.0.2 - graceful-fs: 4.2.10 - jest-regex-util: 26.0.0 - jest-serializer: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - micromatch: 4.0.5 - sane: 4.1.0 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-haste-map/29.3.1: - resolution: {integrity: sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - '@types/graceful-fs': 4.1.5 - '@types/node': 18.11.9 - anymatch: 3.1.2 - fb-watchman: 2.0.2 - graceful-fs: 4.2.10 - jest-regex-util: 29.2.0 - jest-util: 29.3.1 - jest-worker: 29.3.1 - micromatch: 4.0.5 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /jest-leak-detector/29.3.1: - resolution: {integrity: sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.2.0 - pretty-format: 29.3.1 - dev: true - - /jest-matcher-utils/29.3.1: - resolution: {integrity: sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.3.1 - jest-get-type: 29.2.0 - pretty-format: 29.3.1 - dev: true - - /jest-message-util/29.3.1: - resolution: {integrity: sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.18.6 - '@jest/types': 29.3.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - pretty-format: 29.3.1 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - - /jest-mock/29.3.1: - resolution: {integrity: sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - jest-util: 29.3.1 - dev: true - - /jest-pnp-resolver/1.2.3_jest-resolve@29.3.1: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 29.3.1 - dev: true - - /jest-regex-util/26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} - dev: true - - /jest-regex-util/29.2.0: - resolution: {integrity: sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-resolve-dependencies/29.3.1: - resolution: {integrity: sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-regex-util: 29.2.0 - jest-snapshot: 29.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve/29.3.1: - resolution: {integrity: sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.10 - jest-haste-map: 29.3.1 - jest-pnp-resolver: 1.2.3_jest-resolve@29.3.1 - jest-util: 29.3.1 - jest-validate: 29.3.1 - resolve: 1.22.1 - resolve.exports: 1.1.0 - slash: 3.0.0 - dev: true - - /jest-runner/29.3.1: - resolution: {integrity: sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.3.1 - '@jest/environment': 29.3.1 - '@jest/test-result': 29.3.1 - '@jest/transform': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - chalk: 4.1.2 - emittery: 0.13.1 - graceful-fs: 4.2.10 - jest-docblock: 29.2.0 - jest-environment-node: 29.3.1 - jest-haste-map: 29.3.1 - jest-leak-detector: 29.3.1 - jest-message-util: 29.3.1 - jest-resolve: 29.3.1 - jest-runtime: 29.3.1 - jest-util: 29.3.1 - jest-watcher: 29.3.1 - jest-worker: 29.3.1 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-runtime/29.3.1: - resolution: {integrity: sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.3.1 - '@jest/fake-timers': 29.3.1 - '@jest/globals': 29.3.1 - '@jest/source-map': 29.2.0 - '@jest/test-result': 29.3.1 - '@jest/transform': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-haste-map: 29.3.1 - jest-message-util: 29.3.1 - jest-mock: 29.3.1 - jest-regex-util: 29.2.0 - jest-resolve: 29.3.1 - jest-snapshot: 29.3.1 - jest-util: 29.3.1 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-serializer/26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/node': 18.11.9 - graceful-fs: 4.2.10 - dev: true - - /jest-snapshot/29.3.1: - resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.20.2 - '@babel/generator': 7.20.4 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.2 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 - '@jest/expect-utils': 29.3.1 - '@jest/transform': 29.3.1 - '@jest/types': 29.3.1 - '@types/babel__traverse': 7.18.2 - '@types/prettier': 2.7.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 - chalk: 4.1.2 - expect: 29.3.1 - graceful-fs: 4.2.10 - jest-diff: 29.3.1 - jest-get-type: 29.2.0 - jest-haste-map: 29.3.1 - jest-matcher-utils: 29.3.1 - jest-message-util: 29.3.1 - jest-util: 29.3.1 - natural-compare: 1.4.0 - pretty-format: 29.3.1 - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-util/26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 18.11.9 - chalk: 4.1.2 - graceful-fs: 4.2.10 - is-ci: 2.0.0 - micromatch: 4.0.5 - dev: true - - /jest-util/29.3.1: - resolution: {integrity: sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - chalk: 4.1.2 - ci-info: 3.6.1 - graceful-fs: 4.2.10 - picomatch: 2.3.1 - dev: true - - /jest-validate/29.3.1: - resolution: {integrity: sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.2.0 - leven: 3.1.0 - pretty-format: 29.3.1 - dev: true - - /jest-watcher/29.3.1: - resolution: {integrity: sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.3.1 - string-length: 4.0.2 - dev: true - - /jest-worker/26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 18.11.9 - merge-stream: 2.0.0 - supports-color: 7.2.0 - dev: true - - /jest-worker/29.3.1: - resolution: {integrity: sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@types/node': 18.11.9 - jest-util: 29.3.1 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - - /jest/29.3.1: - resolution: {integrity: sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.3.1 - '@jest/types': 29.3.1 - import-local: 3.1.0 - jest-cli: 29.3.1 - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node - dev: true - - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - - /json5/2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /kind-of/3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true - - /kind-of/6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true - - /kleur/3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - - /leven/3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true - - /lines-and-columns/1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /makeerror/1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - dependencies: - tmpl: 1.0.5 - dev: true - - /map-cache/0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true - - /map-visit/1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /micromatch/3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /micromatch/4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist/1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} - dev: true - - /mixin-deep/1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true - - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /nanomatch/1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /natural-compare/1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /nice-try/1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true - - /node-int64/0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true - - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} - dev: true - - /normalize-path/2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /npm-run-path/2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /object-copy/0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - - /object-visit/1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /object.pick/1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /p-finally/1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.18.6 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - - /pascalcase/0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key/2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pirates/4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} - engines: {node: '>= 6'} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /posix-character-classes/0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - dev: true - - /pretty-format/29.3.1: - resolution: {integrity: sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.0.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /prompts/2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: true - - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /react-is/18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /regex-not/1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true - - /remove-trailing-separator/1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true - - /repeat-element/1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string/1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - - /require-directory/2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /resolve-cwd/3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - - /resolve-url/0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true - - /resolve.exports/1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} - engines: {node: '>=10'} - dev: true - - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret/0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - - /rsvp/4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} - dev: true - - /safe-regex/1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - dependencies: - ret: 0.1.15 - dev: true - - /sane/4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true - dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.6 - execa: 1.0.0 - fb-watchman: 2.0.2 - micromatch: 3.1.10 - minimist: 1.2.7 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - dev: true - - /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true - - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true - - /semver/7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /set-value/2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - - /shebang-command/1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 - dev: true - - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex/1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true - - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /signal-exit/3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /sisteransi/1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true - - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /snapdragon-node/2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true - - /snapdragon-util/3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /snapdragon/0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /source-map-resolve/0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true - - /source-map-support/0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map-url/0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true - - /source-map/0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /split-string/3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true - - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stack-utils/2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - - /static-extend/0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true - - /string-length/4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - - /string-width/4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /strip-ansi/6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - - /strip-eof/1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - dev: true - - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /test-exclude/6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /tmpl/1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true - - /to-fast-properties/2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /to-object-path/0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /to-regex-range/2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /to-regex/3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - - /typedarray-to-buffer/3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - dev: true - - /union-value/1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true - - /unset-value/1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - - /update-browserslist-db/1.0.10_browserslist@4.21.4: - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.4 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - - /urix/0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - - /use/3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - - /v8-to-istanbul/9.0.1: - resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 - dev: true - - /walker/1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - dependencies: - makeerror: 1.0.12 - dev: true - - /which/1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /write-file-atomic/3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - dev: true - - /write-file-atomic/4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true - - /y18n/5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yargs-parser/21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs/17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} - engines: {node: '>=12'} - 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.8 - yargs-parser: 21.1.1 - dev: true - - /yocto-queue/0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore deleted file mode 100644 index 48fdf33f726ce..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.idea -node_modules - diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc deleted file mode 100644 index 11d8d0021d487..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120, -} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md deleted file mode 100644 index b0ac3cc3903bb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# The Official PostHog Notification Bar App - -## Installation - -1. Make sure you have enabled `opt_in_site_apps: true` in your posthog-js config. -2. Install this app from PostHog's app repository. -3. Enable and configure the app for your site. - -## Demo -![2022-10-14 13 28 39](https://user-images.githubusercontent.com/53387/195836509-a403817c-35f1-475c-a782-a6343511c361.gif) - -## Local development - -If you wish to make this a juicier example app, then clone the repo and run the following: - -```bash -npx @posthog/app-dev-server -``` - -or - -```bash -pnpm install -pnpm start -``` - -Then browse to [http://localhost:3040/](http://localhost:3040/), open `site.ts` in an editor, and hack away. diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/logo.png b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/logo.png deleted file mode 100644 index 594dc34d1fe096482faba4d2ec58616cdeffe8a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337791 zcmXtx(QF@F#*hu`)+L zZ#pbg85^f3XD&VsLyRN&9BkSI36)Qpcz&KdGm`FmXr$hXFZ>3aV6iB58u0}FCMOen zJT1J8qhlMSYfe?c{bKMX+oSi>tU!J14f0_3+w~^ygF_gp=aR&=369WdO<%&>fD@j> z`Mx*jw1W;!F$jAWjm{cfC3h)PIR|xP>^tM%iPdE0(Q~K-q4Uq7_!C5C0f~^ltY4>I{;QA{P7l>tuCsW%qi<$KgKlsvo~3~@3lfY z9lEMXz~fa~;GxqZkfZCs{qkjcS9QHzxU>CK)#P{vqhg}rxuyC=doqaQPW|Gm7-5HP8Q+UxO#7ZHQJ7>tX~+_ID!2S z4{+7kygI}hH0s`KomU`~*%WsCIXP3A^VoB^FTSK{yBWme1uSlF5SqG!Gu(XX#7 zpDkzd>)~dQi8b@Cv(EMjd-d%Pmx<|690qPK1YbR6s)R>x#W`}r>J781TW?Q^k5;4q zp5o{Ml$=B-ZvI-N$nmM^MPGv`#S5^G>kg8osadXu-d5Oqu-&+l1eV<+h=foF7|4;@6VohI;`o0^y1lzCUlAu{4u@T=Yf4` z3X8;NaD^v}DvljDwfLf4q!E0nKCXRw&n_Cr2Sp0F8w??{`f&NdO;uA-1!wx;WR78a zIiE1M_3dsu z$vDrEILQJEwr%4X_O9Y4l`a8cW!1mQHl&a)3I!wqNOoV{-ivQ`rURb3tTf_fc@>?g zIbA6^ZWm~FOIiLtJ03=UasHP!VdA%6Z1OZs?pqUdU5kze4%%QQt7>$JTp+k#@Cwx2 z665n+GLwV)7$S2Y>^2LuQHNi)EEm3H9<=Sxmw2AtU0M-rm?K{Qop-H7OF#qNniqpD zWGM2!4-%?2>CEu(d>S{^Ux=X@pzpg8p&h5czdKsA3w5yNHE`#EP*cFYm|hI#r}XNF zfkLNSq><$tB%^{;J|*EafCrCKI>TUB%zAEF22qe`Y>qS9I4y_Z_0qZQMHB?X?@dLH zY?Ms+4d3cZhs2j}xD<13ad!haa zVa$PTOJPE>)k>Ak9FI}!X607~9|0c?tKz}${V0`c`Wz~psiW{i&whJ)3S#`xhFcf% zG{2h+t_lD^*QYj_5{3XFil1NyKU$vrCuUi@ls`)isDi2j9f6@p z@zTilnsSnqhCP&r?eU$3Qog$wR#3BHT1e*v5vdTQx-H~Ev*+KUrVa^Ow5do9!4U6) zB68udYprq`Fc%a(GRK9rfFSU&$PdUkt=PgSpRX>aohFVQ(?uP<9;grYZ-{woK9Z@C{kju6a$hL=O~XU?On$!JcY ziI|(&)!Y45>8|%E?KvlluH2&fu>MhPCB&gAUK~Hfa5FRr2+Y*hwBN#?Z^Q;{v?36+ zzktKP=4ZEaHbV5@YxNe$H&q1Wi@3$~$~sMk>S2cXH08akSAx z4fPi;K|-tVGF>GGxei(i%0MH9G|;B9bj-q~Q_Kj1aN30vtZi0McZYFI7MXM2m7CHM zdIYt!^W39HxETV+^AojpFBNumzST)mF2~>m=)CB?A zbXulQq4IyE6&CMtk~#Wlr9O)XCsKrOnb-C@G$#VqIy~YEUR);ks?5~hEyW<4_Z}H&YJo2Vd$B!)FJA( z^Is>EotWnchMUui#GLSjs|mBbq+Qi6<9L!imR#|UBr}z%H%61Dq(|O^r-RB$n=>iL{Wxnu7CNtJ^+)4P9*7?TrD0~;z$8Cg;48J*WuI7*Vqn1KVMhk(zts}4 z^KzJX5A#S;PdL+$^K!>2s2M3SK3v4O>&33ST;I@NUtrZwPLyapB=K)yt)YoA`wi@) zW$)BHl9QP;0o&m%DGs5eb;~ixGn;e7&6jR?(4vOLVG~2L2a|mvKfJ&Rl~LJwA=x*^ zR$mgMNMFN};dktUU(oj^#{FA%5wTo*F&#ek4AANhs;y zCddhNIUJ00K!P*gto8$jJgvnDXP=O2b0s}?7z%P#y?lNWP%A@5=iR4Lj~4&l z`rM0Qd)CQAvM!}=V|L3N04B3Z0NGE=2MQz!s%wVlMaPv%d-^f#uTVI6q zL@W5dyH9?17+MPQa+Zj6^fbsC>i>+e&yG1qHL{~Hy81nD)55K;Nkx_0nI{9k`Fp=W zbi^)_-_0MlHsr`UURet>PJ#lc?187*>_XUG-d?`HKyVwt72)tqKzTjt; zJ=KrOmFSprKMyCo?yv=lCk%->KHoJk%k@>3nBYI0#r^NJd${a=2~CvA%XZ@#hOcfN~E@`;tj2_d-S8ooT$a5Eb*Qukp;pm zk4r>KWXXb1c8@Qs&~_Wj&@| zYTdF{Q8I^Z(o8dM;cEa2bjJ|1EdABdkK+wF3tK4_>qF*)<3caJt_uz@pChNJPb~BJ z(F_&?;Pom?IEkO!<~Z7s{g1gy;F)bWsAwJ@zocaEIb?nw^`r8~;|&zYW{GgC za<@@^=d*gmwI3YxqvfX!PC&+`f38)##3UL$ttRWgF2)Jt02b`RPGZ%-oszc@e~mzv z4KGe*QNZf)=F3{bd;R-v-{-*BcbT^)YlmD4ydlG^8J8l)O#_ z*w*w3WgUrmaA)qja)ZX_sbzN=DB%{;th0pg_zS}_f9-?j8abwfeJ_5TG&?2l(fBNA ze!;ybWA)y-!vu=;Lq#2xPX5ERLgZM*(bzH9c2a*#0Vqx@?8HhTMWt*ZA(fizQI5J+ zpiYZ8Nk(&tEck`j(Yhqvp8y>}Q7f_i9AXJjui8EC>sI1T&%1XL4_*|#DK~su zsb&}IQgOZF|Mrf+IK9*a4!mIe?tZf`N}23!G(#+*ud@5f%l69INqiXhRX^p=7I27$ zB2fnOyp_LY;_eED^<1;_iGv%DXWg1JyWYqc6jw5hm>)LefM;lISz&0^11R^x=rCnpZUUU zJ(E$2PK1Gg!4`_q{LYxThUFjTk`t8lPbBLd zeZH&Hl{zVM&4io&(bJcey4I7{ZvVP3IG(OGSxo|x^e8cBLV|ZzuzxHgQx5MmN&&>( zv;?R#|K-oXY-)2?`~R5IjwSaaU1wM8yra4gdV?Kv5*?Tx3Zk8*%ayVw9JgarUk?c3 z)|EC+Br~@DQ__DvWe@DweOU~|Gh*9uW7Zh=tq0S)vLpN~`r)r6C|1zv+kbH(bL>YB z;luT7&Y=(zmMnq?s>{xo=oy3P3%c{pS@PEoN>u}eBxnf^{>;QWx{NG$`gM5EUmtE$ z-ww`<#e)l*IX3(b3iuzvCT%35|42>V5KGSAW;VT^j5e?4UpL<(-}|p~5kC-t=123i zeek|fKoQmOUTJKr+Lr*srqGTFM+06k?UrytnUoP;8g~Ku24kL*wX~1?IXBfj_Gsp)z zI`-NIwAaY=Q73J`0Vthc>njVNjXy(csO#X`iptO-59(eS=4tg#EdcbnbjM9eXPFN! z_JRkN8PMX0nK?<_F4pKMXd@}$lpD>K49yllR~dVUsI#hRY)@PA93z+A(jg?3n&v8>ee-cew$0t)OgD4z znL%%2Qo`qm^7yJ_=dR*0MUd7`06xt#$*}n$2P;(0uzP4T>;?_ocFmy7k>4RB99gJ^ z4Z`V`ynA#a#a9?43XFfx0=`SML91j#1lKEJWDa1B#u{_O&fGnfT?{HqEaM0z@ zXiCwqnK{yvFYv<%cBGG|7))59F7!^n|8@VFXJX@;Gq}>?B*%a7kIf;$rd>RWO^~+i z)J=+vuR60i32_0{bl!7*)yq3e#UNRgL-%$+Pq~{WEbOyW%Jm~2hHyj?EUg7ZZC{B# z4l9pjCd`_wS#%n5ER!#71bx4~?vD7DYQsn2uHXPO`)YS8^6DGi8DL*8yYm}QXXz|D zvipuI-%c%*e_Ab#YcMhrC2WA_OBTyk2I{DXjO#V3@CO{iv{f*UXIG9BH_iAQF+iPh z8?jrrw@gQlSX@hcVV->v@>8lcgztzYx8-1dnwxa@$qTu#%Mg+Ad`+zTOC z1F|jxM&n~;C+x^?V+bQn`Sf}R{<*peHLt^;bo$K~Yvp#ejESE>X2z>iao(-aX=uJ0 z;oH7{_(Zlmt^D#p1Z>40MS|!_H%AfP&KG``^?tg=HUB+bRp_*UlD)fg3bTlMxJ$hD zQq;`V=8`$3Wlz3N&EUGX!DFQ=8aa!s<7Lu2kK1Hd`cE{$z$lSkqN!Px9{n;nv8I_X zZqjavbw?nLu_n+P-wEb%1A6xn6Nl#7Ai?Y@$JYg#(iAq_eByE_fGBdZBdLKT>5usD zv@O(ED_nenZNa~heq$<*6b%Jc-~LqzlXq|%&W5O}@Cj!+@MqBQ!^nUcaAyoM7sI@- zSB5vMllM+~#9po6{_ts?2W{$@1nw?&Ee5`CK1;lb{QqVd{e8BZ`u##k%GE zZApx+0hC6DXm+ z$4o973!U%KT%m2?*!^}32kj#eR~%+mPXW{4w0)`<5{a_`|aJ4xH#l}kY;0uJPJX=AS{vNjLtP1+& zs!Vyy*rTKk>W-3g2LO72ll)H@hCg*E7AOkdGwLCP2q|io0|eWM;lYlF>KfBd3-)Q{ zy4d(|8b>Zjv7aj@RUm%RN3m9`Q%=o$tyZor2|9$V^j3V1g$)G;*|SEXmb%qQA;0uS z^JU@W48F{*#*a4*p{4E|{;+d;bO#-g&0mGi7e*Qe9oyQss`|JlLwqv!L;voi%%N7O zoSQEwI>Rpe=YEiM+qMvH$df|Ie1e8ZtiaptYY z9}W?A4OEkI*Jy>hP<^7@(N<6c10YwBPVdwhKQ=B_MexvKRKEu814WBh)BYNLmE9!q zNR9#5xP8&Z27CIy{Mp#9^VTvFJI=PQn2<6#iL4t!m^B%&*38a7#!PRekM zuypiK=aIi2nHZ2HW(?#wSa-cn5fpX!Y_`qIO~5>02aHb<5DWXU2Wkk02DWmbJ_tZW z30OdM2Tg0)#hwr*l+ZJ{NDWza=98oq0r5m&AO;I*Iw;DdVfq1=iBB&i&Lo@sX0EO= z%JY=p#Y-4&eZQYBXdNV&6YpQ0hVB+JghLl&wLxY*NHN5VW1U2z#uS@k+>YxbNknc@ zVh=96GRJvAptl#%zgN(=SByE8QAVG*qAv;X0fGeFsmE6+`>5A;e0q+46X)x4xLj4; zkIB7gUf&)a5CS?Da4!2@elKA+dlg+-qDrZgIbOPUdN55K#?80(6P-a&DO`eV`KG)yqWo>>vq2CA&0H6E{ z3vMQ-7HNz7BCyb+YpmOOL;T|@ddjH~1Zb2*{xgUjj$~iOT6ncx#uFgMF48tJJ$|AD z-t~?k>cd#1SM-G?_dAO<@zHg=_D)!KAKBg}LoB9U1mO)#im<=*cA^$aN3}VC1|JsJ zv+zuw2E%sjM9+N#4_-~4_tD?S$bB}ioL<(04j-!tg-(%rK8W+_{cG#qtI7SpgV@H+ ze*q7fz|??B&@k5oS`;~v^aWIZZ3~3D7)IFB#+>5(_>&z9hut0CEc&6=ZrG6Dl)ifW z?%G?+DXsTmA%K!w`y7n-lMLXv*ObiS@}^zhO@IM4+=Q z{q!tM$+irkSR4pM!ef9*8$|`CVrIoe^mo}}z+|~mX!zoPK?#*tQy7R9vbvzGv3<6Y zRh&VIiEX^kKLR$Gb7smd22cqn_3(!!Mq>cxeR1ob>SDh_4etNi_+f5pCR`~bq-92D0$(vp<f4UPu;1g;yd_ls$7{SfvevfR-re{-%N zTk`!rmH$ZY^WW<0pcnM6`+t1zkZSU`zvwRkZ{_Mtv7d;I?7{L&B5UW|QFy}qZj)Mq{ zx}~`D3#qZ$)wuu#Se6Z|FysxLlem9@qw8GHS-j=;73hmP{}>V+m!qr8U;F=ql*CI`o*@g-_@+ca++7K#5bLV zb2;>O)x0-G#KWJxBUt}2QvAkA$6bP$VzLux*wtpzOt>#q6&SFl8@IFbHe1?w8wWXQ+(~&O;@oN_HFpFX=iSLl~gbuan^?zdmZbs&Z*Fh6U->&!o_X2(czB=4>c|;T9RteZhJ< z-xX%rR+cV&Xn*Tu^oV&s>IA+a(xtZr-9$7C1k#yDX8*^7>V81)Qtdi8%XL1?_Q_4% zem2qxvb*@FtWny(EYWYjK(I1E2ys6&j~!8vbfyP%opTr|*H;k=#!R@6{S8mN3F})~ z+EmW?2I7u_p7M#A0YQE}v^Q=gama^SYZS#sr??9D!cTf<)$3LhoRNa!2RSYpv&{rY zYRkF$r*^Zf&o2_kJ!KrWwjO?6%g8LES@!Nci6T5P&u_s$U<@m5F33xc#a80~g3_=B z*AoWl#=XJ1FF3 zII;__vyz1pl73Q$+uEMQ*UQMP-;9B=Gn!=NcU~Ft&BYtWBbu5kcu99teuL*6RE>D( zDK97bm5ljeC#EX!P^1#jVM;%@P4v4>52T37BT3h7DUmB@QV}QZ6P}d2tu#@yxw4*% zNw<*|!$c`y*eVz~*ftw9M7XBNan9dHMBcOgI-P9se8z(#=R+g1LmvKNj)e~|ae+g} zhp8~zjG9!j#Pauw?DjFh+y`j=$Gms%frt^)eH9fiPL3LsLY%M}bqz0_s_C@g4d-Be zc;cXiVwE5^^m3P6d(x|i-HBf)?c(D*-0f#O`sI&6j^&yF^W}#0Ra@F;tC^(Cj2b-| zu}{GGj0p}~2EU)AIJQ^qTw{FT=#q^`kD$Y(*Euiam*a#t>Y;PE(;8|hq0@_e@@KkZ z^zM_H|dJV6a;pTcRC`vzO%E6i# zUqXOxD;f_QkM>VkWleF4_ZJx2nxIM1zn*ebZqIM%hk2|UFG$>p#pnP-L!$^8Q4SHX ziwq!KZL>N=gb5vgG;(F0B~C~pC)p18Q3O4WP1Uv(U_y|?cXZ$8R6*_MxceXD!}Ydqb<^)mzAF!>JQqo$DcKRYAr zvjnsc4C|810SK#{2%3m925_6ohewgWaqnC#VCP|{qLWWmR{yyMSb;R?ywMi~JMO2K z@Up_Tq7a0UUEcjsqN7i${XREuJZOWK&6ufiR`P?vj?RMC!kaM?<&}0b(jcbEnhr~k z#)A7#2e6#ViC8OT+Z(TPDd`AeYB+>G;KH#k2L#FBEoPS#r_|jn>PakTSgBR>2sD-t zGYV&#{v+8{OS_3K!fSOHdfNuJEnI}Anw~;oO)Rz@bG%2V{gpoiqfx@2mvxFcpL~{a z?PsmEO3QkluA(3e9g+YRvx5Or4P%qqU4Ty*O5h_SxfVQz`o7A|>Qz;-F6E{Y%+4;N zY9L{d5eoYlgAz)Z(@qZKFuVtSLeKol%BVBR)F$qFxD7?Uc@Qo!04Jj|0AN)m#)swE zOB9I{vb@1<+}H9uV#<*?T%mw3ugsv1D#1EAR@VFHke_}vUW$x@Amg(AwN!$Z z4uHYvt)wY8&`T$D3`*>@H^YP z`jf-^I{CZ%2h7Kpe7oHmr+dx^cJfG;2;>~5Sl5V-v@ZzMNf*Y%a*q=p^DKC4ae#$8 zBJe@MdF4&qIwkJqOc~=D`DZl_eaq{SaH|sR(wo7x1hDE6q^dTnv{utnd=!!tj0pO5 zh7R(yh$)eDN{+&iw{fAYO+R>261~Hv3Oiap@;*xQJKMPYQtjFZ1NxRWeV4{k!Z>St z?avtw^I3P;AK8-iIP5Y*67gHAK zX3zp5jQr{0sp+4^`YIg}oILL8dm>C-2L&!W3Lb7)Hy~SSIEE7o0aeRGPO~v7wkRqT zqd;$3K#EExOTz{+thD*JR`MixZ>V{vWqZEOd{zM58k!&TO_4p|r5;S4sL}7L#7B^V z=We8GTx2;LfL9(p-4Yu;P^0JUbN)42ec0xm0KXtV>BFtOB=mG~3YBL3l|rpmCU2ow z*xxFyAFGyb)oxsmkH`~;EUB^RK$0e$twK;n^9g9by;`B$aaH?}e&mfcDchE_-}hWm z&1%#9#b0H4gX74Z>>T2tvxOpA!oiiBwI(ePg9Unos54jpE})>7DdXY}VgAz66a|~b zn#zOD#`ki(&g7`18Sgrv&Y;#+atvGWV*|Yma`CwYRqXlq!8fFiOK(XtJ|$Nf3t_fu zQhbjeMK`Urd!=)~t?!fVR5yg5dLeDq-rEo=pB=ZZt75<0hbpVb>UW*D7>oZ#IZWQS zyMK1S6L!-ZYuX`v7Su}GcW z9TJGn-MkNMwFGGC;W?qvH{9W72LxVsm$@@moMC}g7!o!56*fdtJ=Dck+&NtBo{}1W z8!{Q2yimh-3n#mywHSb@vcMG|UEvP7=9Yd|wk3UB>$Q91{$;3uPMKfPNhI`K1N#M% zUoB*38N5vV;=sp82#An+9mWyP4+b|+VX@FvNhF!rU$Kaml1#!@up?fEJ;vS-wL+vu zMS8(OU|9Yab2DIk7}T{qMT zY}nswW9SLHxB8!b3U;RQJ=^22o-G9}T+ghuK9h;GB-E#}-(2Qkl@j1HD8NuEobU@x zHHr*a%BoFO@FpQCp~o*(rA;S#x%doEUt$Ir4GDIsA$L_S84F9>j=wDI>LwM~lLO`1 z0{|kxjQo2Qdewh<9??isRd^L-YZhHz!AdwsHsKWgGZ9L=^)Om5Ra?Nuyf*&bowoq} zFIPKE)trPh!XEtF3mZQQJ29Ioe+xybYIHPbu@Z^S*oZcenWqhwY-YLrW=@vGjL4X+ z+@($l;jz1#d-s*?t=Q=q`!?Zq z3LWmv?SG{d^ePf0@SZX0dwsCGevd%@)_`#(u$I?8Pk6QudpyeJ-~QEx_s^Ea-~Gxs zgf8>0NS+*Sw%@Ci2&$zx8*}0LU_HaD3kZWKOFEe$b+(doa3Y7dStm7{tczFIElg#- zjU;so0i1RWkDfMr!>yCRyk2&8e(28CH%zgE?a^x2cL)O=9~pHn>1@nlj@)zn_%eu> zq4jMJ+eLF@`7DlX`V5(Tg0;Rd# zZg77R806pt6~~P_g3htTQk|M*%pFd_ze2tZ-%u&R0I86tR%dsR>#@M(XEP@aA|NrA z2VcJ~DZ6+yhUZ%c=|hoagW;@^k)k_#j<5<{GsdIK%USdlBES%#$&EJ>Hdwl5M^h2* zfIiRquh<8uaB%FKnUuj4fGxtvwkd-{lG9?UDhJl185 z=knau=aosp)OshMNuBPCe{4ZIxA#GZxo~fq|EsIT!0W!p=dRPwVkU51)y59pod#^V zw)oa%CTy5grtM_g7B`X<7I7=fseuL@FAItI_y%_cwaUc;tn%_B1ZwV}f}e6rsWCd| z0~{Sb>irq^+Bgqp;{1mz2q#AFZ;1H}gPJQ%C8dl-DTYR@1Zmh!(b^J6BIfe?3E=J=LI^>R*Rq|dpx}qN zwieUNX0h>w17f6)_H1NR8CE8wZOIRkHe}8v&i$GFQlk2Q@%kc@WgF#RaljBF2ZMn2 zg=@Kcv7DreTxIl2-5$x7+-4XVXTI3YC-89fVX#lEOExt$t&9d}BtaOk#c+3MXap73?WOXwDM#+oWjq*(3Ii3J z%Q+N0ogt%s=sR9aLl!eOFE^hU7qHN4m%0A?_FLlJiJbnNIamXMMQL=4a2Ds?3|pB>5i&T?Z_I+ z3t(s3^}%bEMMeE3=qnbh!(8!~@++VuS$%?=O+G8?_)j2OD^5pStvV&~a|W=CKkF}C zrNAaZ(;#&+91B1c2`yz`#7P({*PVqBpR>b=_Hl8}cr53!X!Eu92D>XS@Y4FtXG;w4 zzshOtc_3G5^EpTCBEE}nQ)j{|h?9j*)h|Wg#F(OD=x%xrkMw@w;g@Y|*MJal5L84{ zRG}$6bauj@A&ZnLc@`+(kC0)CB60Xg?f?=Vzo(g)hD@HW^2>ma(2X2}$U|^SZ8B7d zX;U})hcmOhW3+WT4MWM3S(a~y${MW2Inq=}C55S5sZFvL2)cwI0|l)7os~G!`!oDO zxV5*{NBXk+u~zMr987oB(7(zka8|f{F)c2s7D4_JAD=VmAc_woFry zqP4cOA>5=Mv(xUBpuBxB<+LCp3NUrr1J=l?aC+KT0wb@{T+61zgE^H4D@p?+i~47O zuzlo*+TfV7|JL_yRnrpr`W17C&JRWEv(=WVHdMSTuf*};>5$*h#x(MgB{>r|t*s<3 z@aGQ=&jNAA1PrVb;S&e@bhw}DPEBywawN&B)~B0YaU)zf@sDpfm?W$7p#Ax13{&3R zErc)?&R91B>%(@+CR^TlB78|MY|p^2*F+w*5m9zN&Tl?j5G?H;X3+6J4?Q>Nmc(u-gAdq{_wayg*K`E1UO66B*~( zaie0^0p6aCRr99)C@n_orpKv=J@?QIJ6ps`+}j=xPznka=g55+uywHrO(Y3JdNKHU z*dg~h0IL)Xinfkq^N-dB&pM5n70+E6zy77mwpJ>#XK0eoD1j@0q=qX;rL>I5g2iKY z#y#HiLKkj9Pa4Z_#064oSkbD_LqbMc=pozKA&rc0bfobOM0N1+ggn15pr?JcHJ_%Q zZ~gv&bf(X%EGN>l-!}MpV7!o{8GXe2%!7-a=v)RjkB?n95-F8R6CgP?$J2>?GpLCk zF`;-7|Ed?C2yHv5Os$^NIgCUhxQz&_kBO`bz}sLSsnfM`rgV1EvoJDs z(s1_Ymi3POBswAS2kUz+?1uNTgG_rB6>wA*J3iM(WHMmIdQklNqWA-O<0DIgVUk@S zo~u($@n9bHY`qG`l?~2}e;nT_eU>tTP(k=(G6Q2C)q?rjHeMS|h(H)bpHi&b(qPdNF0 z#Rjq+x6udD!k5o#MpIck@qQ>*5czsO5lMNBo4bHnfCn(OC~K{?Z{rd<|GbC$Qr}2( z+SsTr&>6j5RE}Q$3a3c+KnBo`LfWJshEZYI>r*$x)LGzWn!WA6>Z*RfHUgXb*bhCc z1)`5@5~&|X!h}g?CZZ^m%lk9qjgXE4wO4AzrfDMsaO_0qR-SBNR#QN-I4vSQwSHZB z9cT}_+g3o$y`drZ`^P0(-Tu&%aQ&a_0sqMfs{~z^%sp>D?>k|F&OO1;OkGZ!TW$I! zw!QX(w2opi9=3``_xyZ$NN^`nC)Thn54$ykW_~eHPhB*_(YiyZ;ysk#d;HADztAxZ zoMNQ^{nbUoQbHp7NE=F5b!o)Rhr$~?LNUBlq5UhLZj!65DoW2N2|#i>wEj}t9VpC- zLX>Q*<5J}R(tzKS5isE=pf1d3Z zd}+~2f+Jwt{b72r{dYLa?wZP~%Hxc`^_3rAM{&gpif}ys5Q9FY#{j$ddir;s17aBj zHspw2YJ_0^62kclBl~7Ii7GkgTRUW_=kbd&DDB4{K}8++h35(W$AbE2L_iK5Y!s$Uln%DonlJ34<)?mi&A?tUp2dwel@&3SJ<*!=(b^ar^>*|$=sr$IVdnJXPFP!OA- z50ko1o&rwH7cwSY#`qMU?eblzf&4RatXr z%+pDmJyVH7eassBFCrpyc@CJo1{}kqkKFOHm8C-_Y_1=luA~66m)^WT>@sgW67W9d zc=DAA3S?_*J@7J)JZZxD3ala>@#C%B_Fv~1#c4(#R9ExZ6+|;%bR;d5f1W3sB z>@HYLKcvp0S9K!qF8k^4Eat|YR=M&^5Pu9hCxSXYoUicTr=b8UzRj!Q%dQ#e>uHk* z0kXh7K4=KUm=HN*6)0Sy%UbG};h5LVir|y|O`4O6Tp1(KR4d**H>lHrJ*==a!{(20 zho`s!Te|X~aGM`_$VWmlK~w2&N~6~IjK&q2ah3pG+xl==6x}%R=h*<^ZZh$hs-yIb z+(koL2|G6i33y|wqRNJqOa_J|yw`wuIGQYuaMR~gwZ`!*qWcLhD+9a4Oa-fe5(yuj z`gSjIU&$K5b-F64Grs~R26DxOD`+@tgD68;83|;bf;~B>pF-tJdL^A-oFIxv^MfYY z!NOaMSk&9>;pjRi4Ufg`$mgIwvg4kGZ=hZD-`)q<`iQhKm^>VGzb3H0_cjNdC~iKk zZ#pgi-?bFzt#_;Q?l60!`fJhC`#_(AxmHyazRh81u0JTIl2o>#7&aO>NE#?q$_i-3 zj0Rs7_tjWqIBAwSkzuH4^cv*#8lbVvF_2K$!`L4uvW56^{H~5#EFN6FQN@DB@<#TV zHE?`33_kqGudCnc9=YCk$k#~`UcT3T3!J%MKSze)a}LFe-&~mc zxAkq&el(ocSYyAo;TDZzsA>Dx#Gcx~tP2tD?U`V4S?rIXFF%v5(-+`Z#}({C1t&}E zltOrYG9)cZKkdKnB9Qigm{k~NQFl8@hfk!r-Gx_Yu27{mQmfkZ^H$o*7^$$~hvQK7q6%Vqoo^H_o(%sOx;Iex#LSyE7e8srPMd4Q zE+(*jj3^ejO0Kwr@1y3BDlPFR`A8NtxQZCC5L22M=a<0BE+O5$s!^BK7(stQcn=F% z`%*lJ_?eO5J5exRm}9?rvP+x%A$l9*n~J7_;KRjq`X_%zs(fg>!zM|4%_%Z>ncs?_ z%0Gc=<-h*$ouUc3uZSMe{v6FY5QJk%zf?0|8r_0a;Yq%tuokj)59`ZBsQ)YezV}@X;QYt5bpO~4{-nX8q zUSzr`Rb3g0F|5D;@$5P%tvx&?n-*!2#Gx3FULsC%vfy~dum5>PF^GsA%W@evw7(C^ zo6qMXnM&a~58VH3S#tk_WRzD0@Oq;!q92xoLv4CUZe-zo1}+HBtOKMQjTDtd^QEln zmY0p+kd$Ga5LHqh*J)4xGYZO?fbdLg`ei=sVFs4SEjem3mpo`as3>DZker=eTm_~v z1(>Ac=Fs7U&C`CxwzhB5Pzqkd%ikA*>w<8|%4(_~#u)ylH=m>)CQ5DnYTVLMZ|nVP zKA;$h9k@4d@irw_{c*Wju%ls@9nH=Vzl8oItcbV!{;273E;8^wVLi9&BA`T7^tze& z?NMZMq8?#u+2^S|sAP8ODZ#txfuTC;?c>Z#2>W>QEt}ml`OUTvjXdMp2*k2Cb z)u}6D$?9pDQWt9bxk6q_ANAVxs)p+O7jfr$3kXre;>1quygjf$tQoM%Q@*dEESY1~ zUtUSu-yG_(!M1sm8T+xz$s_Sze54at~uoS%g))p0oEWty7m+@9uM~<2vQx4csH$K?(OIULDWl3rOLQ zRsld_(d~B4&g)4(4W(+`(sdW@@+S5u(}e0qs)K#&YB(T+`6py*Z$!CLcCD-+YTy5d zwsF}l>izlp&@C)NA;*HQ(ih;qS>=FBK&wU*jGVH@At9k*}-CYqgtqeVZ5E zXOXG52SE#0llwlNDDQ?j)(3B5PX;;X&zoko?^d(in`Rj^h0Hbz%13i}1EsRBB5SFJ zi}csh_7{xnY9)%wtK2`BBQKZi6?pZel;t#yTLtnBjT4#ERvL9|D@5F>$BLzfX8^U!&~=Hc`{vba&k^TfSqoOrUobMaQAY}cYNo!@%;5G zoSmMD)h%dyGGzMnsU(Fv#|OOliBA!=L!7g(b9wJQPFC>R+fNv^T-r@8$y-`EoURIP zym*V3KK2oIZokCI`}cVGt3S`qFl4dNBukZKJeY2&90e7z+w)i^70a~d_F+%n0%vCn ziV6`1`=f!_uqPDDTen9XvDhb4}; z;x~kY5&L&uVshg-l4Qf#SAUISdM0PY%5mr)T_NlY>Fn%*L41LHyQI?_$hz7@U4)`k z4aRZRbXqKBmdk9ZEHgU&0o`FwJ{qmiqbhQtH%V5ji7Bj0r`M<532_>W>$++T(#moc zXS_X4_~OGkUpm`zS{l*@N(&Yv$*yTE2By^ZFJbLprfKHIU;dMpe|FEa^9%uacAoso z-!XswkNkmK);9mPwax#^!MWqOzJp`HSg?YY6+~0TYq9GcTPq{o8ZoYM!ZuFO5xLG7 z$=U?x`kv%sSYUGHD*c@agYk|+dK}k6Q(>D%R=`DJ@xuj75DcY*J-Ty5}-N1kjo zxfc~+e3H1(^dCrSRX~*~fF=kcDvV5d!qCNW;PiCLU}qmcXvr96v)a;ab+kVhl-g;t zUaV+rqp+KCw<~7(Hc3hIhPU3iFM{FD&Y1Ojt!#p98%qnGmlf~7_dZp&WcTP;GQ+4^ z<1~e!-1RyUlRM6pMZjW{GT&_3+38aotEstdD+0&RxU$`4yV)W~Yp;ze+`|=jp&Zi<0 zM!wJS)obh=>s6vK9y$I69$l|uXV9Xq zkbJY#@6jLimGd9ALW*odwq6m0TA^s?USy?G1nas{lcnh6$u7P9EA&SrlKHvFgsa(1 zYbD?HnXk9h-2;w4`CZ)kj_;;-cm==J0oSlSKj-n6e~pVbzCdzzBE>jP*8BGbYUk>Q)9TD`$c)byw z(GCbv3qJ;)$8}Q>zCVNUXUu**bm|@(EOAi1m9&`*Kdr2F^-^q92esTpgpewRH%wAO_@VeD!I;D z1Mat)fW`?WLo+mD+4uS#>ME5!dpH?W8G~ac#wLFk-zeXa@nUZi|zrC+r;_%ecjJEM<{O zLC`c-_a#(}t9=_cy5z$_WnKM#fsw_HxxCy-o{#cIL47)zbJFDz0MKNV9^hth8z%UeR$YHBiYmQSmxEpDM*}Z#p?s;y$@(TM`j-^0I7iXjwPf6!9oTeh(Y-Pez8HZ@l z6EV*;C6i&F{&-B0u4%Swj*k!J?xvfmhWX=roP7D$SiSoiO|p>;((_zN5`8Zq&2t8$A%$_Noj@qbt(RWH zsWZy;9Gh&&R&%We{J^6%*;fXF8+hU?kQW5LD~R81_c2kM?r2AiQdMMXjPlJ|s6|y3 zM6F24lwMPy2x#k2HjX$r*49L=t~?@aQ;{Yc$|7N%r2P8(GajxoUf-1bLK<>W!M3bW z3Z}JyqpAPEvHbRN$oC(Fd}8Pm+J?*An#!_kFh2-<%>BdKQM(RenLBmCc5#WxQ?kvLpw*HJAYQLkSgm0HkjhrLp06V1 zIgSdN;&El3=c%{`t&T3DRb|x##M?|C*JYu!KHsS&EAt$P^O9wp((6Q2Ri$EwW1y}C zla^Hlwqej|3mw?TsU}L_G+=A3KYD)1HZNq_QWhmUySuuO=T$*k)|w1YPi8zhJ>&ZE zp}Y#3^-NBF=ktu^HW$2$8Y4?mmiYaF$bcbMIR-7SVYSWZO~!KDJHMDym5rJs*C0hg zx7(t^=jp{l836s^h_(0(EovO{3K8rgN&+=kN~M$4@8vQUOg>e_?^*p1iHwfEpJvPa7 z%JT68PG0*wCtvtw-N$&oP-Eu@K4G`5uZQf3N3x&xLZ5CYpx-jo+XeMzLA9Q0a*qZh zY!K0#?9)<^l|$Ga(C!WKBA=)~0yl)9ExyCz{DjSX%KXVa%I%sU2=$zEEt>k9Y)ih~ z5VVG}!FD~FJwcseiwuW?rcBi^IL4=_NaV%aBgg6l@KNi=P?qBg!aWB7G0Q4x;g_3O4F#^p?K{_b zbpIaxahLP+3x4IZU*J<8yhB6Cpj8UF*kmPQZaW^Gz$2?m9^8Gz@!_5bl0$k zl-J(9$MqLp2Eo6b4pm{vHX9<}VRy1mrU|FBZ^%%m)$Q@<@l!&P1ux}Z*A6_{6we-=5V{^a<1Tp` zW3{WU81*9+|Ju6rdm;T%Pb~OkljFC$92^~yCToHypei%z_fJpe7;BgehVuSbgOX-+ zcXm}=`@8$JCr7l$L$ULt-Vm?TrQK?=nO^Yd$s;zGXROYjP|VISS*pgZI~r>(krfrD z-6!f#WXj`IHTXW0-Jy_yB3@HtFf^#2tSmH;EEYtg39BTd%BFO>eOdz-HwZDl1Aa@5 zYuk5~8&GZ%;w+)l=_~P2j+u2MJLaY`x_M%|rc<2DO0c%Xh z*yewXaep7K{hvmE@_+w#vcK}Ll>E2nJUh=2fM@6ZFa1hnJok@MnV&9-;~V|?Pp zT+>QbX0l6d(pVS#`8*}g3l6Uwa`X8+9N)P^dpKkp$6TH-*=|d@r3Il!+m~4mbzN%> zKvPP7<+u)$on1PEfmrhwvo&R6Jaq@Ow`trmX#a;eLqw(pJ__j1UGJ*w%5=!X0z1P3W za5PpSb&cWdy|d^J)d$q+i*5rD3&?&Loxr0yi)Pd6y0R{ z-93DKNtzbggL_R$6nOI4A5QvUt#tl7dt)@wXC>QpMqbuJQx zF*5k+bXuB>NBf7gM`KLbqB9v0_4~4QHeRUJ(&qe}cYf`2JpKBYIeqs{k|z%!+u$|G zw5mH8U;%|o?M#^L?dy9MP0it*+w!~Eo}Vcu*|@IwF4oG-S`7WH$VH4StBSDQWw5)? z=;$gYY~zQ4)&R*S!Sf7@lLuVfzXxTGp%H>*99MS8C|oI|u|m>>LeMl6>jg!Y2vMkU zB^~vHK%5)TR!}5*%s1N{j7!J&+3!Y-L&I^u%ki+wNBR!mbtUAm?_ylTCd;@xtN70z z75w6&BDd&hT_9O$gM)glJp;ej80RJb<3I3K|KmTntiJSj`KS0iJI@+`XXoCp|DyBf z|Kv}+)HKacHckEKvFtdmYcMVtLs?YPI#+p0U1TU^1u$-eZJ@@07Yep)v=ZMc1x4z4sK2?B!yu>~`1GVx;4@aEzxEJi*#|&b9q9{Z2&f`N}zX^!SOg><^E3IXK>B zc6O@blxG$5ZBAnw!SI0#i@28Ikmn*!LKFtdi!aKWcCW)|GEyUvZ8jnc+D5UwlD4fk z2|L5K3gpu#7b^bB&bMe%E%K6s-H}Xj9M@Bk%Cka+MDk1=Hpx~Hdbiurgz34kEov3* zqx}Js>$k9eo2T!+Lp$*4?;jAgI^6xruQPq;4Q3Zpo}8|gVpmv4Zib8bii`P1<8 z47wdo&Mt}5lE8Dd=ill1GC)eRRPg*Z&A4@C!g$c8GudJH<_*HItyM^;9ncgdtL0Ws ziR(BcXt%}EpS<)zxkVP+jbQ&GE%B8YS;`QnKN=EsS|Z(*c_xD-H*6~odHVPfm-p}T z?iWAL-Cz40>FGn_ixa#uk(;EcN{od_eh;2J{KHO54RB@+doR4g!OI`P;4pjt4P`Sp zK`5JG} zpMRS0OOF#?dpzZ4r{UXg^y#-1B*ApK;{8>_-@SDBTp2Ojq!|4mV7~e4($6I>jx~5R z_EqEX-?5m)`}p_2S$*l}O8)6P&(5<3;MsZa*MGTd%i>Sly80>8R3D)(U8Abr2tqVi z{2)RFIfx{CQ+|3S1c2HAjw>=7t|yH#IGSPcBAiy2rYxXLsgkvJm_-uf8&4k>^E1lz zOy)lE?2L4Ffu_P%gwz6gOyD~TTG_vTlg8+xM}KFmOm=H4yeQNfqApTh>_gAfq*`P( zMcLrF0gkOSEsqa&7$05{3|$sA7xSe!4Uy-Fz&IXHs2eLA*(}NM>P(Qn@A!y^;CS>~ zZJ`s!3mA`vELJNu6tl%fM7KOi>4q-ts4Y3zbg|&@c%Q*=%=y_=q{78Ek)caF2lsHj5;DdK6>(0lFqf(F+Q!p6AI+g=>B<*Lz%|<+Me%m?`(^8 zT-v_Fwc|0PZlq!x4oCF&4(awnY?+F$P*u&&`uFISk21db0^P|D+58f_nbEio;b4N>?Stb=U+;!3{8kGav~gM; z6@ItX7b37-%@rR^T}o--crKTZAK=s_?cRV+uT7DpI2g(MT-&Hw>I^4(y{+a8#MkgW ztn1FMslw@4nHe8#zK& zzVYrOP70qdrd|Hly#>>ChP5j4I#|?9S^x|fz!=aCeFMJ>Yd`6K@&{fEKJf$7@=HHw z`EUL_JI@+`XXoA*Kj-|}KmNx)oVv?YC-b65PN&Ej&-37Jwusn81C%j zcKXsyr<;w~^Py)o^>>F8P2Y~^kQBLOdbY?hwh?>${9;B^XZQ{(4uoAMlRfIP!Nbst z0#=(f?Xbns(JmOva<<`Ov62L?st_qIFALJ5)Fj(+U46a9wj?eZxw%yhdVG_jP{G+7 zcIgiK)Ow6IZ1V;@xg637tSpSTX(8EH5com`8tW(vq0@?Ft=w(*$ns3P=CW*v6r|LU z6*a9Oq~G>cG+avB{Q;$QX$LSIk09u9adIm1V{g36^z@A7(?^`0oN{tDCkQ)we5b1w zSysvz$O(J~gFY?aD9ooH26Ve2P|2^q#%I1&lrq!Bnk)N#c@RY1mKuWLm7DAy9^%xw zzHe2DEy~dcKFZ*Q4{-RAPvdlly#3`b@b)kLyj=CxtBt17Cnpy|2wI&MP83p>wKxOY z)mn*vNs^NrU$M?-@4ks|B@vW^VrMjAzFH%Q+YQju-gU(zu*TBezrxW6KFs*qEyBSN zjFIADb8?S5-YDdUpv7jrQYM5Kb?ELKs_?gWj>xRbo$}1S|?BXjYsuaq!$>FOf37-S@4g(_zp?;fH#tm|LE%{%nPL4!2vLU zRKQpZ7yt`^F_NWXkwn-rICn7iM_tJMPkjFyztIE~{5N=>oo5Zev#I|xKi9+BKkGQ= zr)cVz9fN}oD#YJWK^Hz;U(9BlK$D;KTuj)N zIS_#+dpXZFX)JGlTNG*t%Ax|<2Mc;u^lok;XmzzyjguI^Bi6WNhSpk1)Vkd^d6ARX z9_!qYrwNC<1Htu0noC+|>xT7aD}REPFQOGuXP}A6Q1jr?iI9!7EVUyyepk)KaubUT zXv>P--3hBr%*o}F?K&ks z#v}TZ3Dfga;F{Ys`~M>H!1PjYD47a!71PuIzq&2l6DLXrQu&rzdCZ z@AR23Hzaw@q~F#39qx`1&aAO<{gMNqEazm0;M6R#jBi3pvj{+GANhaqyD1Nz2 zGg`i-(+P>|hRfMfs7VwCoIiTRVz%b=V#a7^Pmq2Z$0VB=&lBfCZ==vMZu{KWA24h= z_`XAu=JF;ett+G@G?v3*$nkEE&{s+xo!x!*u3V>XO6F&0lu0H9MtkRgo#$R8Ji5hf zw&AT`{D-{#3xA(#Im5vbZz0Vy>Hh=A&>s$vK~6iwZE7+_5Es;d-y1O6J97M!(jiIR(}_NxI_E+7L6N8y^=21tk0h6XH$rhwdBcK4MerR6w%QO0tF3W9If7* zrY1{bwpj&Ui1mDt{-S=5-p(F=6sbwA>q2Xv)h1z`Rh(rWZ!R0QUWZn%j}6KCe7bVNu z!Qg-hzX)xiv4BFS+SWF|9b>-T|Ktz8w)>sG?{f3&|3sYxpPgq7z_WAr3%}z0g&+Sz zuR6B*>!vDy!W4OjDu=2BRPa?GYZd<*(^UGHT46jw2MiWVgCoKkV)567NMjE>akSNN`OfUAYN5IIW(T$$sGJ;#!pja=6P9Y1|D41>qPg8{Xc|0qglnKU;e= zBJe{z4;mV2**m=sj&`GtCTUw+jt+;oj%-;au>*%JFWIb@bUKlE0a1IPzpIO!)pDhj zwo$*0+8rlkurp?}-b&|l%vkt*vz1?M_RRWV)7T0R70JE-E~y(dT59iY!@CO2trNG@bgsE2RK5VyZW|U|fPI zWSbc!ah&1NNRHR*wdi*`L{UV4*dtD2H6?jf ziN|oT)2F84@^a1We2Gs*wq9uEv0cX^PE?4)5GMWhjm%+{s*IxaINRwgUk*qfQ-4Cu@=lVxJL2K`j^*ZJ8 z*S^a9{jZa)w~}7=h7+2qP|iUZdNK*>_B(1U)AdUBzP6D}Q+We2h^iV|4(v^OO!jve zUBAuF^Dj&CIKJ~Dt)i1Js_&%mcrCKmFT5Hr! zNdNG<QGwsTaR*ZtB$sDuX1B8oip^YnfU>B>(@4?;r)l(O z%hifnuh9mh`00SC(_?gasMSqPO7EAIh*V?Z3LTWc6t{s+*;f;C1HLu`bd8Nxo zue8J^*=#cIKf2`M>4t89!o}d2|LBc#F0u+^8@*Yp5r7cO@7Ry{*T3^B-?i_Nl!o`$ z1&w29i~+}$(;$Gj0T>)`T-V&Z-u8dw!~6a0dw%F&`1+Ur-rp+u$A6xkXAQu!^X`{E z-!hK-FE`kq0{a2iaU3J+uGK}6x~8dWY^C>c$^z1aDv5RB)E-~#|B||{uvl;0#nx{PFkYahqpB2*D!+SM6q1}RR|%Tf_QwQ)oCmd+Hjbm+xh}$#G1_m=0Xf!Lo6vxV8l*8RGz_NnaE{@y zIG(|GEJ9U$M-n$%RdfSG-oVMp0=J5_gFZQ5QWcew=GLh^5oiSg)P;&kQ`hWveL|}C9IViR$oEB#iv|;HmE&T0^56l(gJX`Ld!E+r zA?xjyhi|^a$y;yG^1x;>QRva{w=h=0PVz*s79k3@DMSWzsKHv9GmR%hIV~O^jv00$ zp)$eFG3_gN7+!ylaJ(a#T~Svw7|8@DH*e$h`naAW#On0DyX5g){tTXDsp^KH-6a|f z2s?dR<9))tBity$@qJqT0a2$-XVAxMwHO{8=ryuEdrX;a^f)E6xvYdMCjigK@AfcW zo72-1gsLb(rSxAn|!)4ezaMx^BbwA9?)9 ztu|MBhAeM*?X5?=_1-1ZWkNXI;c|S9zxKu%_u>*nlC@ats6p$v4u9lUhrjUYBSyuH z*B;C@{eSZ2KF^I>Ou7*lxup>Q1TaQTz&L>4e$e9&KG$!5XzYKV>+tdZxBuQRp1$(C z=h^3fmVXTA*?HCgJUd_i@)ymY{ZoJPmV@~zW9^>>r{CZTel2R`P-k6NMFb2`i!E+# z4KA8y+#tl&!=!;(vZxd9gE~ebN^MVk8M^7&)yf%|@pYfnYg(K#@at$0SV;4sr z3MEaJ$$mDeYSOHvMnOMRmBuFV0Muv!<8GVU0wA(jZ#0%sPS_cc6qbX%J#3ZAOlP@C zSZ_1!+b6?;_WO>pTuzt7rBx%+YlWmmM&ub4&rm3i(Z6$SMG!i&KF*VZLD%Pex|H@j z@{p3D5bzE{g=|BX#zG)$)lkd5(WnXBB&pc{m+OpeRudS@(YT|jwZUMhBxQ6wpWUn1 z@jG3`2gl1b{lSo(Yu5?-1E$j%Pw(Ahdw$9K^dZ@Du8^s~Y2+N)?{(PS8PRJ;ptY0{ zK@@5=3BGIC-ygBRH=!N4vMO%%NAz#K#KDI@$?)oRYU8q9PRUnusyw0CEWws~9v4Z% z=KO?ocFywT38tzE14oZ-;D;F3l`^4wbd%`tnC{*YVXG~szG*CSHpHljsFN+zdvBA? z&p`oJTby>6V6=9oN0J@&60aMs@AfB&V2ytAzUgJAz4 z)S9T}yZn*cUH-(!kBHJKZ$4V^<+F_MeeoJU@X|itd)(rMgB^bT$(D=Celzv+xvtBP z-X8E{uMGIuVTZkL;5^!v&;7jz%ilZ8>s9daANWT3U$33;v-7M0cy{i7?W>+~oFA!b z``0b@(;!`+B3cnE+LyO{UNtm$G7PcGZ|~rDhq$Z{r(Kn;M8@#F?bV{7Syte8TBxAAq{y^H?k4- zT*G>`TxAs>`ot&YYk%_SF=-l;rI{w%Zo8!mV^$P+4w|4J zJ$XW2R{B|L6Kaz4J%^^QbWu*W8E0pg$nV|c+Sj%{N9e>d&ZQ8rKp2LUm6g?RR$FQG z8(??XMjVN%mNjvlRBYms{>~0w*wW8&`SdASRw?MkV(4|+l0^osj(7x3Q#0G-GWQv@ zJx1LYWzne7=(l`j=RbIIMlW(TVaBTj&s2)=&C*)%^}1-dSf_LY58w4@aCNb7JGGMf z(xOxY;Cf1_({n4YQ8q&>3fSqlwEM4WJrAfF$g`4z<0IOGAtveN3{PlP)fy%ILNuaSEdDKvKWK z&Vgcr_g;EcoEOJ+w3e7ZexQFFwA#21tj|u#r)O+0&cy0ZR8yy*4{P zr?!A`@Y-F%?ijZ-!0(R$6q;36mCy~hF3C45r6w-wfTcg;VG3!Q@_Vke_^nq%_5yh8 z{U?0(olD+0O)yT2>pN|(+_}b^d5fRAyWpJ^t)vVF+s)wbwV+F%6peF zzw|ieP_o)=csus^J5OR_>oN&lzIWpCFWl<#yKZ*4v)9oo>&;oo|M{Ic zZ_JB9WBJ`+Zie6X1D`Lx_;5NR8!AiRZ}$lMBb@d?5w{2}2%tgEfYumUle*SwLTT~>V~w)o zu`WfPQf^k1i!^6Jrp}<0rLFYWUKq%uzomTkQe?!fG~*k|0{4$^ zDkUzBm*jOrw-qtj*=LbveB@IflPvD+$rGxq5Ufv?>;5EJ$#B>eQPMR=`tvj|*uQd> zR=X$0_U_&ukMBKTx!zD)SDO7^KT>RMRa#BXo1%iI1rgh zHeJUQdCuXeO`aB{X)dKilGkKqBgVQHwH1cshc4DYK!d3=DHwV!Pt&5~7$Sw@7?Pr- zv7Ry>29Z$|Z&elwaq15S42C_f-@1luoI5RoPFKi5&>N_+IeYLvcfau-Z@&31)AI#R zydrA0itZiu+LEdECu0nTR^Vc*QqNy3;t>o6ZJGY`COhP^S)NdtKxD(-!4)OqZ7$DA zP9H!#r_N$E80lh)4+;q?YfI1-l7iz$1nr*Wg`?eFDF<3R`}7Zvsc^)1SHWJbAKn#mv6@av7Bf;w0hf})Qlttr@*Q7|w(C0LgqW&QJ_Sv!&n?zV zoF*4~<2lfjr6iqO+vc$u@Gx`Oi44EzR*w%HwrLuVUw!*256%)}=ci&j>uyz12db8s3bjq9`IS%;YmnKXf-{aBcmd`$p`S8sne&+|Ts{wjEi~0Er zhyUQM1uN_FiJsxdZnpUY*8@J%FBoarkoT&iM26>n(DQUy8c4waTxRt-&2VQZrcZR7exoxausLANd2UbiV#@G2+N1vXnP zXqkqk?a(>6PSkE8l|q%PNVTJgD&0zUr^K}3NQ5=dl(an=q!9W6>ut{L`~=*P(cZpt zlWDNp8Kkq{%mQJ8go{l|x{Xs&H$%F3Lia>tZ&iC^bo` z;I_h$%kvAF-B{yM;^BEBPO(~V$x7|jmF&0NrbK}!E`fD@aZz#Ocnzs9NaZF9*Svd`kI}uUj(rLG-EGpg@!?@=WI^Y^) zloN!JZVwK3i|oJrQ966aDwh)Br z7tb{`RU_o4sIBC6-NQr1*KX1tO~5u#E%B(a-lsuK4_m zw_HBeTXSI7c)r7vBI5t_&W4}*`jpq_xzHi~zL0vzfU|EK{-80Y`oH@I{6-T{@c;RF zcAhl=&(2@_FaCZwj{HC2+4`rPrg;vm!T06(Oys&Q1wl8~MVkMn(PWY(TU~(36Ut;Q&3%=}(iS_`%H1s6NQQ+| z)|9J-yw)ARMQ5}tSHH#$@ckAvjn)lb*un1%aHEb0Ux6*OhqcC&6WwxpiI*(dq?MA~ zf+)a>)L6$CW;J!YxQ`{HyP=6O}F3I1UH{ARK!EiXT6GX z+Z}G)xxtO+Uu6I46(ZL%?6jnF->#RE!5Kd!PjkG`*Z0|GIYqjKx{)fv?{;Y{#G4o# zmvp?7T^x)^WJ#9E=x1A4v=YF<4Fathu&{fuPhRG7)tfKZ_?}0n9cemmcYDf- zH>Tpz`wz6L@Pu}hlnR1zX+@!el&;>s#d12wHI06kqrQS?c<}Us$QXJ76g51ZC(@qR z#z78`o>oSbjfdlVTC21jOD}L}2avsz(~78*T=rIrXh z57)7R+dJKs0-g?^f0b(=|85RH_zAj4*HNOOttpo?)(_t%Y)Z;Bmo4>!x8EgRUZUwd z+3I=JSVLJml5d{ff55{x-s0@xeLaSGmZ{P7f`E(ZQY5|BaEGYZS5e)rQ{MaHuVdE> zwwLFGo+}CIYIe?OGA7<^u*Ovca5Nh0ITl2rnq(YL0YPDJEKh;Xa3F;a=~^lmjED6? z%AhO4ZPabkYWJy(t0wKe%Yu6+3triY_|BUhZtR5g_ICNjCnf*uFJAC>7c~hE4nSjx zsJI;(e(*}j@4puEd|Q(M=j)uzczoyW13r9p%%-sX%G~guJjr;!3HUAhE&heWhTpl9 za@AQtz9w&69ySC1*8PIN`RBF0%&>p`mGb~_1_Nv?2CGp~dM$y1NzM@S-!TCWLNwQQ| z4ON=5oiDZPBu@lqQdhLQeHDK2Fa}N227}W78W*?Sn@Syxr37jaVlcWdWWON@Z}l zj(PC|AJE16%Ja`LI=q6SSVsdwQ#qqn&YmuHU*TIK0~p38F~( z3CVJ${cj$}D!#_^$m3KJuedD1aU}(;jYqrP5~m^XTtU$L2fM^s!{vO#c+`>fE-PyG z4i80$yZg@jvSD@|D?;No$+c=2w0$`p`jIb%$8@%!7W3a#T<~I@u+t5}7CfD$l#NeZ zHOw+gZhaNABClks(+(p=A)6}4lS^GhX*?cYZn=B1B+F|}!-iUBL{(i0afv(^$Eg_) zdO~g5oepJPiX`W?I}o&mJ}sv+rk8WV_K;6}`V)f2r%xWRIDaZXf~;||VM}DlFi<0; z_iL->1P80ex6|(mn(rRpl!~BfAlt6lo+3*`y;oxTWz zxrx{&rMMeOW3geEP3f{sOPK^g9>GIm5;_K5`To!{4)&K_dy)9Vz2N=gV$IV5F6Q`VI6N^W~~7Sq&X>Qfg9SOBa2 zyBy&aEhwsnUOVJsl}KIC?{{zmhuP&+ zMd|9bs~FSp_~ZgWfkk1rgA+tb?OQJvBt=ba6(l1vq^&E3)f8FA!Oocd;{&DOU7TG) znMob+jrSfi+!=|8d3kn9yiVwbzKV6679v=Nfves2dbv>1-^M9TRUwXnF$fK^70aaJ zY+Z}YHBT!&=7VlapSRqkL_SP<9>;rKw(Bh&&k>*Dt@AbK8;k3BJ> zl4COHc?l@fCX1Wpr@NaBr8< zWWdh;M2~S>zt<2$g94$7633v1)8bN>g}%<_=>s-T?h&6nB%WUKAtt z)>EPDu}*6iDOj(qW+sj^HtU$>xp#OKf1y7PyH5#w_jm!e9Y*|4M`u% z^%5xwR!gdQjc;naz?BjvRpfFc*=J>4p$M*(9|tlLYPWEr7JjR(`w(=x^oK(_y&+X& zD4l?~_E^L@wc`=AdZe{04ow)fh#bSv%lYW>fJv+2LE`c&Nspg-n(*rz!~L?6QIK2J z+;l2_=dj{0eDaX*=%&-U|EIbh&kaLk#(`x&GVDaIU|G-iq_J=O5bFl= zGRM}CZDh+!Q(y|&@2bE$O#!vVHl?6?SpZkLyxYqpmW<9C5dmcuE(XIoQPsBg!O|g=^I5Xs;V*h0@#Rt1U@hQOPXF zFzAGu=mAZk)^TKooaecUS0^wOxLlrHpcP47E0e%BvbdEpp)4B$TLYFfi^T<*uTuv7 zE`e*r!Vg_}5pcGyuu-4PxGa;5{XvVJeuw2|%XXV{b$`JAPDf!gZ66vecP}!|w++2k zi!4v*wmpsycIoze%;pQ?O(NyN!K6*#)M&Mo>4Y5ZjkGq}#yN2Tey_{U&QNQWCRuYU zD7Y4-wCb36vt`@(Y&r)#th&5DE%?G|%r8IPa&J?p0XJB%1_M|?h2J=U1;?SWk`3$g z0M8ivJ;s<1|AvF$=gKesoi)$Svj*VVfxrJ>eRhO#{>`ds{>`i?2MUq#T*=5P`R{x9 z?LfuEXj=ERqc&k1WFs1)LXN>URuiTzGI{e;MN4~hksV$ZDaoR)Ldshf{uHg(0afZiuy&cqqR8~ej>3pUmryIBmHzMaA;~PZ~9)puf}1q-heSIm$9r_uiUtT z(-`a`hUMy!B7URg=sIv%v# zN;~Lw)WY-HJeVblZdSNZRk1Vb&~0@%J-Ngb8Qma|kr7p;X}WA``lAWMgDaRwhEO=Y zu^b?m=Vv^9^9{CVPpFfPCV!>hwOj05yGD01qSx)>QHkhj^No@WTivd>7M-0Vx%l~k zhq4_UN2FD+JHqMj(7X0LgIh0g{nd{^*p}_|llR{zh`Lm6z`gh06M1gCnBvztMG{LM z>Ke$lvF`W&!JbqE!)v#cSuwwy>NQqYwG=VR?awkyjij#*HND|bE1u1ADdfa+1Fc8G zAViaJ7=ktQMgv-%t|tH5I9SJ%*_Kn6;?fMq6ZsmnqfiQ$R?DZ?ZHcep$Uk90vf1+M zCzfAWwm5AeYoOF(~Q&HVnsr>U;%@U z0UX_eF@TT&z*wx+Esik`hUc+-U+~Ev{(A7qA9_-L@t;#0;b#rNv-8=X{{{17Kk|oe zr&;!&R<-@nBrE;0F-pBF%38Zi+tiwp^PGZRT`Pj* zCaWZyD;q~-rouYRXDh|Qb~V1H-K;gzdAx|lH-j(GV)FUyYi{Cq|&qM~Iq8c@|j0zf1;BNxFq&BYsV4J4UD zVQ{FF##hMoFjFJwx}g002C_ngPr0?tbb$qHUl@;!jZ@kIk!Mo(EnMkK`UgHnOgu|htbAzbG?9oFurza%KDUqw- zDP=@tX`)q$(^N7E%95CNe@yG(I^$PA#pI=r(>uP!&YhRoxp`YodzF~_KE1(EW;~0_ zGim+3s%F${DPKP=YaG|pnxo%qbK}+#!-E4U3Z{#>P^B8lY1I%F>jnAK$7H9E**<+l zIiEq9$}Tq;>@dFmJe{Mf;5y{n1;&AJIA(PHCObE7%Je80jA)Fb`(mmLsvPn{u9r>} z5_S8?g|n)0EEH+X=HimY<&q$$Bjyrw05mfA(j2CxW+?j-2>w0RW&o1YR zm|j;7^U5P|UBUj7QD4vV!Jx~*?tp%1$hHd>i@D^zHqXTySyvvL)*hd^H2lr?R{YGv zm^TvG6g6c74hj>%i2T=J0E5*V7@+wk3Sf-U+qaU28o|#wBtD+ca3#wNtLXEZswbeyoTD!l@01jx3;dR@>1UJ z+c+jp5_xq~<(M*&IZk66!Ed-NdG#Y>eNO~7<2rhQdenluX~Y<$P7|`}IrAqEWX~FO z2b#v&oH2dpH8zj#kx!qpxjcn36}&GgAE1=Ly2hs(< zCM;qxrnQ0yIzw>*9AmXtjn_+}R$B~t&lr}o1v|s89NZSU!{p!)8b?LhX|&eB)}?}i zj2qwto|4rRWe$X)t0HG?$!wY6g+1!9qseZy+Vc3}6IRo68O%&}#taS)3ED%E{4O89 zuVT7$^%_Z0;Rli24P9FiHb_RfUe6(HDSCL+^;I}mNlt&z=jg_5S+X`YtX6YDySw9_ z)(z6u(@4_y^m0bG+m$cCA z=*K@KYvA+KbC#LIy0q+%`|NdHIsQ%Kima5$4}&Nma2v9$kmf!q9k!KWohH;}t;cek zW+D>~BUep9)C#4T==ZupStbV)dcy$2Ks>)bZV+n9jh9R27Z)U}1zD=3o72aSNY)#QywECPwcgM)Rw|O9KcTgAK!5)Vox>}14z5b_ z*F;^p43=5K>f)63`2~01{08rR^&7nX+E;n<&YLXHPjDNfb%?Pw?N&r@GUWK`G5ua! zj(IybZi(=hB&p(;_paT!)HnrZDYn!deL_o4MO-b!K zB5l=W4n>Jou?Uf3z;6N2lnD(6>P*gNO_o#16))C)eEHxWjR|N?_5?MK4v$fg$;CbV zxzFP1nt5`-Sh#e%`GV*UPCxnEUWxpNzwkkSU&prw^U7H>7l z1W_cJp3`yU{cajVyJb1{LPkA!^K3?Ma*fiq+2(6z(*@u7^4D0LpY!DYBfjT%{#JI6 zud?~R=ypQ-oj@T;ZcxeUc`)uX z?zhF(FSS~881C*0IZETD$cVvkm$Rp5R8_NTq9H>3<8lK#mT5GRkI}M z4a9x1#z81VRgA9_qC1Fd)RTA^APrYbRlPcEUThVRHQ%Cvh${Pb`8l7yyiJ z6&hGebtFVi$Cz&^ldL}0hd2N>ur+@H%ZJ;4<|lt5`49f(hy1gAo*@9w&j0lvd~Ps_ z-2Z9lHvco%bGrsZSvLwbaXmrz%3}AigbuWPBl3`R{}xUA77MPU3r=Zk+@MA7wkV?^ zwbLSQT*=KOW6QU=$sDqnY=&ntZ#)cRc$29)n>YH3N$o$^4RJv7jg_rRY^@LN+_q zbYJ>iVs}Ut4XA>?B48um5Ouq>x*^N?QlUn+D9EfQU;n1A(9d6&P^Ah0D)T~9Ue#2% z#uYpr1feE0&ouNrWTjixj;w_Nl5MOVbi7{i_19mg-R%l#=q0qvmtc@%iwz9bPzy*dO_{ zyDhq-iT3Xn!)&&qZV#!3$5ewuc3=7k!&@(~|KiIGZ@$Rn)^mirhXmsz2BV=^{@HrN zy?5{O?$^G-`I9pii=`&WJZtE7`s_^Fyzt>ydG&jKiyD{V-o8SnqV9yw?w%xoeyc;v zb$Ial*LeT6uk+b|_{+TUh1Zy#Orf%Rjt8MDa-OX#NhwENk1#MoU82#DE3bS&)B0q8 zmt?!3GZ-q>av5g~_YO%G8}5Govs~W0%X&Fij)mjq~+#($5=&%E+L-f57P4ZT!KAPJc{yG!jyfSGjl~PSdE0>gRSH0?$aA zI0y{;;|{$}hr01(%Cy<62`vO=A|DQ)hOiwf0n+n*p+T-|gmi?Sqt}#tBq}R=;k#9v zU%06GM&j{$>hLQYIIE#omwaE;@V)+w`0m$uxJ=o-ahu%0!}(S+)TWZj7+AnDdfx&V zbO4kQqT+8s(7#11KWPL3-8c@$-m(tAJ^Z#G{EGMKA3Ci*|933^tes~Kz_Zi))BoY| z+2!V^3%oxXbccQr_(VYC*LH}UtFjaa%fORbf>q@*7*7OG#_@)|$$-_xId6aMP14mG zgCXkm=nc9wWrm}DrmN7ROmaJ;3o>H0UyWf_l#&%1*O9k>o~QCBn5{C7 zt{(8gkG;x#s^1syoGxV86PN~TVVx9GJw#EY=A){SDk5+Vqh6az7iL4d6Y|QfBc4C( zF$^oRBqL60P3@}`!l=W0?>-7N<|O zs;I3`?YEg6-QeurJ_ovXLmd;S%6Z``8Q?#OS!r^c4KBAF?2p(H^&g1V9{RgQ?pk?pbT z7>YP1*(8$YZq85f^O$P8q>i@)y&m12J=s5pEuSzza>`aKP)g)xwPBq#OzVIX+u>_l zkJmO9{1z#Y@pL1O3dRDq!D^yckry{c z2lSfKvHC;|25_+G29SaPYrrUwj6L87jCD?b!!+p4@(cfrGy%_60MCx|r~X6ZSo=zh z^B?`Ah5g8{eevAfcyqyr4?7$ULVBT(tZZH6J#T6s*F?}%wA(@k6fTmNB?U%SuW4yi zgc|D-;;}dOxwUgdz1L7o6&{wTN~srT*m$nDEMAFV zi0{g(!6G%8~a$ruW{Wy8nR1DpsR* z_pP_+4m#Za;466HA=&mWyZsK?^eIX@i2bWq z=^tHXaBz&*Y7@9V>-++&#SKHj(AoQUIeqYia=YR5o%gtS_>?N%()B!YQ_yd_3MX=n zrf0352E7jLUW@jy&z0LR(w^+n8t;JTQg2rnTzZE$*?-{`1^%48{VvltU&CZuTAdyu zg*q1xry05IMR;Z!P4vZ2wEY=iW~w_N0Q0Ncyz}*^hQJRQ?hhRxm-wj zW2nhib8J*o@wHx(Y1JK*@B%AtZ!d{LOaH~IliFnw-~U118BfU4X6%)+5v08X}|)F%g1+pc3TkGT5=~tjj3fwB35`vfkTPO zbLqG9%}NmcYBm?k|Kj{y&R=C^b&*)dIaZTmL0KATccgVUQAF735ltq7G)ITmbdd|Z zN{vPkv~kLuW;>(YEOAyRw3Bn3Jf_YP*7G$E#f!}UHZ=Z5}lSLkKx!AJJ z3q0R2V8g+{p=%53%}Oc;zuP7{dJeZUrWUbjiOFL53)s3O-K=SKhk`;yNJ}$8^2uUN zk>$$CKerRSBKsDmMIe&an}|H>EH8HAb~(``aT z#kkkuwf8RxLq|odYz*r(W3!3b>9z2%9Pjr9mA`eeB5UAi+!Jg(9`xk^msSn`-9Pb% z`SpMF^St~11?Q<{zvED589}R~HPhwvoVpaMfWgpfxm+1XB9?BFl3vH>_;80_D-yY` zlEg6M@ZgC4{vM?pk`|V*6VYjTxK$=kgLt!1lPYp}7!q^_Y6OZT7P2&5ZbiE6%Fa1q zuj{kF->2K}N;=rT^&-JwPpX#H*&|6(`-j(XqKNhEQfr#U$qBE0=2uy*GfZB}kG~T( z_$~?qDr=+NcE9Z@+^E%SbMu8e9NxUCRZ?2HbPldCK02nzwiKHc9!5SCHVjGDTkd_~ z*I3+pPmYm;@tDdwWQC>O8{pYQjbf4ILKKF(`}B4Wa2=~PUVC>B;|H432ZvXP1|uYG z9gU?Xacx7qxFlcB#Sdum807+N6B;)n+PzBC>S4l`Tq)NlkMT`O6~}69J=YhnB8oZ` zMJkeRV{5VhgD{lyVuOqFDIAy1a7Y|7eQR#*dwMG_ z&={-(V880G=K1PydIWG4@}=IDf@D z=GeFf97k`CVpk0fh(J}*V0@STj?ZqlBS^e%YF1fE?Y5}g4x8Me_FD9eN0hF)9aMb4 zkNHG5<7};^-NxNqheIA=8HsNVbWlreZr~b~fX|y;I)!+8ccN3vX~b%eeb! z%5;@eWTl9DB#9Yq@do;@Eng;AcL2W3W` z=W-j|tP}jO1-76!=+U0+Da7dL&MT6p4V{d$>4NDxqt_ph#+i1?QNK$&48>K5XHz)_ z_QyNY-#>lwRQufCaL8i2qSy8bjZqGQaiHJtD@kv<+(`PkKW<9~+V8Z)rgvPQp7F&cDLfB~&T9-p03*Opq6LZ2j0+3803N*FYBdmV1P`Z6E* z)ThCVL}1%4x2Tv5hRil8LC~UVYW4;ltx@9XjM>GM`E<$o`IIcn6zp{V^o+AdPq_Es z2@jrJlB`qeETvDuIIOs~+rptz@}vBnf;N|@Pq}<>SDX;6RS3_6x8C9HufNIXfB9EA zfBQZ99{6OGGQ27nbOQZ+ei*2sDzZc#3%h$`ZoY7v!yDJJTA^8n*X~H=ktJKUv$>k5 z?P@_;*UC3|`o`;A-oG!GM~o5M-5u;Ry7dyB$sWmislcDCDCIJkCaDUa-|5KTUv7Te zl%UncIzGlaT3NWRBh#wQ<)u^w>-AbO!OM$F>ar2a5KWGuH^yuCgt%mj1?6(i;{A7U zi&)+ZUQ^@b8?DR&7pioFTr0ztNVJkB@Sobp{ehVQ;L;>9ZiuH3p#Z#3av9`M)hRd~QPFUN7D_~q*qeiR3M1N}}&JA|gnwa4%GyFw#E7kv+GiLoLmvN(Or z>HF_;dhY?7`HI=aB`x1!6v4&WDGecCe{jiz%QdC-(2h82Gd?_$Evg%YnxM-(!*17* zticUw96dfPx0xD7?zUb&%!xFGP*=O?Kc-)HBiq>BY-PfsbF2(LGijy;;}(j+k^OPFs8 zE|y!$vXY!_XMdk`yChjHv1JO`hAc@njh>xfva>T{Jnl<^*mhvt^4O%x`e*OTRrU{e z=?uC|FXoKeAyrYT(XqzGv4+4vS;N86fvjkQmM^m4yKmp)a+%Whj8p_(;45Ds%}W{! z7-{X<>xG)^BHu_!@zLMUb_|-Mlc=PNc_wyfb0YZ&RgfhJ!YjPtWA5 ze=*x|v5Z+H6;I9=%oZtUmrH8vFkQxMwmE)dIc&pT2L>INGD);H2)bRim5Vpn5i@^z zey+zmPD&m=e8k;1-{tU$m&+|igvpZKzR!3VP?nP9k!-ij z&!=oxOF3BXT)D#8(?_h%&T*+pHye@kz~j-^U*q!OeO`aN-PF)%`Jz6R})wgnkrxi6X$=fWqxE zPf96j=JORznzLzYx^>0#rsNaVjNjJU@;$E}^T`iCCr3cP+hJPxydAgs2eW{{t@!qS zDb4?-4SDS{r{lPM=WdrDxVgh`J??Vc@i|E=(h95<=}(OTi2aZL6Sw3y3kCIe07#`| z9Kc{PIO+r}ph@YDf$t7J{X@STeA^Gri_iZo|J0vn4ZySW(f|HW_T9Srw|cJouTMN1 zTn`;?wj6GCT|PVs`L?}~AAWwq?|pfXj}KkG>!8CcU5Dp84j-NbeCk@CPaQ_QJhXgp z&*#HOT|ROg@j}1k!}|eu#t!>kLoW<9`GjGlX`jjhR=aHK5^Rk_gHKK1I7CrMC?_?I z_!Nm^SXB%FWPj`Xbh=%-lO1}akzmB$uuBve$kuecicSRT>Z?L-WpKM>L&F98vPJWcs^RZztXWOQVWB#&5_ zEjOe#WVWq|i;_;uryW?Zm5>aX7D*j|ig%&Z!%`EoQJ9TkzDcpJFWq-hH2QaSSrV_7 zT%J8)vs!85?M-%Q54yzbHKxc}oSm?EdcyhBr!1DSrt{K^2>Ux^%S);)+xm+w&8 zlKJTcvXyr{*#=j2qe;Hij)WG}WrJ;CHk+#8Iwp{8(DOY?92ToBV5pjs!1M8qmEH30 zu*;P@xA@3+{Wb=Bd)$5JEzr^@kUKuyEjBKNNTLHbb4(mAhJ9suS$GBB*}BFJd7V=-O_Mdx^ z@s+ERJcgYv#`V>3&K})UB4(av%8%%_TSQ)^-Idw02b@PKr+!fz_Y z7gw7F>E#)-2lvHsXsVLlaDW^5a_gi@iMk_#(H@Q)QTrXz%2Q}mZ2~!VTA^DYgwYRh zvy?6k$6>=Qufi)TZu%8Jumiv4N{0{L*kQOc7Oy2u?-45?xZb=Kk3&o({b2ohF%R`Pvfr?>S8Iru# zMCJh7#X`}pRc#fmYAp)D$%~qJwUH*etQwNEr1ApoVoMBucffG}n3q2E0kYMM>HF_f zrdx`oyxt{`?7r|JKKA`Tz|EIm#LiB6^A~=GU;W%yczn7b@NsI=Agx+%>;?|2V5}1NC-tw8B{X4LYnXNbA z2Fw;K@}iRaVC2;Fhhv^x%$d$F7kjVI9|0b*U*cbX^WcZ6>`I<6)Ph!vn6| zzN19CdvCwR^zkWyt=QY?V}lOUv|+NpM{j4B;o-if{_SeXYPn#!ShLw=tmjKg6@Mit zg01Bf;A0g{TxTi60NOTZ)Q!LezY{XqKf*t_&UtQG#T9$wA@6+UHL$e^iOZxAnK4N# zd~3iZwdLjC-#=jQ;7AtHwyNk(CV)$S zG$K!8;&sX|f9A8i_ueC|gnE(3UN7M4@q`y&eTm`GRjnu7{zT99Znuk(EVrSsioqsb zE%A&|B(xW_xLB+O%Lh@Y#@vfSWeUvB=Q8*4d{2_dmT6d@+-KPB;D)}M^Po4RJKn?T z_K3PYs(6mcGd0zfH9{W%{HROq1sFg+VU49W7E_D3t57D-1Cms_ z?_sD}WGJqBPRKVl2+g}1RP36RW#e*pJI@e+XXpIw*RGBN=WmPyzJD*m?RgDBmEsl|Hr`OL7Hm$QkS;E1t!;SGP(UCS6+ODu-hhVcX8a1i_Jsh$QCQv+V)!pug>&%G-X3m>#uw$G4t6a4F(}n;>)yBDCK!yW;u&>N_W`8cN#g%rR%wz-X{C|LLu%yI$<4WlFE&SeOzET8Q`{h z*sx7!ywBe871ry8WRT~}Si1eX(ZtR1^=rg=&dukqGo7t@bbd(`wq*p>Zg*IvxpwxR zYY2Ro!%1JtgwdeK?szE8xZ@bU@!IRm9z7&54P#_~_gdDZ|tJ74>SfACzI z7k?|=Zohp!otfF?C7bzN4Erq3^ula)dkjY-x`Upk>wLSF$9a(?D(tRjbM6LCDgGWW% zH)4V(X@S&de#qI`lEpTq+wq7@h0u$5#Kt$q(rbls8l<+e7LF9ARC4n8u^bVXamoJC5u+P7 zIez(7u7B{OTzlmM9Nm7N)^Lm(z^2w?_Ws=moIH3csTq#LCQgWRAvQukdcI3!8p+It zk*ngLHirANgs1D8lXb;Bt~KQsb;CB^lCHMwc0BF8{lH^99_l%L&~peWF=a{1^GK6i z3Xgod!PJGG8&MQV-QY&zu_*f48Ut>?`0!Z9PGwVZaOaL7`?tRK4IbTn%IW2TBr6$o zJ5ol>78^A*jSROMTx;Z!QD&(WGV8^fx=cy7ONvyaPbmZ%Yee#>U4`SKE0zG^sd~ZiF%Y)(a03a1F5A( zs2!iAGO`fPhm9LBEgfv0FftX@dQLvQ5J@<90^YbR`AQNn!{ybW;8U%f zD;-Cu&x6Yqhus!8c1DskzPm2@2bVdY-B@M>g7FNo6zzw#Si z0S*66o@Xn7XXmS*|B|UUvkx>y@qdKo167Tj);!;nbDMEo?cNC^L2|CV{4;D>%Zbf* zeQ;1wu@qp8rr*qZx-dndplz)WuokLXiF8f6rHr>S2U*T$D%yFbDHq3cuvH}}zgC27 zL?}nSAx^7<7X;Wa0>_t*y3S%vroJCZiI8ts6e6dYYvq_Xee#%c`k0n2#5_;a zgxM-lqfz9kF8Fvpei$jrc+d^7wZ};ek2enO!I1dk31PkFV5h?ep4(;IvgGTSsx3L?Mwfo$B;YD7&a}BRf6dQc@{sZp6cb_nF`P8RB%pinzU2=N=J*qUvZ})J= z`z%X%dNw1e8j&j_n{j-&M`|6O&bHk7zz6wVzw6ssK7Gn({_cOp`Q?%{Z#X#EAuUVx z#$)=EF(>C2y!DNDalBB@esNhb-zqqXZl{G`R~+t+IGZiFvNORCd~r6Kq9ny(c>M<7 z_1k_MH(q`YFNnw+#AuHM^xe3@}j8R7L2(AaEE& zj;86b)z-9se;NyJ_C1fJEY*Zmi6U~c$?t{0Yzh2EjGkiDf6AE z)5QrwH6_dGg7xKvejlAdpAru+w1)$w1~&1UbhBbO*`Yn^6HN};WVJ}E-NP&RgB_eG z&|?75RqCa$Yy(H`jRxu(n2YOt-^cA;x+rNkde)BH#63!j|m-1cW1(B;qvzB zmeKwJJEI|eTZ%ARR=JRbM)@HD@8uppe^KySTya0E1kFdlZd38yhdsV`&*OIACv9L9 zz?dAnO^B0t1bV zw4Fv5GRi`drqihiswxuFkb8AQoD|^$-8X51@jl(KVX$;~H7y~zM-V|x?x$D=0)+0~nOA!cn`hAi(qu&aIBvm-4+%X8ZN>cjoFXgL zTrAGdj=O7-$ z(`CljFEhSyy5ZN?miuW%Re@;$2dpg3Ew%m4ngEObZ)FS&w*D4EV1KitpaCrUQij4> z^A|DZf4==oKc4VU@;qw*o}FL*{2R{Ybot$mseZcMYTcT&Ln6NsRA{WF70TmXMj(#k z2oZ2`^dz^MGDOS*qrE<+&T%b(()p;WT5x_SNn0iuJ4+K>;|LzMRvGb>80|*EfOR!d zdwz)93bktR{6K{!OA<^NQKvDs$_0(rbpbMVsZ{i2ExV1`Y&Sv>>Ub{bwkk_C6e?KB z77s|)D?##woaxa0wZ@}pT-uWfJ6CTIxK?ty1}O{xkM(NKVmd>sku;aFNmUk#{`Guc zQ|Y81G3>TjE|#n|3DdYF-X_}TdTzjQ*kdy2XsWAm`P{F4nY+^(&(putj`_x&Tl7py zb#Wh?uj#l(Is4Xt=Xz|@6ueNrRE50^fMaAWwJk}+v#$2aFzGo zy~|1K%@z^pl^UOU~xx9@TO#Ih_I-+dFh` zy~5{Tf1A^bGm+^=EuX8CF_keQ{=IzXkQZ+3^Edzg7kKYv$*b3nxOTWpk|ktm!7Cqp zh4Jo4K{mhg*)Q;9ww6lbcxNDPg~(WSLn{nbtotorQ1Ia}Vsg08l`Dsg_D3Q_R&Gn) z6LEo7C9X2#r>rjKEYDY1$I$YvWTM@14~$_j9210&cHZeWmhOI=H^gNlINfzT@>1|M zz0e^Fg_M!RIlcpVW4MT|9)Hhqx%(dE8N)%B(1k&}#e8}}8n5Yf zTY3|TFYwh&l~t+Na+=qqSteWEw;x;(x`8abhi#XGNe|aGBJb7K71V#UwnWQwH zFY_!ljb*}>Yd6@;XP9)Ofk44T28y(x>g_UbAF&L2931Y_8+0TQ?DxBR9K%*iUK~xb zlFOx6W%$0!d=*pRF&^}2o<5|!{|)?nO@DV^>xF!=0MDT{+Qr>Dpmcm(4?2g}hz3I% zKVV%L9>yhaEi;C#jvAq&v_fNE9vFtCkjEIIiyoa;i_4_u7w<3l{Kn<=>4qn(nA)Q2 zjIl)Pc(E1G$lRtb3n+7C z%3H@JuUy%&x@AdI$eai5o10whT8ty8y)J8NQ-eWdCtF)d!x}7MJ7T!IgWGE3_qqV` zakph5h%?VKx#|_h1J6)rRyujNZt$v{dcDMM5;{P-*~+4K{$xs86gX}N)9=xp922-u zhdn%JPU9@uE~Z>wZov21xpKtety`MNwC~Jwna9Y5&voeq;145KO+k@vMHcL}U50_L zG`h+btmY*b=QD94dhIqlj*n|Csbh%3K+`Lp!#2%%djB3bc3VuB=R8`)Tr80fK$fkk z%1V3wu(llbTtZVR-q!a+?J%pX1nbaX^}E9X>PEZuEK6mJTsMYXRoZYdU4adFa(bqH z_rigWizJNJxbhpAEi*oF!=ddv%uk=v+dX7eZ0WQIoSn}(-04B9Pdwj%b%{&?#ft64 zQ*Pe4!F&@d9k21b)V7gL^J=!_2_=ItB+E;gHQ_pv#^r?zjv??oR*RMH@9x2lAot1c z2p2<|l**h~$BFm=oxtEy(Qo_8BygLOG}%yG7|t)|ELJIxPc#{8wbKd$+4oK&kDXq? zc-W!c@^B-cXgJcvT}*si((1Oy_3pu7TXCXwo&~j!Q7wQRB2qGCgl5K_HUqwJX;c z?Tjd_)f(e-U;GB$eo9kR^t&DUy+8(6LFnPTu9PT&7vKWR^;(8ZM^}zX@`QG`hilpx z7krWIT?*?c(5vb6Xu1u3-=n{NAA+k~Y#bI%&9tdFUR=_$6-}>4;W>DnE~Sw%4`<6Y zMPV7W4C}XF$DcpO-A*BkS;s4ES!gxUd+sHA*Ke`0&>Qd38IQ>vp9h8E&C7y^o0REy&dtB}E}7I}I-L>6}fHDQzwq z?(_1;KhAbB)npjQ34UEFv1~9NiugC$+Y_taX$leD%Dl#4$+jy^4W5r+$f~p`+Sn5j zk8G2W=7pwh+dyeGH7GLIag5;AtSAtZA4vsSuQLX{E>BKQNNU3yPu66OufkST%F@RV zLS0nazQwm0p&QC4z?U2|ls`hRXGv4{UFfp`PPjqxSq?ClXG@< zcR0Je6wCbLe99)1B0}u>$~JU7hby}SC{u+$S=VP()DS4-MzFta1Qlyt)o~kc@ASEO z&|}n#)O=Y#pu$q(s?m}R)JnA?WN5igNY!8&td%ka$5_1vVy{oLcL%$Cz@Uz0QN1&a z^teC1Oa){2#zT&-UggG%FL3jv7r3~bF&d6V=zIL;*Lm-aui+PoVzT%4N4S(^ZkPUz z=LrWxR*MA%4i_gEy!o}an9gFvU$G@;XBVt57q}Kp?>mDwqtN5pUYE&aMA+*Ip7%o^ z8A1gCe$N(~H5>Ecv5()BG;T;;gQsZnie+K>)$^P$oNswj7#`LxlG37T zkHw-Qj};jgA)#O}fW@^SL=!|fcF-T_eS?nvonyac9ZaL9T?FL1v9;%zzd^&F-~PLQ zY{5T{^9%uacDz6P)6W0pqWs~nt}g!a$DU?;HzplAZq4;!#O+awgPx1ySQTvFH56q= zwoRl#UaWI2HaW9x!e*1OUBx0_4LT9yPRMh&_8E6w`u#T2R9kh$f)9hY9OD~c zxl|0TiAx5pKHbBPOi1)Ssg*Dnj)z38wn&9u=+PUG5vRcMl{RPHh}3m70ePh*nXgFW zoR04buFP`<+pviX^0bhd3)Vp)K0$=glQL6dlWaxY(~h-BQ{r3=6^~Ay5(Oc3lCanD z*g6rL&4xfyBvfo8kGZk}*7obbWh*Vt~>DpE^Iy4UvzjMaU=m@V{th#X}?;C0(fH!&CUweI8I z?wAKp&v<;XVAO4~+YhudD#}ti?Z%3PMLP)ONLU%DJ0nhK8%@$pRw)PHQ@pE-=TuzX zZE@K5WNF+T4{)#Ergd;t+!Ehu*lf0BS;g|=l+F1WRF=%5Nz%2gt#& zAlyF0Z+paRhpcj0o+s=NBd+XsA?(oIJrEf-XhrmPccnsT4<~r-E-xP*@cegtC;8%1 ziG5C$u$eDpL7hA~p*UG^@BR1X?O&#e-0&X0_ei$Et+TPy6^p zvbKN3wg$9ua z!!Xc_!wGzfqEHmD2}3nh!)q^5?_8(xTFm1dzuzJE9Ncb~=KZe_#xr`puN7G3cEqV5 z-YRe4!7L%aIOWJ|s5Te4MM}HZqw)a1OMAR89*}Kyv7v{tj#wiQP`htQTZSYF-@_`@GO;7M%x`*-L3 zUmqo0G`^Z|sr)Qh8h~#m31S=!pcVmrh-`t40SsVui?!%lV1Y(tK=j903{nTU*yay` z@jHM1r~hpH@BYM$|2ogJ2H@H8|I}Y~sQG=?v48nt-t0VmvcNl8GxQ8MhHY+j1NJ&D zO;Hm#mTThJGfQP@Io7!5MhscWdUX9dA(rJ#4LrLb1Je-|VdtMVKVqkUnWZ)mnlvh9+_8d=-! zUU`|?dYnDD%cHxG@Y{V_-7%}hQh`16+AJ3F(HPw2RweAOej!?-`v#AupY>VYK9 z*lrWN?u6MorRzncO~8D;%9erLHdbC21D#`GSLskiX zRk7}LT52HTtQJH6>fR9JC)}InB*x-OVpub51?&#`GIhCn^O%fOH*s; zb-28^WR>K)(Bx$WAUC*eS_n3$wulvP8^*mc7ngIH=bSA!wD(5fIBGVE^%Bo>xJ+{T ziU0Q)dy-n3bOdmbw^m5K8f7kC~x?J$|E3e_WJz6$q_UL`Q@iDL7IOOd7jQOTi zKK<@w$oiho_NOK$C7C&|wl4*SgJa~1W_ zYp@hNp2e&xhy9(97w+7VZ$Q&jLTy4S4i5U-U~0 z6bXxDZ^>%T#oag9oIas9^?3a7l&W^9qkxWUM8qr`s|ogWw!+L;SX>O?d#>(Je=y|b z54}X^$~AV5uHm zN0!~T$~nLHfW^g(WVNOdVg^w=z;_^Y(OSd{e99VX5HG?HjS#5ya?bJbG2Up*^8K8h zgMC(Yjcsx!-GFUT;-_2k?NYC)&<}8Z2UBHQ=d^nvRa3D!J0q$Z+@=tc=KB%tRzSFtnueX7=w)70VJq-N!W+zAY?_G*rH`wSg}O9QmP%3+A0sqo_s z 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%0A_=F;>glKo~_>z^r{)bX2v(Z^iAG*@0h!HPdUF> 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 z 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 Kxq+ZDaIB!R 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

t4N}Tc*P(b-#&`is&PIyL2l&c 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 Ud(?iYHsE-X49^?X5-Ifm0RrPCxc~qF diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json deleted file mode 100644 index cf0bfdaf8ccd0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "notification-bar-app", - "version": "1.0.0", - "description": "", - "author": "", - "license": "MIT", - "scripts": { - "start": "app-dev-server" - }, - "dependencies": {}, - "devDependencies": { - "@posthog/app-dev-server": "^1.1.1" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml deleted file mode 100644 index 175ea59a46788..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/pnpm-lock.yaml +++ /dev/null @@ -1,571 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - '@posthog/app-dev-server': ^1.1.1 - -devDependencies: - '@posthog/app-dev-server': 1.1.1 - -packages: - - /@babel/standalone/7.19.5: - resolution: {integrity: sha512-H2eXpo1ZfTZhBwsCbfSKHrjTb934laSas14hdjULLSKmLxU4B7kazQKm3mjpDuH/HyPmRq1cbrGL7223M7EDFw==} - engines: {node: '>=6.9.0'} - dev: true - - /@posthog/app-dev-server/1.1.1: - resolution: {integrity: sha512-da/K/Q/UKVTLKFn1rVhgXsXI+Fde/4pYV4MzZ6fe8RWYgdBh+KwBjwfYO/R9Xv5t96S/HHiHWoZto5ezJxdf+A==} - hasBin: true - dependencies: - '@babel/standalone': 7.19.5 - chokidar: 3.5.3 - cors: 2.8.5 - express: 4.18.2 - fs-extra: 10.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /accepts/1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /array-flatten/1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true - - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /body-parser/1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /bytes/3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: true - - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.3 - dev: true - - /chokidar/3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /content-disposition/0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /content-type/1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - dev: true - - /cookie-signature/1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true - - /cookie/0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: true - - /cors/2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: true - - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: true - - /depd/2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true - - /destroy/1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true - - /ee-first/1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true - - /encodeurl/1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true - - /escape-html/1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true - - /etag/1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true - - /express/4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /finalhandler/1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /forwarded/0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: true - - /fresh/0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true - - /fs-extra/10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /get-intrinsic/1.1.3: - resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true - - /has-symbols/1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /http-errors/2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: true - - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /ipaddr.js/1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: true - - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.10 - dev: true - - /media-typer/0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: true - - /merge-descriptors/1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true - - /methods/1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: true - - /mime-db/1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: true - - /mime-types/2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: true - - /mime/1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - - /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - - /negotiator/0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /object-assign/4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true - - /object-inspect/1.12.2: - resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} - dev: true - - /on-finished/2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - - /parseurl/1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true - - /path-to-regexp/0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true - - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /proxy-addr/2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: true - - /qs/6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 - dev: true - - /range-parser/1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true - - /raw-body/2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: true - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /send/0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /serve-static/1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: true - - /setprototypeof/1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true - - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 - object-inspect: 1.12.2 - dev: true - - /statuses/2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: true - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /toidentifier/1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true - - /type-is/1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: true - - /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true - - /unpipe/1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true - - /utils-merge/1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true - - /vary/1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock deleted file mode 100644 index 9256aa3fc6026..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/yarn.lock +++ /dev/null @@ -1,22 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"js-tokens@^3.0.0 || ^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== - -loose-envify@^1.1.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" - -react@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890" - integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ== - dependencies: - loose-envify "^1.1.0" diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig deleted file mode 100644 index b0b709a63cc2d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 120 - -[*.md] -trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes deleted file mode 100644 index dfe0770424b2a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore deleted file mode 100644 index abd8ee954280e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.gitignore +++ /dev/null @@ -1,76 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/ - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# environment variables file -.env -.environment - -# next.js build output -.next - -# editors -.vscode -.idea - -# yalc -.yalc -yalc* - -# macOS -.DS_Store - -# output -dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore deleted file mode 100644 index 1521c8b7652b1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md deleted file mode 100644 index edd1a5a3e29f6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# PostHog Integration with Pace platform - -This is a very simple app that forwards any event that it receives to Pace's -internal ingestion endpoint, using which Pace creates intelligent insights -and metrics for customers to consume. - -Requires only a single config variable: **API Key** to authenticate with Pace API. \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/logo.png b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/logo.png deleted file mode 100644 index aa635124d958a0129d5cba42e81549b0dcbad12a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7236 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 Sr!{~7lT&-7rBtn875P7)mD~9M diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json deleted file mode 100644 index 78613b663a49a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "posthog-pace-plugin", - "version": "1.0.0", - "description": "Send events to Pace", - "keywords": [ - "posthog", - "plugin", - "Twilio" - ], - "main": "index.ts", - "repository": "github:PostHog/pace-posthog-integration.git", - "author": "PostHog ", - "bugs": { - "url": "https://github.com/PostHog/pace-posthog-integration/issues" - }, - "homepage": "https://github.com/PostHog/pace-posthog-integration#readme", - "license": "MIT", - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc" - }, - "dependencies": {}, - "devDependencies": { - "@posthog/plugin-scaffold": "^1.6.0", - "@types/jest": "^26.0.24", - "@typescript-eslint/eslint-plugin": "^4.33.0", - "@typescript-eslint/parser": "^4.33.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "~4.3.8", - "jest": "^26.6.3", - "jest-fetch-mock": "^3.0.3", - "lint-staged": "~10.5.4", - "prettier": "^2.8.8", - "ts-jest": "^26.5.6", - "typescript": "^4.9.5" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock deleted file mode 100644 index 8a520bb9eb685..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/yarn.lock +++ /dev/null @@ -1,5203 +0,0 @@ -# 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== - -"@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" - -"@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.0.0", "@babel/code-frame@^7.22.13", "@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.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.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" - integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== - 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.7" - "@babel/parser" "^7.23.6" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.7" - "@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/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-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.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-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-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.8.0": - 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-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-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.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/helpers@^7.23.7": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" - integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.7" - "@babel/types" "^7.23.6" - -"@babel/highlight@^7.10.4", "@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", "@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-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.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-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-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.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-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/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.1.0", "@babel/traverse@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" - integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== - 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.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.3.3": - 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== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@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.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/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.17", "@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" - -"@maxmind/geoip2-node@^3.4.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" - integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== - dependencies: - camelcase-keys "^7.0.0" - ip6addr "^0.2.5" - maxmind "^4.2.0" - -"@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": - 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" - -"@posthog/plugin-scaffold@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.6.0.tgz#3ffb77229538f84b60debe67199670b284cf107e" - integrity sha512-omo4bGauCagSOo4Kc0wuI+2Lj+X6SCHtlLCW5azfZBhCllgcBWYEX3luUzMcd1oyQN1NX/uUNFxBjyoMuYv+hg== - dependencies: - "@maxmind/geoip2-node" "^3.4.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - 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.4", "@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/graceful-fs@^4.1.2": - 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/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@^26.0.24": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@^7.0.7": - 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/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/node@*": - version "20.10.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.8.tgz#f1e223cbde9e25696661d167a5b93a9b2a5d57c7" - integrity sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA== - dependencies: - undici-types "~5.26.4" - -"@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/prettier@^2.0.0": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - -"@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/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@^15.0.0": - version "15.0.19" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" - integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@^4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -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" - -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@^6.10.0, ajv@^6.12.4: - 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.1: - 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" - -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-regex@^5.0.0, 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@^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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - 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" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -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-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-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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -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.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" - -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" - -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== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -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== - -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== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -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== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - 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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - 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== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -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" - -buffer-from@1.x, 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== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - 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-keys@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - -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.0.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-lite@^1.0.30001565: - version "1.0.30001576" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4" - integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -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.1.0: - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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-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@^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" - -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== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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== - -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== - -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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -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== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -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== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -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== - -cosmiconfig@^7.0.0: - 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" - -cross-fetch@^3.0.4: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== - dependencies: - node-fetch "^2.6.12" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: - 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@^2.2.0, debug@^2.3.3: - 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@^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.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.2.1: - 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.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -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.2.2: - 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== - -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-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" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -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== - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -electron-to-chromium@^1.4.601: - version "1.4.628" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.628.tgz#97cefa4b2356d981875f19639885e4fc50ce6e82" - integrity sha512-2k7t5PHvLsufpP6Zwk0nof62yLOsCf032wZx7/q0mv8gwlXjhcxI3lz6f0jBr0GrnWKcm3burXzI3t5IrcdUxw== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5, 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" - -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" - -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-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" - -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-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== - -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@^8.10.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== - -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-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.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-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - 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: - 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== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -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== - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.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-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: - 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== - -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" - -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" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -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-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 "^3.1.2" - -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" - -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== - -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" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -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.1.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.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" - -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" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - -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== - -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: - 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-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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - 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" - -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.6.0, globals@^13.9.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.0.3: - 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" - -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" - -graceful-fs@^4.2.4: - 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== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== - -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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -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" - -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== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-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" - -https-proxy-agent@^5.0.0: - 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" - -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== - -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 "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -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" - -ip6addr@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" - integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - -is-accessor-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" - integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== - dependencies: - hasown "^2.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-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-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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.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-data-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" - integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" - integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" - integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -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-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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - 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-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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-plain-object@^2.0.3, 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: - 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-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -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.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-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-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -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== - -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@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, 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@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -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-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.0.2: - 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" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -jest-fetch-mock@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz#31749c456ae27b8919d69824f1c2bd85fe0a1f3b" - integrity sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw== - dependencies: - cross-fetch "^3.0.4" - promise-polyfill "^8.1.3" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -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@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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" - -jsdom@^16.4.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.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== - -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: - 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== - -json5@2.x, 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== - -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" - -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" - -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, kind-of@^3.0.3, kind-of@^3.2.0: - 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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - 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== - -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" - -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== - -lint-staged@~10.5.4: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - 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" - -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" - -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.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash@4.x, lodash@^4.7.0: - 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" - -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" - -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: - 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-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -maxmind@^4.2.0: - version "4.3.18" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.18.tgz#ad83f38d718ca5395c5d722933a109b7cb009226" - integrity sha512-5b9utU7ZxcGYTBaO7hCF0FXyfw3IpankLn+FnLW4RZS1zi97RBeSdfXJFJlk5UxNsMiFZlsdMT3lzvD+bD8MLQ== - dependencies: - mmdb-lib "2.1.0" - tiny-lru "11.2.5" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, 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: - 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: - 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" - -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== - -minimatch@^3.0.4, 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" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mmdb-lib@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.1.0.tgz#c2456caaf4c7ffa056f77575da6d40988e9e878b" - integrity sha512-tdDTZmnI5G4UoSctv2KxM/3VQt2XRj4CmR5R4VsAWsOUcS3LysHR34wtixWm/pXxXdkBDuN92auxkC0T2+qd1Q== - -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.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -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== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-fetch@^2.6.12: - 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-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-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-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== - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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: - 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" - -nwsapi@^2.2.0: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -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-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-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -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.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.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -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" - -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: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.9.1: - 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" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -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: - 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@^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-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-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: - 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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -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-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, path-key@^2.0.1: - 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-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== - -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.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.1: - 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.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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -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@^2.8.8: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-polyfill@^8.1.3: - version "8.3.0" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.3.0.tgz#9284810268138d103807b11f4e23d5e945a4db63" - integrity sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg== - -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" - -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@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -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== - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.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" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - 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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.18.1, resolve@^1.22.4: - 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" - -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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -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" - -rxjs@^7.5.1: - 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-regex-test@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.1.tgz#207369b445fd007e534864635b28b2ae7b105783" - integrity sha512-Y5NejJTTliTyY4H7sipGqY+RX5P87i3F7c4Rcepy72nq+mNLhIsD0W4c7kEmduMDQCSqtPsXPlSTsFhh2LQv+g== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - is-regex "^1.1.4" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== - -semver-regex@^3.1.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" - integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5, semver@^7.5.3: - 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" - -semver@^6.1.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== - -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: - 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" - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -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== - -shellwords@^0.1.1: - version "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== - 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: - 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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -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.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.16" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -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.2: - 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" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^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.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" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.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.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== - -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.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-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.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== - -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== - -table@^6.0.9: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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== - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -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== - -tiny-lru@11.2.5: - version "11.2.5" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.5.tgz#b138b99022aa26c567fa51a8dbf9e3e2959b2b30" - integrity sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw== - -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-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^4.0.0: - 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@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -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" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -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" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -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-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-fest@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -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" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -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== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -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== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -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" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.4.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" - integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -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-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - 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" - -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@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.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-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-pm-runs@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" - integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - 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, which@^2.0.2: - 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" - -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@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -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== - -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: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.x: - 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-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.4.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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore deleted file mode 100644 index 7a1537ba06480..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.idea -node_modules diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc deleted file mode 100644 index 11d8d0021d487..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120, -} diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md deleted file mode 100644 index 74f8967c22070..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/README.md +++ /dev/null @@ -1,42 +0,0 @@ -This is a sample [PostHog Site App](https://github.com/PostHog/meta/issues/63). - -# 🍍🍍🍍 Pineapple Mode 🍍🍍🍍 - -Because everything's better with falling pineapples. - -![2022-10-13 16 38 04](https://user-images.githubusercontent.com/53387/195627275-5dce555c-93f0-4011-a349-069e9fe22aab.gif) -![2022-10-13 16 36 01](https://user-images.githubusercontent.com/53387/195626733-928d5965-df71-4477-9e23-dcfbd342d08a.gif) - -## Installation - -1. Make sure you have enabled `opt_in_site_apps: true` in your posthog-js config. -2. Install this app from PostHog's app repository. -3. Enable and configure the app for your site. - -## Template for your project - -To use this project as a local template, run: - -```bash -npx degit posthog/pineapple-mode-app my-new-app -cd my-new-app -pnpm install -pnpm start -``` - -## Local development - -If you wish to make this a juicier example app, then clone the repo and run the following: - -```bash -npx @posthog/app-dev-server -``` - -or - -```bash -pnpm install -pnpm start -``` - -Then browse to [http://localhost:3040/](http://localhost:3040/), open `site.ts` in an editor, and hack away. diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/logo.png b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/logo.png deleted file mode 100644 index 89083e56a771b037a52c847323d8df6dc7ca3d3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128826 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

K?p69(SLJ}V%$2aE#gZNY`2KN-^+_PKU_i*H;y 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

U!XhI$OT2M4cE3U zNusDX1UkssKG@;J@iQ2q2oM-dS=Remv!Ki*Mwg5*pVhrvOxf$XaZiAClMzrrRX_$v zX;4BTF(_Fo8_Uwn1dGIvR2yOBSdK<2at*2sHj2`+N?4|pB#SjKMpt>b{z+QOI%HW& z#l8|uMIjGH__Ds<;P8nf*xYih*Wl5!-_5n!GF#Wa48>{GXhaYiI5tOccb8!=r5ZPA zv|>7&2~i{v28t|21r4&m(%ad^l;SR;FrQTZK=^hFN7{$FwIp`YSG@B_3?JO(o6`hy3k{7t6f zdla`MX8m*II%JsVOy(u~S6=7npv&6jUt^mpVVq)2O3lQ~1PUz91vwLf2RV#{!1}~j z>IV4NCiCW(gaY4Y8HrGW(~o_KxrG%h-h-pHdK4p}a^fscv`5^TJ;wHE2QgjeThGk1 zdA~=}>C!Ph9vqz~A?E4Ouqra{5Yo4nz8@$1N*mD9FD{h?ATVHsqAq-JR^T;13~6w3 zdR2ez{@q(eVNZ@SLw~r#!Tx2QIsYt*5GgdFthi`}DEIk|#{dFwEkTLgQc}3QvTiA! z7?vWS#vd&}Kp7xnqp5!JpRji6*E#>Kr`Xu&vOWO4{uZ5sb@n%Ja{l>;SXdhI%I9C< z>=WO@`Sv1D96w5c;w!)Q%dA~~g@Zvs8U-{L6{9$3a}uEHmP%^|YLa!51}wg2DFd34xDjX|yk=ltUc`#PyCzxp)(4mJrYNrg)@20gCM$_i zNF|AlMJrJXHd>^GPdYaQrk-a?DVIS5p&fxnrLdD23K>vWf)f?Nk%gm#7@pkk zv3U^l_WZ{gh#K41U*YT3RW^6;Aotc0vWg5qij$ki;c93d@bxzkSvQ0F8hbhgp8|AWhj?zs=&@GDyq% z_8JSVDq%29Bc1~5FLIe8J(yr+nH?qCl*%ct^c7Tt5G5solJk!sC{fC)fLeM$ZG46E z4|hoyevI9BKE=2-!j9JHT)E6)(d3lrlcjT9IQs}6c=iQ$-}wsi&=TKx1xkhlKp1(_2m&xA*WGF6E9$jr z-hcLKmRfBJSCv6r6e!^pXJ#%U1po={!LN#E?!%Lbf0Y8jaY*uF}qKEtUXp(hOYx2|(;?h%fw zAsLDT8$hgB&-_kIBn^p{XrQLN#9ptkNJ<_<4pk$aaxiGJ@@y!bIiEi*EOK^%Qy>05 zWYOpF`lpc}{v==TZBUP%XLn)6*{9D3mUo7NB`FwS*e4*zU`tG?JfbB9--0dOuKXyp zY;o<^0TjSr{!jnZ(IQVizOlE-vH2Rq?iPdLJ^=-B9I>|BXRb9zpaQRVM=7XSQa5t| zz!(q23>`tkpvvD2fB@rIL+UKK?MD{?spF9$aOspR>~rh!#Lr4Xw0=2xbZDt9<<3¥q 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.9.0'} - dev: false - - /@posthog/app-dev-server/1.1.1: - resolution: {integrity: sha512-da/K/Q/UKVTLKFn1rVhgXsXI+Fde/4pYV4MzZ6fe8RWYgdBh+KwBjwfYO/R9Xv5t96S/HHiHWoZto5ezJxdf+A==} - hasBin: true - dependencies: - '@babel/standalone': 7.19.5 - chokidar: 3.5.3 - cors: 2.8.5 - express: 4.18.2 - fs-extra: 10.1.0 - transitivePeerDependencies: - - supports-color - dev: false - - /accepts/1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: false - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: false - - /array-flatten/1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: false - - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: false - - /body-parser/1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - 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 - transitivePeerDependencies: - - supports-color - dev: false - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: false - - /bytes/3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: false - - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.3 - dev: false - - /chokidar/3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: false - - /content-disposition/0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /content-type/1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - dev: false - - /cookie-signature/1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: false - - /cookie/0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: false - - /cors/2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: false - - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: false - - /depd/2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /destroy/1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false - - /ee-first/1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: false - - /encodeurl/1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: false - - /escape-html/1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false - - /etag/1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: false - - /express/4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} - 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 - transitivePeerDependencies: - - supports-color - dev: false - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: false - - /finalhandler/1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - 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 - transitivePeerDependencies: - - supports-color - dev: false - - /forwarded/0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fresh/0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: false - - /fs-extra/10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: false - - /get-intrinsic/1.1.3: - resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: false - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: false - - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: false - - /has-symbols/1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: false - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: false - - /http-errors/2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: false - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: false - - /ipaddr.js/1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: false - - /is-extglob/2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: false - - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: false - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: false - - /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.10 - dev: false - - /media-typer/0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-descriptors/1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: false - - /methods/1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: false - - /mime-db/1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types/2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /mime/1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false - - /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: false - - /negotiator/0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: false - - /object-assign/4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: false - - /object-inspect/1.12.2: - resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} - dev: false - - /on-finished/2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: false - - /parseurl/1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: false - - /path-to-regexp/0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false - - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: false - - /proxy-addr/2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /qs/6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 - dev: false - - /range-parser/1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: false - - /raw-body/2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: false - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: false - - /send/0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - 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 - transitivePeerDependencies: - - supports-color - dev: false - - /serve-static/1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: false - - /setprototypeof/1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 - object-inspect: 1.12.2 - dev: false - - /statuses/2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: false - - /toidentifier/1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /type-is/1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: false - - /unpipe/1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: false - - /utils-merge/1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: false - - /vary/1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml deleted file mode 100644 index afb5e5915a71f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.github/workflows/ci.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: CI - -on: - - pull_request - -jobs: - lint: - name: Code formatting & linting - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - - name: Set up Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - cache: 'yarn' - - - name: Install dependencies - run: yarn install --frozen-lockfile - - - name: Check formatting with Prettier - run: yarn format:check - - - name: Lint with ESLint - run: yarn lint:check - - - name: Check Typescript - run: | - yarn typecheck - - test: - name: Test - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v2 - - - name: Set up Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - cache: 'yarn' - - - name: Install dependencies - run: yarn install --frozen-lockfile - - - name: Run tests - run: | - yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore deleted file mode 100644 index 12ac647202705..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE deleted file mode 100644 index 0218251e4a443..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2022 Paolo D'Amico - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md deleted file mode 100644 index 874da3d191f97..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/README.md +++ /dev/null @@ -1,34 +0,0 @@ -This plugin is deprecated, use IP anonymisation in project settings with geoIP app to remove IP. Use filter out plugin to remove any geo info not wanted. - -Advanced GeoIP logo - -# PostHog Community App: Advanced GeoIP - -This app extends functionality for the [GeoIP app](https://github.com/PostHog/posthog-plugin-geoip). This functionality cannot be part of the main GeoIP app as that app is stateless: - -1. Enables discarding IP addresses after GeoIP lookup is processed. This is particularly helpful for privacy preservation and compliance. IP addresses are considered PII in several countries. -2. Enables discarding entire GeoIP information for events that come from certain libraries. For example, you probably don't want to assign locations to users that belong to your server. I've used it to ignore IP address and GeoIP information from my backend. - -## 🚀 Usage - -To use it simply install the app from the repository URL: https://github.com/paolodamico/posthog-app-advanced-geoip or search for it in the PostHog App Library. - -## 🧑‍💻 Development & testing - -Contributions are welcomed! Feel free to open a PR or an issue. To develop locally and contribute to this package, you can simply follow these instructions after cloning the repo. - -- Install dependencies - ```bash - yarn install - ``` -- Run tests - ```bash - yarn test - ``` -- Install app in your local instance by going to `/project/apps` in your PostHog instance, clicking on the "Advanced" tab and entering the full path where you cloned the repo. Please note that running apps locally on PostHog is currently buggy (see [posthog#7170](https://github.com/PostHog/posthog/issues/7170)). - -## 🧑‍⚖️ License - -This repository is MIT licensed. Please review the LICENSE file in this repository. - -Copyright (C) 2022 Paolo D'Amico. diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/logo.png b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/logo.png deleted file mode 100644 index 7ec398a74dfa158f8d41f15fc69f722f2950ac68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103564 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 M=$gWbw;f~u2WTD7o&W#< diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json deleted file mode 100644 index 572f4bb21d10d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "posthog-app-advanced-geoip", - "version": "0.0.1", - "description": "Advanced GeoIP filtering app for PostHog", - "main": "index.ts", - "repository": "github:paolodamico/posthog-plugin-advanced-ip", - "homepage": "https://github.com/paolodamico/posthog-app-advanced-geoip#readme", - "scripts": { - "test": "jest .", - "lint": "eslint --fix .", - "lint:check": "eslint .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "typecheck": "tsc" - }, - "author": "", - "license": "MIT", - "devDependencies": { - "@posthog/plugin-scaffold": "^1.4.0", - "@types/jest": "^26.0.19", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "eslint": "^7.21.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "~4.3.6", - "jest": "^26.6.3", - "lint-staged": "~10.5.3", - "prettier": "^2.2.1", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && yarn typecheck" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock deleted file mode 100644 index 29e006d1a060c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/yarn.lock +++ /dev/null @@ -1,4938 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@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.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" - integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.10" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.10" - "@babel/types" "^7.17.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" - integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== - dependencies: - "@babel/types" "^7.17.10" - "@jridgewell/gen-mapping" "^0.1.0" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" - integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@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.8.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helpers@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" - integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" - integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" - integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== - -"@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.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-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-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.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-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/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" - integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.10" - "@babel/types" "^7.17.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" - integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - 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== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== - -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@maxmind/geoip2-node@^3.4.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" - integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== - dependencies: - camelcase-keys "^7.0.0" - ip6addr "^0.2.5" - maxmind "^4.2.0" - -"@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": - 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" - -"@posthog/plugin-scaffold@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.4.0.tgz#72bf605f7d3747e6c3f1c0be71a2856a83a6389a" - integrity sha512-vDSc0ElMeeZkCGRjfIqkzTYZxeL7dOc0osw4wbQ0gLt0N2Csy4H/gHtoj0qum/b90ge3cGcHyHYIwld804mrfg== - dependencies: - "@maxmind/geoip2-node" "^3.4.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" - integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^26.0.19": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@^7.0.7": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/node@*": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.32.tgz#51d59d7a90ef2d0ae961791e0900cad2393a0149" - integrity sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" - integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.12.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@^4.12.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - -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" - -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@^6.10.0, ajv@^6.12.4: - 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.1: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -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-regex@^5.0.0, 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@^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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.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== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - 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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - 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== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.20.2: - version "4.20.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== - dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" - -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" - -buffer-from@1.x, 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== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -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" - -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@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - -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.0.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-lite@^1.0.30001332: - version "1.0.30001340" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz#029a2f8bfc025d4820fafbfaa6259fd7778340c7" - integrity sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -chalk@^2.0.0: - 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.1.0: - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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-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@^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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -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== - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: - 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@^2.2.0, debug@^2.3.3, 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@^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.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@^0.1.3, 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.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5, 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" - -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" - -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" - integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - regexp.prototype.flags "^1.4.1" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.1.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^7.21.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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.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: - 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== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.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-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - 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: - 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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.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-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 "^3.1.2" - -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@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - 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" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -functions-have-names@^1.2.2: - 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== - -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: - 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.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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -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.6.0, globals@^13.9.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.3: - 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" - -graceful-fs@^4.2.4: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -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 sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.1, 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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -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== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-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" - -https-proxy-agent@^5.0.0: - 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" - -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== - -husky@~4.3.6: - 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 "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -ip6addr@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" - integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-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.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.8.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" - integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== - 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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - 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-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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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: - 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-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -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 sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -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-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -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-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-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== - 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-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.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.0.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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" - -jsdom@^16.4.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json5@2.x, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -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" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -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== - -lint-staged@~10.5.3: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - 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" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -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" - -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.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@4.x, lodash@^4.7.0: - 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" - -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" - -make-dir@^3.0.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-error@1.x: - 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-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -maxmind@^4.2.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.6.tgz#5e4aa2491eef8bd401f34be307776fa1fb5bc3ca" - integrity sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg== - dependencies: - mmdb-lib "2.0.2" - tiny-lru "8.0.2" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, 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: - 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: - 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" - -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== - -minimatch@^3.0.4, 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" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mmdb-lib@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" - integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -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-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -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.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -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: - 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" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.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-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-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -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: - 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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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-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== - -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.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.1: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -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" - -psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -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== - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "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@^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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -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" - -rxjs@^7.5.1: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver-regex@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" - integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.1.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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "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== - 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: - 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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^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.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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.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== - -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.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-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.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== - -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== - -table@^6.0.9: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tiny-lru@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-8.0.2.tgz#812fccbe6e622ded552e3ff8a4c3b5ff34a85e4c" - integrity sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg== - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -ts-jest@^26.4.4: - 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" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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-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-fest@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.1.3: - version "4.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" - integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== - -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" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -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-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - 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" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.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-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" - integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== - -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, which@^2.0.2: - 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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -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== - -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: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.x: - 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-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.4.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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml deleted file mode 100644 index 88ac30065f4e0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.github/workflows/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: CI - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v2 - - name: Set up node - uses: actions/setup-node@v1 - with: - node-version: '14' - - name: Install dependencies - run: npm install - - name: Run tests - run: npm test \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore deleted file mode 100644 index 3306d94f597dd..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -node_modules/ -.npm - -# Editors -.vscode -.idea - -# Yalc -.yalc -yalc* - -# macOS -.DS_Store diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE deleted file mode 100644 index 4a1ada09a2059..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2023 Helicone Inc - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md deleted file mode 100644 index 39dae400c295a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# PostHog Plugin: Hello World Starter Kit - -[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) - -This is a basic exemplary PostHog plugin. It adds property `"greeting"` to every event, with a configurable value (default: `"Hello world!"`). - -Feel free to use it as a base for your own plugins! - -## How to develop - -All of the plugin's code is located in the `index.js` file, which is JavaScript ran inside of PostHog. -To get yourself up to speed with this environment, we sincerely recommend checking out our [Plugins overview in PostHog Docs]([the Plugins Overview](https://posthog.com/docs/plugins/build/overview). -For a crash course, read our [plugin building tutorial in PostHog Docs](https://posthog.com/docs/plugins/build/tutorial). - -## How to test - -To test the plugin, you'll need to install a few `npm` dependencies already specified in `package.json`: -```bash -npm install -``` - -This will get you the testing library Jest and some our test helpers. -Then to run tests it's just: - -```bash -npm test -``` - -## How to install - -1. Open PostHog. -1. Open the "Data pipelines" page from the sidebar. -1. Head to the "Apps management" tab. -1. "Install from GitHub, GitLab or npm" using this repository's URL. - -## Questions? - -### [Join our Slack community.](https://join.slack.com/t/posthogusers/shared_invite/enQtOTY0MzU5NjAwMDY3LTc2MWQ0OTZlNjhkODk3ZDI3NDVjMDE1YjgxY2I4ZjI4MzJhZmVmNjJkN2NmMGJmMzc2N2U3Yjc3ZjI5NGFlZDQ) - -We're here to help you with anything PostHog! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/logo.png deleted file mode 100644 index 862a966738036f30864885769956065991db53ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6761 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 LNkvXXu0mjfv7n_6 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json deleted file mode 100644 index fd86b45ac8c2e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "posthog-ai-costs-app", - "private": false, - "version": "0.0.1", - "description": "Calculate costs for AI generations events based on the number of tokens.", - "license": "Apache-2.0", - "dependencies": { - "js-big-decimal": "^2.2.0", - "tsup": "^8.3.5" - }, - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc", - "build": "tsup src/index.ts" - }, - "devDependencies": { - "@babel/preset-env": "^7.16.11", - "@posthog/plugin-scaffold": "^0.12.10", - "@types/jest": "^26.0.19", - "@types/node-fetch": "^2.5.10", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "babel-jest": "^27.5.1", - "eslint": "^7.21.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "~4.3.8", - "jest": "^26.6.3", - "jest-fetch-mock": "^3.0.3", - "lint-staged": "~10.5.3", - "node-fetch": "2.6.2", - "prettier": "^2.2.1", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit && pnpm build" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - } -} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml deleted file mode 100644 index 5822680a80c80..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/pnpm-lock.yaml +++ /dev/null @@ -1,8454 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - js-big-decimal: - specifier: ^2.2.0 - version: 2.2.0 - tsup: - specifier: ^8.3.5 - version: 8.3.5(typescript@4.9.5) - devDependencies: - '@babel/preset-env': - specifier: ^7.16.11 - version: 7.26.0(@babel/core@7.26.0) - '@posthog/plugin-scaffold': - specifier: ^0.12.10 - version: 0.12.10 - '@types/jest': - specifier: ^26.0.19 - version: 26.0.24 - '@types/node-fetch': - specifier: ^2.5.10 - version: 2.6.12 - '@typescript-eslint/eslint-plugin': - specifier: ^4.12.0 - version: 4.33.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/parser': - specifier: ^4.12.0 - version: 4.33.0(eslint@7.32.0)(typescript@4.9.5) - babel-jest: - specifier: ^27.5.1 - version: 27.5.1(@babel/core@7.26.0) - eslint: - specifier: ^7.21.0 - version: 7.32.0 - eslint-config-prettier: - specifier: ^8.1.0 - version: 8.10.0(eslint@7.32.0) - eslint-plugin-import: - specifier: ^2.22.1 - version: 2.31.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0) - eslint-plugin-node: - specifier: ^11.1.0 - version: 11.1.0(eslint@7.32.0) - eslint-plugin-promise: - specifier: ^4.3.1 - version: 4.3.1 - eslint-plugin-simple-import-sort: - specifier: ^7.0.0 - version: 7.0.0(eslint@7.32.0) - husky: - specifier: ~4.3.8 - version: 4.3.8 - jest: - specifier: ^26.6.3 - version: 26.6.3 - jest-fetch-mock: - specifier: ^3.0.3 - version: 3.0.3 - lint-staged: - specifier: ~10.5.3 - version: 10.5.4 - node-fetch: - specifier: 2.6.2 - version: 2.6.2 - prettier: - specifier: ^2.2.1 - version: 2.8.8 - ts-jest: - specifier: ^26.4.4 - version: 26.5.6(jest@26.6.3)(typescript@4.9.5) - typescript: - specifier: ^4.1.3 - version: 4.9.5 - -packages: - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@babel/code-frame@7.12.11': - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.26.3': - resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.25.9': - resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.25.9': - resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.25.9': - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': - resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': - resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': - resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': - resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': - resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.26.0': - resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.25.9': - resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.25.9': - resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.25.9': - resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.25.9': - resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.25.9': - resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.26.0': - resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.25.9': - resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.25.9': - resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.25.9': - resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.25.9': - resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.25.9': - resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.25.9': - resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.26.3': - resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.25.9': - resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.25.9': - resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.25.9': - resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-json-strings@7.25.9': - resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.25.9': - resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9': - resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.25.9': - resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.25.9': - resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.26.3': - resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.25.9': - resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.25.9': - resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.25.9': - resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': - resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-numeric-separator@7.25.9': - resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.25.9': - resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.25.9': - resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.25.9': - resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.25.9': - resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.25.9': - resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.25.9': - resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.25.9': - resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.25.9': - resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.25.9': - resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.26.0': - resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.25.9': - resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.25.9': - resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.25.9': - resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.25.9': - resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.25.9': - resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.25.9': - resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.25.9': - resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.25.9': - resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.25.9': - resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9': - resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.26.0': - resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} - engines: {node: '>=6.9.0'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - - '@cnakazawa/watch@1.0.4': - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true - - '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@eslint/eslintrc@0.4.3': - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} - - '@humanwhocodes/config-array@0.5.0': - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - deprecated: Use @eslint/object-schema instead - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@26.6.2': - resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} - engines: {node: '>= 10.14.2'} - - '@jest/core@26.6.3': - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - engines: {node: '>= 10.14.2'} - - '@jest/environment@26.6.2': - resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} - engines: {node: '>= 10.14.2'} - - '@jest/fake-timers@26.6.2': - resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} - engines: {node: '>= 10.14.2'} - - '@jest/globals@26.6.2': - resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} - engines: {node: '>= 10.14.2'} - - '@jest/reporters@26.6.2': - resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} - engines: {node: '>= 10.14.2'} - - '@jest/source-map@26.6.2': - resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} - engines: {node: '>= 10.14.2'} - - '@jest/test-result@26.6.2': - resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} - engines: {node: '>= 10.14.2'} - - '@jest/test-sequencer@26.6.3': - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.2'} - - '@jest/transform@26.6.2': - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} - - '@jest/transform@27.5.1': - resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - '@jest/types@26.6.2': - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - - '@jest/types@27.5.1': - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@posthog/plugin-scaffold@0.12.10': - resolution: {integrity: sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA==} - - '@rollup/rollup-android-arm-eabi@4.30.1': - resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.30.1': - resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.30.1': - resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.30.1': - resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.30.1': - resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.30.1': - resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': - resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.30.1': - resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.30.1': - resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.30.1': - resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.30.1': - resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.30.1': - resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.30.1': - resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.30.1': - resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.30.1': - resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.30.1': - resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} - cpu: [x64] - os: [win32] - - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - - '@sinonjs/commons@1.8.6': - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} - - '@sinonjs/fake-timers@6.0.1': - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} - - '@tootallnate/once@1.1.2': - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/jest@26.0.24': - resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - - '@types/node-fetch@2.6.12': - resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} - - '@types/node@22.10.5': - resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - - '@types/prettier@2.7.3': - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@15.0.19': - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - - '@types/yargs@16.0.9': - resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} - - '@typescript-eslint/eslint-plugin@4.33.0': - resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/experimental-utils@4.33.0': - resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: '*' - - '@typescript-eslint/parser@4.33.0': - resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@4.33.0': - resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - - '@typescript-eslint/types@4.33.0': - resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - - '@typescript-eslint/typescript-estree@4.33.0': - resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/visitor-keys@4.33.0': - resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - - abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - - acorn-globals@6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - - anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - - arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - - arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - - array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} - - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} - - assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - babel-jest@26.6.3: - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-jest@27.5.1: - resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - - babel-plugin-jest-hoist@26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} - - babel-plugin-jest-hoist@27.5.1: - resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.10.6: - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-preset-current-node-syntax@1.1.0: - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@26.6.2: - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@27.5.1: - resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browser-process-hrtime@1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - bundle-require@5.1.0: - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - - call-bind-apply-helpers@1.0.1: - resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.3: - resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001692: - resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} - - capture-exit@2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - cjs-module-lexer@0.6.0: - resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} - - class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - - collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - - compare-versions@3.6.0: - resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} - - component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - consola@3.3.3: - resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} - engines: {node: ^14.18.0 || >=16.10.0} - - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - - core-js-compat@3.40.0: - resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} - - cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - - cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - - cssom@0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} - - cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - - data-urls@2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} - - data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - - dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - - define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - - define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - - diff-sequences@26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - domexception@2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - deprecated: Use your platform's native DOMException instead - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - electron-to-chromium@1.5.80: - resolution: {integrity: sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==} - - emittery@0.7.2: - resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} - engines: {node: '>=10'} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-abstract@1.23.9: - resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} - - esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - - eslint-config-prettier@8.10.0: - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-module-utils@2.12.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - - eslint-plugin-es@3.0.1: - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' - - eslint-plugin-import@2.31.0: - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - - eslint-plugin-node@11.1.0: - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' - - eslint-plugin-promise@4.3.1: - resolution: {integrity: sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==} - engines: {node: '>=6'} - - eslint-plugin-simple-import-sort@7.0.0: - resolution: {integrity: sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw==} - peerDependencies: - eslint: '>=5.0.0' - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - - eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - - eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - - eslint@7.32.0: - resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} - engines: {node: ^10.12.0 || >=12.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true - - espree@7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - exec-sh@0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} - - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - - exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - - expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - - expect@26.6.2: - resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} - engines: {node: '>= 10.14.2'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - - extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-uri@3.0.5: - resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} - - fastq@1.18.0: - resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fdir@6.4.2: - resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - - fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - find-versions@4.0.0: - resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} - engines: {node: '>=10'} - - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - - flatted@3.3.2: - resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} - - form-data@3.0.2: - resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==} - engines: {node: '>= 6'} - - form-data@4.0.1: - resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} - engines: {node: '>= 6'} - - fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} - - functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-intrinsic@1.2.7: - resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - - get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} - - get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - growly@1.3.0: - resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} - - has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - - has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - - has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - - has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - html-encoding-sniffer@2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - - husky@4.3.8: - resolution: {integrity: sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==} - engines: {node: '>=10'} - hasBin: true - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} - - is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} - - is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.1.0: - resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} - engines: {node: '>= 0.4'} - - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} - - is-boolean-object@1.2.1: - resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} - engines: {node: '>= 0.4'} - - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} - - is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} - - is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - - is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} - - is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} - - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} - - is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.1.0: - resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} - engines: {node: '>= 0.4'} - - is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} - - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - - istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - jest-changed-files@26.6.2: - resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} - engines: {node: '>= 10.14.2'} - - jest-cli@26.6.3: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.2'} - hasBin: true - - jest-config@26.6.3: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - - jest-diff@26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} - - jest-docblock@26.0.0: - resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} - engines: {node: '>= 10.14.2'} - - jest-each@26.6.2: - resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} - engines: {node: '>= 10.14.2'} - - jest-environment-jsdom@26.6.2: - resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} - engines: {node: '>= 10.14.2'} - - jest-environment-node@26.6.2: - resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} - engines: {node: '>= 10.14.2'} - - jest-fetch-mock@3.0.3: - resolution: {integrity: sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==} - - jest-get-type@26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} - - jest-haste-map@26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} - - jest-haste-map@27.5.1: - resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - jest-jasmine2@26.6.3: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} - - jest-leak-detector@26.6.2: - resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} - engines: {node: '>= 10.14.2'} - - jest-matcher-utils@26.6.2: - resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} - engines: {node: '>= 10.14.2'} - - jest-message-util@26.6.2: - resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} - engines: {node: '>= 10.14.2'} - - jest-mock@26.6.2: - resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} - engines: {node: '>= 10.14.2'} - - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - - jest-regex-util@26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} - - jest-regex-util@27.5.1: - resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - jest-resolve-dependencies@26.6.3: - resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} - engines: {node: '>= 10.14.2'} - - jest-resolve@26.6.2: - resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} - engines: {node: '>= 10.14.2'} - - jest-runner@26.6.3: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} - - jest-runtime@26.6.3: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: true - - jest-serializer@26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} - - jest-serializer@27.5.1: - resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - jest-snapshot@26.6.2: - resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} - engines: {node: '>= 10.14.2'} - - jest-util@26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} - - jest-util@27.5.1: - resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - jest-validate@26.6.2: - resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} - engines: {node: '>= 10.14.2'} - - jest-watcher@26.6.2: - resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} - engines: {node: '>= 10.14.2'} - - jest-worker@26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jest@26.6.3: - resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} - engines: {node: '>= 10.14.2'} - hasBin: true - - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - - js-big-decimal@2.2.0: - resolution: {integrity: sha512-qJFDTcgBGvuPzsck0jNm1puKvJQ3AL8J3bIyrvF1KfsbljOVj8N/o9Kbr8RXlBx1J8aapcRpMCiG6h1l6QgYhQ==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - jsdom@16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - - kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - lint-staged@10.5.4: - resolution: {integrity: sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==} - hasBin: true - - listr2@3.14.0: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - lodash.truncate@4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - - map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - - node-fetch@2.6.2: - resolution: {integrity: sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==} - engines: {node: 4.x || >=6.0.0} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-notifier@8.0.2: - resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nwsapi@2.2.16: - resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - - object-inspect@1.13.3: - resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} - - object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - - object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - opencollective-postinstall@2.0.3: - resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} - hasBin: true - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} - - p-each-series@2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - pkg-dir@5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} - - please-upgrade-node@3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} - - posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - - pretty-format@26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} - - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - - promise-polyfill@8.3.0: - resolution: {integrity: sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - psl@1.15.0: - resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - readdirp@4.0.2: - resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} - engines: {node: '>= 14.16.0'} - - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} - - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - - regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} - - regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} - engines: {node: '>=4'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} - hasBin: true - - remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - - repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rollup@4.30.1: - resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rsvp@4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} - - safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - - safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sane@4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true - - saxes@5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} - - semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - semver-regex@3.1.4: - resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} - engines: {node: '>=8'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} - - set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shellwords@0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - - snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - - snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - - snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - - source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} - - split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - - string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - - table@6.9.0: - resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} - engines: {node: '>=10.0.0'} - - terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - - tinyglobby@0.2.10: - resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} - engines: {node: '>=12.0.0'} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - - to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - - tr46@2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} - - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - - ts-jest@26.5.6: - resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} - engines: {node: '>= 10'} - hasBin: true - peerDependencies: - jest: '>=26 <27' - typescript: '>=3.8 <5.0' - - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsup@8.3.5: - resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - - unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - - use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - - v8-to-istanbul@7.1.2: - resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} - engines: {node: '>=10.10.0'} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - w3c-hr-time@1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. - - w3c-xmlserializer@2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - webidl-conversions@5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - - webidl-conversions@6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - - whatwg-encoding@1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} - - whatwg-mimetype@2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - - whatwg-url@8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} - - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-pm-runs@1.1.0: - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} - engines: {node: '>=4'} - - which-typed-array@1.1.18: - resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xml-name-validator@3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - - xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - -snapshots: - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@babel/code-frame@7.12.11': - dependencies: - '@babel/highlight': 7.25.9 - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.26.3': {} - - '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.26.3': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-member-expression-to-functions@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-plugin-utils@7.25.9': {} - - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helper-wrap-function@7.25.9': - dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - - '@babel/highlight@7.25.9': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/parser@7.26.3': - dependencies: - '@babel/types': 7.26.3 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/template': 7.25.9 - - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/preset-env@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.40.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/types': 7.26.3 - esutils: 2.0.3 - - '@babel/runtime@7.26.0': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@babel/traverse@7.26.4': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.3': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@bcoe/v8-coverage@0.2.3': {} - - '@cnakazawa/watch@1.0.4': - dependencies: - exec-sh: 0.3.6 - minimist: 1.2.8 - - '@esbuild/aix-ppc64@0.24.2': - optional: true - - '@esbuild/android-arm64@0.24.2': - optional: true - - '@esbuild/android-arm@0.24.2': - optional: true - - '@esbuild/android-x64@0.24.2': - optional: true - - '@esbuild/darwin-arm64@0.24.2': - optional: true - - '@esbuild/darwin-x64@0.24.2': - optional: true - - '@esbuild/freebsd-arm64@0.24.2': - optional: true - - '@esbuild/freebsd-x64@0.24.2': - optional: true - - '@esbuild/linux-arm64@0.24.2': - optional: true - - '@esbuild/linux-arm@0.24.2': - optional: true - - '@esbuild/linux-ia32@0.24.2': - optional: true - - '@esbuild/linux-loong64@0.24.2': - optional: true - - '@esbuild/linux-mips64el@0.24.2': - optional: true - - '@esbuild/linux-ppc64@0.24.2': - optional: true - - '@esbuild/linux-riscv64@0.24.2': - optional: true - - '@esbuild/linux-s390x@0.24.2': - optional: true - - '@esbuild/linux-x64@0.24.2': - optional: true - - '@esbuild/netbsd-arm64@0.24.2': - optional: true - - '@esbuild/netbsd-x64@0.24.2': - optional: true - - '@esbuild/openbsd-arm64@0.24.2': - optional: true - - '@esbuild/openbsd-x64@0.24.2': - optional: true - - '@esbuild/sunos-x64@0.24.2': - optional: true - - '@esbuild/win32-arm64@0.24.2': - optional: true - - '@esbuild/win32-ia32@0.24.2': - optional: true - - '@esbuild/win32-x64@0.24.2': - optional: true - - '@eslint/eslintrc@0.4.3': - dependencies: - ajv: 6.12.6 - debug: 4.4.0 - espree: 7.3.1 - globals: 13.24.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/config-array@0.5.0': - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.4.0 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/object-schema@1.2.1': {} - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - - '@istanbuljs/schema@0.1.3': {} - - '@jest/console@26.6.2': - dependencies: - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - chalk: 4.1.2 - jest-message-util: 26.6.2 - jest-util: 26.6.2 - slash: 3.0.0 - - '@jest/core@26.6.3': - dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 26.6.2 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 - micromatch: 4.0.8 - p-each-series: 2.2.0 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - '@jest/environment@26.6.2': - dependencies: - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - jest-mock: 26.6.2 - - '@jest/fake-timers@26.6.2': - dependencies: - '@jest/types': 26.6.2 - '@sinonjs/fake-timers': 6.0.1 - '@types/node': 22.10.5 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-util: 26.6.2 - - '@jest/globals@26.6.2': - dependencies: - '@jest/environment': 26.6.2 - '@jest/types': 26.6.2 - expect: 26.6.2 - - '@jest/reporters@26.6.2': - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - jest-haste-map: 26.6.2 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - slash: 3.0.0 - source-map: 0.6.1 - string-length: 4.0.2 - terminal-link: 2.1.1 - v8-to-istanbul: 7.1.2 - optionalDependencies: - node-notifier: 8.0.2 - transitivePeerDependencies: - - supports-color - - '@jest/source-map@26.6.2': - dependencies: - callsites: 3.1.0 - graceful-fs: 4.2.11 - source-map: 0.6.1 - - '@jest/test-result@26.6.2': - dependencies: - '@jest/console': 26.6.2 - '@jest/types': 26.6.2 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - - '@jest/test-sequencer@26.6.3': - dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - '@jest/transform@26.6.2': - dependencies: - '@babel/core': 7.26.0 - '@jest/types': 26.6.2 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-regex-util: 26.0.0 - jest-util: 26.6.2 - micromatch: 4.0.8 - pirates: 4.0.6 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - - '@jest/transform@27.5.1': - dependencies: - '@babel/core': 7.26.0 - '@jest/types': 27.5.1 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-regex-util: 27.5.1 - jest-util: 27.5.1 - micromatch: 4.0.8 - pirates: 4.0.6 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - - '@jest/types@26.6.2': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.10.5 - '@types/yargs': 15.0.19 - chalk: 4.1.2 - - '@jest/types@27.5.1': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.10.5 - '@types/yargs': 16.0.9 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.18.0 - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@posthog/plugin-scaffold@0.12.10': {} - - '@rollup/rollup-android-arm-eabi@4.30.1': - optional: true - - '@rollup/rollup-android-arm64@4.30.1': - optional: true - - '@rollup/rollup-darwin-arm64@4.30.1': - optional: true - - '@rollup/rollup-darwin-x64@4.30.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.30.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.30.1': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.30.1': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.30.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.30.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.30.1': - optional: true - - '@rtsao/scc@1.1.0': {} - - '@sinonjs/commons@1.8.6': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@6.0.1': - dependencies: - '@sinonjs/commons': 1.8.6 - - '@tootallnate/once@1.1.2': {} - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - - '@types/babel__generator@7.6.8': - dependencies: - '@babel/types': 7.26.3 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@types/babel__traverse@7.20.6': - dependencies: - '@babel/types': 7.26.3 - - '@types/estree@1.0.6': {} - - '@types/graceful-fs@4.1.9': - dependencies: - '@types/node': 22.10.5 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/jest@26.0.24': - dependencies: - jest-diff: 26.6.2 - pretty-format: 26.6.2 - - '@types/json-schema@7.0.15': {} - - '@types/json5@0.0.29': {} - - '@types/node-fetch@2.6.12': - dependencies: - '@types/node': 22.10.5 - form-data: 4.0.1 - - '@types/node@22.10.5': - dependencies: - undici-types: 6.20.0 - - '@types/normalize-package-data@2.4.4': {} - - '@types/parse-json@4.0.2': {} - - '@types/prettier@2.7.3': {} - - '@types/stack-utils@2.0.3': {} - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@15.0.19': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@types/yargs@16.0.9': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@typescript-eslint/eslint-plugin@4.33.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0)(typescript@4.9.5)': - dependencies: - '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 4.33.0 - debug: 4.4.0 - eslint: 7.32.0 - functional-red-black-tree: 1.0.1 - ignore: 5.3.2 - regexpp: 3.2.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) - optionalDependencies: - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/experimental-utils@4.33.0(eslint@7.32.0)(typescript@4.9.5)': - dependencies: - '@types/json-schema': 7.0.15 - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) - eslint: 7.32.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@7.32.0) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5)': - dependencies: - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) - debug: 4.4.0 - eslint: 7.32.0 - optionalDependencies: - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@4.33.0': - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - - '@typescript-eslint/types@4.33.0': {} - - '@typescript-eslint/typescript-estree@4.33.0(typescript@4.9.5)': - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.4.0 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) - optionalDependencies: - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@4.33.0': - dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 - - abab@2.0.6: {} - - acorn-globals@6.0.0: - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - - acorn-jsx@5.3.2(acorn@7.4.1): - dependencies: - acorn: 7.4.1 - - acorn-walk@7.2.0: {} - - acorn@7.4.1: {} - - acorn@8.14.0: {} - - agent-base@6.0.2: - dependencies: - debug: 4.4.0 - transitivePeerDependencies: - - supports-color - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.5 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - ansi-colors@4.1.3: {} - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-regex@5.0.1: {} - - ansi-regex@6.1.0: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.1: {} - - any-promise@1.3.0: {} - - anymatch@2.0.0: - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - arr-diff@4.0.0: {} - - arr-flatten@1.1.0: {} - - arr-union@3.1.0: {} - - array-buffer-byte-length@1.0.2: - dependencies: - call-bound: 1.0.3 - is-array-buffer: 3.0.5 - - array-includes@3.1.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.7 - is-string: 1.1.1 - - array-union@2.1.0: {} - - array-unique@0.3.2: {} - - array.prototype.findlastindex@1.2.5: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - - array.prototype.flat@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-shim-unscopables: 1.0.2 - - array.prototype.flatmap@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.4: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - is-array-buffer: 3.0.5 - - assign-symbols@1.0.0: {} - - astral-regex@2.0.0: {} - - asynckit@0.4.0: {} - - atob@2.1.2: {} - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - babel-jest@26.6.3(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2(@babel/core@7.26.0) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - - babel-jest@27.5.1(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.26.0) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-istanbul@6.1.1: - dependencies: - '@babel/helper-plugin-utils': 7.25.9 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-jest-hoist@26.6.2: - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 - - babel-plugin-jest-hoist@27.5.1: - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 - - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.40.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) - - babel-preset-jest@26.6.2(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) - - babel-preset-jest@27.5.1(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) - - balanced-match@1.0.2: {} - - base@0.11.2: - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@2.3.2: - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browser-process-hrtime@1.0.0: {} - - browserslist@4.24.4: - dependencies: - caniuse-lite: 1.0.30001692 - electron-to-chromium: 1.5.80 - node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) - - bs-logger@0.2.6: - dependencies: - fast-json-stable-stringify: 2.1.0 - - bser@2.1.1: - dependencies: - node-int64: 0.4.0 - - buffer-from@1.1.2: {} - - bundle-require@5.1.0(esbuild@0.24.2): - dependencies: - esbuild: 0.24.2 - load-tsconfig: 0.2.5 - - cac@6.7.14: {} - - cache-base@1.0.1: - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - - call-bind-apply-helpers@1.0.1: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.1 - es-define-property: 1.0.1 - get-intrinsic: 1.2.7 - set-function-length: 1.2.2 - - call-bound@1.0.3: - dependencies: - call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.7 - - callsites@3.1.0: {} - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001692: {} - - capture-exit@2.0.0: - dependencies: - rsvp: 4.8.5 - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - char-regex@1.0.2: {} - - chokidar@4.0.3: - dependencies: - readdirp: 4.0.2 - - ci-info@2.0.0: {} - - ci-info@3.9.0: {} - - cjs-module-lexer@0.6.0: {} - - class-utils@0.3.6: - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - - clean-stack@2.2.0: {} - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-truncate@2.1.0: - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - - co@4.6.0: {} - - collect-v8-coverage@1.0.2: {} - - collection-visit@1.0.0: - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - colorette@2.0.20: {} - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - commander@4.1.1: {} - - commander@6.2.1: {} - - compare-versions@3.6.0: {} - - component-emitter@1.3.1: {} - - concat-map@0.0.1: {} - - consola@3.3.3: {} - - convert-source-map@1.9.0: {} - - convert-source-map@2.0.0: {} - - copy-descriptor@0.1.1: {} - - core-js-compat@3.40.0: - dependencies: - browserslist: 4.24.4 - - cosmiconfig@7.1.0: - dependencies: - '@types/parse-json': 4.0.2 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - - cross-fetch@3.2.0: - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - cssom@0.3.8: {} - - cssom@0.4.4: {} - - cssstyle@2.3.0: - dependencies: - cssom: 0.3.8 - - data-urls@2.0.0: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - - data-view-buffer@1.0.2: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.1: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - decamelize@1.2.0: {} - - decimal.js@10.4.3: {} - - decode-uri-component@0.2.2: {} - - dedent@0.7.0: {} - - deep-is@0.1.4: {} - - deepmerge@4.3.1: {} - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - define-property@0.2.5: - dependencies: - is-descriptor: 0.1.7 - - define-property@1.0.0: - dependencies: - is-descriptor: 1.0.3 - - define-property@2.0.2: - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - - delayed-stream@1.0.0: {} - - detect-newline@3.1.0: {} - - diff-sequences@26.6.2: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - domexception@2.0.1: - dependencies: - webidl-conversions: 5.0.0 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - eastasianwidth@0.2.0: {} - - electron-to-chromium@1.5.80: {} - - emittery@0.7.2: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - es-abstract@1.23.9: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.3 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.2.7 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-regex: 1.2.1 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.0 - math-intrinsics: 1.1.0 - object-inspect: 1.13.3 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.18 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 - - esbuild@0.24.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.2 - '@esbuild/android-arm': 0.24.2 - '@esbuild/android-arm64': 0.24.2 - '@esbuild/android-x64': 0.24.2 - '@esbuild/darwin-arm64': 0.24.2 - '@esbuild/darwin-x64': 0.24.2 - '@esbuild/freebsd-arm64': 0.24.2 - '@esbuild/freebsd-x64': 0.24.2 - '@esbuild/linux-arm': 0.24.2 - '@esbuild/linux-arm64': 0.24.2 - '@esbuild/linux-ia32': 0.24.2 - '@esbuild/linux-loong64': 0.24.2 - '@esbuild/linux-mips64el': 0.24.2 - '@esbuild/linux-ppc64': 0.24.2 - '@esbuild/linux-riscv64': 0.24.2 - '@esbuild/linux-s390x': 0.24.2 - '@esbuild/linux-x64': 0.24.2 - '@esbuild/netbsd-arm64': 0.24.2 - '@esbuild/netbsd-x64': 0.24.2 - '@esbuild/openbsd-arm64': 0.24.2 - '@esbuild/openbsd-x64': 0.24.2 - '@esbuild/sunos-x64': 0.24.2 - '@esbuild/win32-arm64': 0.24.2 - '@esbuild/win32-ia32': 0.24.2 - '@esbuild/win32-x64': 0.24.2 - - escalade@3.2.0: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - escape-string-regexp@4.0.0: {} - - escodegen@2.1.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - - eslint-config-prettier@8.10.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - - eslint-import-resolver-node@0.3.9: - dependencies: - debug: 3.2.7 - is-core-module: 2.16.1 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - eslint-module-utils@2.12.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@7.32.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-es@3.0.1(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 - - eslint-plugin-import@2.31.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint@7.32.0): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.3 - array.prototype.flatmap: 1.3.3 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@7.32.0) - hasown: 2.0.2 - is-core-module: 2.16.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.1 - semver: 6.3.1 - string.prototype.trimend: 1.0.9 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-node@11.1.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-plugin-es: 3.0.1(eslint@7.32.0) - eslint-utils: 2.1.0 - ignore: 5.3.2 - minimatch: 3.1.2 - resolve: 1.22.10 - semver: 6.3.1 - - eslint-plugin-promise@4.3.1: {} - - eslint-plugin-simple-import-sort@7.0.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - - eslint-utils@2.1.0: - dependencies: - eslint-visitor-keys: 1.3.0 - - eslint-utils@3.0.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-visitor-keys: 2.1.0 - - eslint-visitor-keys@1.3.0: {} - - eslint-visitor-keys@2.1.0: {} - - eslint@7.32.0: - dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.0 - doctrine: 3.0.0 - enquirer: 2.4.1 - escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 13.24.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - js-yaml: 3.14.1 - 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.4 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.6.3 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - table: 6.9.0 - text-table: 0.2.0 - v8-compile-cache: 2.4.0 - transitivePeerDependencies: - - supports-color - - espree@7.3.1: - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - eslint-visitor-keys: 1.3.0 - - esprima@4.0.1: {} - - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@4.3.0: {} - - estraverse@5.3.0: {} - - esutils@2.0.3: {} - - exec-sh@0.3.6: {} - - execa@1.0.0: - dependencies: - cross-spawn: 6.0.6 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - - execa@4.1.0: - dependencies: - cross-spawn: 7.0.6 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - exit@0.1.2: {} - - expand-brackets@2.1.4: - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - expect@26.6.2: - dependencies: - '@jest/types': 26.6.2 - ansi-styles: 4.3.0 - jest-get-type: 26.3.0 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend-shallow@3.0.2: - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - - extglob@2.0.4: - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - fast-deep-equal@3.1.3: {} - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - - fast-uri@3.0.5: {} - - fastq@1.18.0: - dependencies: - reusify: 1.0.4 - - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - - fdir@6.4.2(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.2.0 - - fill-range@4.0.0: - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - find-versions@4.0.0: - dependencies: - semver-regex: 3.1.4 - - flat-cache@3.2.0: - dependencies: - flatted: 3.3.2 - keyv: 4.5.4 - rimraf: 3.0.2 - - flatted@3.3.2: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - - for-in@1.0.2: {} - - foreground-child@3.3.0: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - form-data@3.0.2: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - form-data@4.0.1: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - fragment-cache@0.2.1: - dependencies: - map-cache: 0.2.2 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - function.prototype.name@1.1.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - define-properties: 1.2.1 - functions-have-names: 1.2.3 - hasown: 2.0.2 - is-callable: 1.2.7 - - functional-red-black-tree@1.0.1: {} - - functions-have-names@1.2.3: {} - - gensync@1.0.0-beta.2: {} - - get-caller-file@2.0.5: {} - - get-intrinsic@1.2.7: - dependencies: - call-bind-apply-helpers: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-own-enumerable-property-symbols@3.0.2: {} - - get-package-type@0.1.0: {} - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 - - get-stream@4.1.0: - dependencies: - pump: 3.0.2 - - get-stream@5.2.0: - dependencies: - pump: 3.0.2 - - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - - get-value@2.0.6: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob@10.4.5: - dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - globals@11.12.0: {} - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.2.0 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - gopd@1.2.0: {} - - graceful-fs@4.2.11: {} - - growly@1.3.0: - optional: true - - has-bigints@1.1.0: {} - - has-flag@3.0.0: {} - - has-flag@4.0.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - - has-proto@1.2.0: - dependencies: - dunder-proto: 1.0.1 - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - has-value@0.3.1: - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - - has-value@1.0.0: - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - - has-values@0.1.4: {} - - has-values@1.0.0: - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hosted-git-info@2.8.9: {} - - html-encoding-sniffer@2.0.1: - dependencies: - whatwg-encoding: 1.0.5 - - html-escaper@2.0.2: {} - - http-proxy-agent@4.0.1: - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.4.0 - transitivePeerDependencies: - - supports-color - - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.4.0 - transitivePeerDependencies: - - supports-color - - human-signals@1.1.1: {} - - husky@4.3.8: - dependencies: - chalk: 4.1.2 - ci-info: 2.0.0 - compare-versions: 3.6.0 - cosmiconfig: 7.1.0 - find-versions: 4.0.0 - opencollective-postinstall: 2.0.3 - pkg-dir: 5.0.0 - please-upgrade-node: 3.2.0 - slash: 3.0.0 - which-pm-runs: 1.1.0 - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - ignore@4.0.6: {} - - ignore@5.3.2: {} - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-local@3.2.0: - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - - imurmurhash@0.1.4: {} - - indent-string@4.0.0: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - internal-slot@1.1.0: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - - is-accessor-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 - - is-array-buffer@3.0.5: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - get-intrinsic: 1.2.7 - - is-arrayish@0.2.1: {} - - is-async-function@2.1.0: - dependencies: - call-bound: 1.0.3 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-bigint@1.1.0: - dependencies: - has-bigints: 1.1.0 - - is-boolean-object@1.2.1: - dependencies: - call-bound: 1.0.3 - has-tostringtag: 1.0.2 - - is-buffer@1.1.6: {} - - is-callable@1.2.7: {} - - is-ci@2.0.0: - dependencies: - ci-info: 2.0.0 - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-data-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 - - is-data-view@1.0.2: - dependencies: - call-bound: 1.0.3 - get-intrinsic: 1.2.7 - is-typed-array: 1.1.15 - - is-date-object@1.1.0: - dependencies: - call-bound: 1.0.3 - has-tostringtag: 1.0.2 - - is-descriptor@0.1.7: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-descriptor@1.0.3: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-docker@2.2.1: - optional: true - - is-extendable@0.1.1: {} - - is-extendable@1.0.1: - dependencies: - is-plain-object: 2.0.4 - - is-extglob@2.1.1: {} - - is-finalizationregistry@1.1.1: - dependencies: - call-bound: 1.0.3 - - is-fullwidth-code-point@3.0.0: {} - - is-generator-fn@2.1.0: {} - - is-generator-function@1.1.0: - dependencies: - call-bound: 1.0.3 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-map@2.0.3: {} - - is-number-object@1.1.1: - dependencies: - call-bound: 1.0.3 - has-tostringtag: 1.0.2 - - is-number@3.0.0: - dependencies: - kind-of: 3.2.2 - - is-number@7.0.0: {} - - is-obj@1.0.1: {} - - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-potential-custom-element-name@1.0.1: {} - - is-regex@1.2.1: - dependencies: - call-bound: 1.0.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - is-regexp@1.0.0: {} - - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.4: - dependencies: - call-bound: 1.0.3 - - is-stream@1.1.0: {} - - is-stream@2.0.1: {} - - is-string@1.1.1: - dependencies: - call-bound: 1.0.3 - has-tostringtag: 1.0.2 - - is-symbol@1.1.1: - dependencies: - call-bound: 1.0.3 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 - - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.18 - - is-typedarray@1.0.0: {} - - is-unicode-supported@0.1.0: {} - - is-weakmap@2.0.2: {} - - is-weakref@1.1.0: - dependencies: - call-bound: 1.0.3 - - is-weakset@2.0.4: - dependencies: - call-bound: 1.0.3 - get-intrinsic: 1.2.7 - - is-windows@1.0.2: {} - - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - optional: true - - isarray@1.0.0: {} - - isarray@2.0.5: {} - - isexe@2.0.0: {} - - isobject@2.1.0: - dependencies: - isarray: 1.0.0 - - isobject@3.0.1: {} - - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-instrument@4.0.3: - dependencies: - '@babel/core': 7.26.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-instrument@5.2.1: - dependencies: - '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@4.0.1: - dependencies: - debug: 4.4.0 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.1.7: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - jest-changed-files@26.6.2: - dependencies: - '@jest/types': 26.6.2 - execa: 4.1.0 - throat: 5.0.0 - - jest-cli@26.6.3: - dependencies: - '@jest/core': 26.6.3 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - import-local: 3.2.0 - is-ci: 2.0.0 - jest-config: 26.6.3 - jest-util: 26.6.2 - jest-validate: 26.6.2 - prompts: 2.4.2 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - jest-config@26.6.3: - dependencies: - '@babel/core': 7.26.0 - '@jest/test-sequencer': 26.6.3 - '@jest/types': 26.6.2 - babel-jest: 26.6.3(@babel/core@7.26.0) - chalk: 4.1.2 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - micromatch: 4.0.8 - pretty-format: 26.6.2 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - - jest-diff@26.6.2: - dependencies: - chalk: 4.1.2 - diff-sequences: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - - jest-docblock@26.0.0: - dependencies: - detect-newline: 3.1.0 - - jest-each@26.6.2: - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.2 - jest-get-type: 26.3.0 - jest-util: 26.6.2 - pretty-format: 26.6.2 - - jest-environment-jsdom@26.6.2: - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - jest-mock: 26.6.2 - jest-util: 26.6.2 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - - jest-environment-node@26.6.2: - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - jest-mock: 26.6.2 - jest-util: 26.6.2 - - jest-fetch-mock@3.0.3: - dependencies: - cross-fetch: 3.2.0 - promise-polyfill: 8.3.0 - transitivePeerDependencies: - - encoding - - jest-get-type@26.3.0: {} - - jest-haste-map@26.6.2: - dependencies: - '@jest/types': 26.6.2 - '@types/graceful-fs': 4.1.9 - '@types/node': 22.10.5 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 26.0.0 - jest-serializer: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - micromatch: 4.0.8 - sane: 4.1.0 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - transitivePeerDependencies: - - supports-color - - jest-haste-map@27.5.1: - dependencies: - '@jest/types': 27.5.1 - '@types/graceful-fs': 4.1.9 - '@types/node': 22.10.5 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 27.5.1 - jest-serializer: 27.5.1 - jest-util: 27.5.1 - jest-worker: 27.5.1 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - - jest-jasmine2@26.6.3: - dependencies: - '@babel/traverse': 7.26.4 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - chalk: 4.1.2 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - jest-leak-detector@26.6.2: - dependencies: - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - - jest-matcher-utils@26.6.2: - dependencies: - chalk: 4.1.2 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - - jest-message-util@26.6.2: - dependencies: - '@babel/code-frame': 7.26.2 - '@jest/types': 26.6.2 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 26.6.2 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@26.6.2: - dependencies: - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - - jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): - optionalDependencies: - jest-resolve: 26.6.2 - - jest-regex-util@26.0.0: {} - - jest-regex-util@27.5.1: {} - - jest-resolve-dependencies@26.6.3: - dependencies: - '@jest/types': 26.6.2 - jest-regex-util: 26.0.0 - jest-snapshot: 26.6.2 - transitivePeerDependencies: - - supports-color - - jest-resolve@26.6.2: - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-pnp-resolver: 1.2.3(jest-resolve@26.6.2) - jest-util: 26.6.2 - read-pkg-up: 7.0.1 - resolve: 1.22.10 - slash: 3.0.0 - - jest-runner@26.6.3: - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - chalk: 4.1.2 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 26.6.3 - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3 - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.21 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - jest-runtime@26.6.3: - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.19 - chalk: 4.1.2 - cjs-module-lexer: 0.6.0 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - jest-serializer@26.6.2: - dependencies: - '@types/node': 22.10.5 - graceful-fs: 4.2.11 - - jest-serializer@27.5.1: - dependencies: - '@types/node': 22.10.5 - graceful-fs: 4.2.11 - - jest-snapshot@26.6.2: - dependencies: - '@babel/types': 7.26.3 - '@jest/types': 26.6.2 - '@types/babel__traverse': 7.20.6 - '@types/prettier': 2.7.3 - chalk: 4.1.2 - expect: 26.6.2 - graceful-fs: 4.2.11 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - jest-haste-map: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - natural-compare: 1.4.0 - pretty-format: 26.6.2 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - jest-util@26.6.2: - dependencies: - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - chalk: 4.1.2 - graceful-fs: 4.2.11 - is-ci: 2.0.0 - micromatch: 4.0.8 - - jest-util@27.5.1: - dependencies: - '@jest/types': 27.5.1 - '@types/node': 22.10.5 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - jest-validate@26.6.2: - dependencies: - '@jest/types': 26.6.2 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 26.3.0 - leven: 3.1.0 - pretty-format: 26.6.2 - - jest-watcher@26.6.2: - dependencies: - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 22.10.5 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest-util: 26.6.2 - string-length: 4.0.2 - - jest-worker@26.6.2: - dependencies: - '@types/node': 22.10.5 - merge-stream: 2.0.0 - supports-color: 7.2.0 - - jest-worker@27.5.1: - dependencies: - '@types/node': 22.10.5 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest@26.6.3: - dependencies: - '@jest/core': 26.6.3 - import-local: 3.2.0 - jest-cli: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - - joycon@3.1.1: {} - - js-big-decimal@2.2.0: {} - - js-tokens@4.0.0: {} - - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - jsdom@16.7.0: - dependencies: - abab: 2.0.6 - acorn: 8.14.0 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.4.3 - domexception: 2.0.1 - escodegen: 2.1.0 - form-data: 3.0.2 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.16 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.1.4 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.10 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - jsesc@3.0.2: {} - - jsesc@3.1.0: {} - - json-buffer@3.0.1: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-schema-traverse@1.0.0: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@1.0.2: - dependencies: - minimist: 1.2.8 - - json5@2.2.3: {} - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - kind-of@3.2.2: - dependencies: - is-buffer: 1.1.6 - - kind-of@4.0.0: - dependencies: - is-buffer: 1.1.6 - - kind-of@6.0.3: {} - - kleur@3.0.3: {} - - leven@3.1.0: {} - - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - - lint-staged@10.5.4: - dependencies: - chalk: 4.1.2 - cli-truncate: 2.1.0 - commander: 6.2.1 - cosmiconfig: 7.1.0 - debug: 4.4.0 - dedent: 0.7.0 - enquirer: 2.4.1 - execa: 4.1.0 - listr2: 3.14.0(enquirer@2.4.1) - log-symbols: 4.1.0 - micromatch: 4.0.8 - normalize-path: 3.0.0 - please-upgrade-node: 3.2.0 - string-argv: 0.3.1 - stringify-object: 3.3.0 - transitivePeerDependencies: - - supports-color - - listr2@3.14.0(enquirer@2.4.1): - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.20 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.4.1 - rxjs: 7.8.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - optionalDependencies: - enquirer: 2.4.1 - - load-tsconfig@0.2.5: {} - - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - lodash.debounce@4.0.8: {} - - lodash.merge@4.6.2: {} - - lodash.sortby@4.7.0: {} - - lodash.truncate@4.4.2: {} - - lodash@4.17.21: {} - - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - log-update@4.0.0: - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - - lru-cache@10.4.3: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - make-dir@4.0.0: - dependencies: - semver: 7.6.3 - - make-error@1.3.6: {} - - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - - map-cache@0.2.2: {} - - map-visit@1.0.0: - dependencies: - object-visit: 1.0.1 - - math-intrinsics@1.1.0: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromatch@3.1.10: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mimic-fn@2.1.0: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - - minimist@1.2.8: {} - - minipass@7.1.2: {} - - mixin-deep@1.3.2: - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - - mkdirp@1.0.4: {} - - ms@2.0.0: {} - - ms@2.1.3: {} - - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - - nanomatch@1.2.13: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - natural-compare@1.4.0: {} - - nice-try@1.0.5: {} - - node-fetch@2.6.2: {} - - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - - node-int64@0.4.0: {} - - node-notifier@8.0.2: - dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.6.3 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 - optional: true - - node-releases@2.0.19: {} - - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.10 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - - normalize-path@2.1.1: - dependencies: - remove-trailing-separator: 1.1.0 - - normalize-path@3.0.0: {} - - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - nwsapi@2.2.16: {} - - object-assign@4.1.1: {} - - object-copy@0.1.0: - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - - object-inspect@1.13.3: {} - - object-keys@1.1.1: {} - - object-visit@1.0.1: - dependencies: - isobject: 3.0.1 - - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.0.0 - - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - - object.pick@1.3.0: - dependencies: - isobject: 3.0.1 - - object.values@1.2.1: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - opencollective-postinstall@2.0.3: {} - - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - - own-keys@1.0.1: - dependencies: - get-intrinsic: 1.2.7 - object-keys: 1.1.1 - safe-push-apply: 1.0.0 - - p-each-series@2.2.0: {} - - p-finally@1.0.0: {} - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - - p-try@2.2.0: {} - - package-json-from-dist@1.0.1: {} - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.26.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse5@6.0.1: {} - - pascalcase@0.1.1: {} - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@2.0.1: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - - path-type@4.0.0: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.2: {} - - pirates@4.0.6: {} - - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - - pkg-dir@5.0.0: - dependencies: - find-up: 5.0.0 - - please-upgrade-node@3.2.0: - dependencies: - semver-compare: 1.0.0 - - posix-character-classes@0.1.1: {} - - possible-typed-array-names@1.0.0: {} - - postcss-load-config@6.0.1: - dependencies: - lilconfig: 3.1.3 - - prelude-ls@1.2.1: {} - - prettier@2.8.8: {} - - pretty-format@26.6.2: - dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 - - progress@2.0.3: {} - - promise-polyfill@8.3.0: {} - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - - psl@1.15.0: - dependencies: - punycode: 2.3.1 - - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - - punycode@2.3.1: {} - - querystringify@2.2.0: {} - - queue-microtask@1.2.3: {} - - react-is@17.0.2: {} - - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - - readdirp@4.0.2: {} - - reflect.getprototypeof@1.0.10: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.7 - get-proto: 1.0.1 - which-builtin-type: 1.2.1 - - regenerate-unicode-properties@10.2.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.14.1: {} - - regenerator-transform@0.15.2: - dependencies: - '@babel/runtime': 7.26.0 - - regex-not@1.0.2: - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - - regexp.prototype.flags@1.5.4: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-errors: 1.3.0 - get-proto: 1.0.1 - gopd: 1.2.0 - set-function-name: 2.0.2 - - regexpp@3.2.0: {} - - regexpu-core@6.2.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.12.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 - - regjsgen@0.8.0: {} - - regjsparser@0.12.0: - dependencies: - jsesc: 3.0.2 - - remove-trailing-separator@1.1.0: {} - - repeat-element@1.1.4: {} - - repeat-string@1.6.1: {} - - require-directory@2.1.1: {} - - require-from-string@2.0.2: {} - - require-main-filename@2.0.0: {} - - requires-port@1.0.0: {} - - resolve-cwd@3.0.0: - dependencies: - resolve-from: 5.0.0 - - resolve-from@4.0.0: {} - - resolve-from@5.0.0: {} - - resolve-url@0.2.1: {} - - resolve@1.22.10: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - ret@0.1.15: {} - - reusify@1.0.4: {} - - rfdc@1.4.1: {} - - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rollup@4.30.1: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.30.1 - '@rollup/rollup-android-arm64': 4.30.1 - '@rollup/rollup-darwin-arm64': 4.30.1 - '@rollup/rollup-darwin-x64': 4.30.1 - '@rollup/rollup-freebsd-arm64': 4.30.1 - '@rollup/rollup-freebsd-x64': 4.30.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 - '@rollup/rollup-linux-arm-musleabihf': 4.30.1 - '@rollup/rollup-linux-arm64-gnu': 4.30.1 - '@rollup/rollup-linux-arm64-musl': 4.30.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 - '@rollup/rollup-linux-riscv64-gnu': 4.30.1 - '@rollup/rollup-linux-s390x-gnu': 4.30.1 - '@rollup/rollup-linux-x64-gnu': 4.30.1 - '@rollup/rollup-linux-x64-musl': 4.30.1 - '@rollup/rollup-win32-arm64-msvc': 4.30.1 - '@rollup/rollup-win32-ia32-msvc': 4.30.1 - '@rollup/rollup-win32-x64-msvc': 4.30.1 - fsevents: 2.3.3 - - rsvp@4.8.5: {} - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - rxjs@7.8.1: - dependencies: - tslib: 2.8.1 - - safe-array-concat@1.1.3: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - get-intrinsic: 1.2.7 - has-symbols: 1.1.0 - isarray: 2.0.5 - - safe-push-apply@1.0.0: - dependencies: - es-errors: 1.3.0 - isarray: 2.0.5 - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-regex: 1.2.1 - - safe-regex@1.1.0: - dependencies: - ret: 0.1.15 - - safer-buffer@2.1.2: {} - - sane@4.1.0: - dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.6 - execa: 1.0.0 - fb-watchman: 2.0.2 - micromatch: 3.1.10 - minimist: 1.2.8 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - - saxes@5.0.1: - dependencies: - xmlchars: 2.2.0 - - semver-compare@1.0.0: {} - - semver-regex@3.1.4: {} - - semver@5.7.2: {} - - semver@6.3.1: {} - - semver@7.6.3: {} - - set-blocking@2.0.0: {} - - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.7 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - set-proto@1.0.0: - dependencies: - dunder-proto: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - - set-value@2.0.1: - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@1.0.0: {} - - shebang-regex@3.0.0: {} - - shellwords@0.1.1: - optional: true - - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - object-inspect: 1.13.3 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - object-inspect: 1.13.3 - side-channel-map: 1.0.1 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 - - signal-exit@3.0.7: {} - - signal-exit@4.1.0: {} - - sisteransi@1.0.5: {} - - slash@3.0.0: {} - - slice-ansi@3.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - - slice-ansi@4.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - - snapdragon-node@2.1.1: - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - - snapdragon-util@3.0.1: - dependencies: - kind-of: 3.2.2 - - snapdragon@0.8.2: - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - - source-map-resolve@0.5.3: - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map-url@0.4.1: {} - - source-map@0.5.7: {} - - source-map@0.6.1: {} - - source-map@0.7.4: {} - - source-map@0.8.0-beta.0: - dependencies: - whatwg-url: 7.1.0 - - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 - - spdx-license-ids@3.0.20: {} - - split-string@3.1.0: - dependencies: - extend-shallow: 3.0.2 - - sprintf-js@1.0.3: {} - - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - - static-extend@0.1.2: - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - - string-argv@0.3.1: {} - - string-length@4.0.2: - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - string.prototype.trim@1.2.10: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - define-data-property: 1.1.4 - define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.0.0 - has-property-descriptors: 1.0.2 - - string.prototype.trimend@1.0.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - stringify-object@3.3.0: - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - - strip-bom@3.0.0: {} - - strip-bom@4.0.0: {} - - strip-eof@1.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-json-comments@3.1.1: {} - - sucrase@3.35.0: - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - commander: 4.1.1 - glob: 10.4.5 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - - supports-hyperlinks@2.3.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - symbol-tree@3.2.4: {} - - table@6.9.0: - dependencies: - ajv: 8.17.1 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - terminal-link@2.1.1: - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - - text-table@0.2.0: {} - - thenify-all@1.6.0: - dependencies: - thenify: 3.3.1 - - thenify@3.3.1: - dependencies: - any-promise: 1.3.0 - - throat@5.0.0: {} - - through@2.3.8: {} - - tinyexec@0.3.2: {} - - tinyglobby@0.2.10: - dependencies: - fdir: 6.4.2(picomatch@4.0.2) - picomatch: 4.0.2 - - tmpl@1.0.5: {} - - to-object-path@0.3.0: - dependencies: - kind-of: 3.2.2 - - to-regex-range@2.1.1: - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - to-regex@3.0.2: - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - - tough-cookie@4.1.4: - dependencies: - psl: 1.15.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 - - tr46@0.0.3: {} - - tr46@1.0.1: - dependencies: - punycode: 2.3.1 - - tr46@2.1.0: - dependencies: - punycode: 2.3.1 - - tree-kill@1.2.2: {} - - ts-interface-checker@0.1.13: {} - - ts-jest@26.5.6(jest@26.6.3)(typescript@4.9.5): - dependencies: - bs-logger: 0.2.6 - buffer-from: 1.1.2 - fast-json-stable-stringify: 2.1.0 - jest: 26.6.3 - jest-util: 26.6.2 - json5: 2.2.3 - lodash: 4.17.21 - make-error: 1.3.6 - mkdirp: 1.0.4 - semver: 7.6.3 - typescript: 4.9.5 - yargs-parser: 20.2.9 - - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - - tslib@1.14.1: {} - - tslib@2.8.1: {} - - tsup@8.3.5(typescript@4.9.5): - dependencies: - bundle-require: 5.1.0(esbuild@0.24.2) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.3.3 - debug: 4.4.0 - esbuild: 0.24.2 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1 - resolve-from: 5.0.0 - rollup: 4.30.1 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.10 - tree-kill: 1.2.2 - optionalDependencies: - typescript: 4.9.5 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - - tsutils@3.21.0(typescript@4.9.5): - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - - type-detect@4.0.8: {} - - type-fest@0.20.2: {} - - type-fest@0.21.3: {} - - type-fest@0.6.0: {} - - type-fest@0.8.1: {} - - typed-array-buffer@1.0.3: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - is-typed-array: 1.1.15 - - typed-array-byte-length@1.0.3: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - - typed-array-byte-offset@1.0.4: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.10 - - typed-array-length@1.0.7: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - is-typed-array: 1.1.15 - possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.10 - - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - - typescript@4.9.5: {} - - unbox-primitive@1.1.0: - dependencies: - call-bound: 1.0.3 - has-bigints: 1.1.0 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.1 - - undici-types@6.20.0: {} - - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.2.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - - union-value@1.0.1: - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - - universalify@0.2.0: {} - - unset-value@1.0.0: - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - - update-browserslist-db@1.1.2(browserslist@4.24.4): - dependencies: - browserslist: 4.24.4 - escalade: 3.2.0 - picocolors: 1.1.1 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - urix@0.1.0: {} - - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - - use@3.1.1: {} - - uuid@8.3.2: - optional: true - - v8-compile-cache@2.4.0: {} - - v8-to-istanbul@7.1.2: - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 1.9.0 - source-map: 0.7.4 - - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - - w3c-hr-time@1.0.2: - dependencies: - browser-process-hrtime: 1.0.0 - - w3c-xmlserializer@2.0.0: - dependencies: - xml-name-validator: 3.0.0 - - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - - webidl-conversions@3.0.1: {} - - webidl-conversions@4.0.2: {} - - webidl-conversions@5.0.0: {} - - webidl-conversions@6.1.0: {} - - whatwg-encoding@1.0.5: - dependencies: - iconv-lite: 0.4.24 - - whatwg-mimetype@2.3.0: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - whatwg-url@8.7.0: - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - - which-boxed-primitive@1.1.1: - dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.1 - is-number-object: 1.1.1 - is-string: 1.1.1 - is-symbol: 1.1.1 - - which-builtin-type@1.2.1: - dependencies: - call-bound: 1.0.3 - function.prototype.name: 1.1.8 - has-tostringtag: 1.0.2 - is-async-function: 2.1.0 - is-date-object: 1.1.0 - is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 - is-regex: 1.2.1 - is-weakref: 1.1.0 - isarray: 2.0.5 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.18 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.4 - - which-module@2.0.1: {} - - which-pm-runs@1.1.0: {} - - which-typed-array@1.1.18: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.3 - for-each: 0.3.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - - which@1.3.1: - dependencies: - isexe: 2.0.0 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - word-wrap@1.2.5: {} - - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrappy@1.0.2: {} - - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - - ws@7.5.10: {} - - xml-name-validator@3.0.0: {} - - xmlchars@2.2.0: {} - - y18n@4.0.3: {} - - yallist@3.1.1: {} - - yaml@1.10.2: {} - - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - - yargs-parser@20.2.9: {} - - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 18.1.3 - - yocto-queue@0.1.0: {} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py deleted file mode 100644 index 30181663890db..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/generate.py +++ /dev/null @@ -1,136 +0,0 @@ -price_brackets = { - (0, 4): 0.1, # Up to 4B - (4.1, 8): 0.2, # 4.1B - 8B - (8.1, 21): 0.3, # 8.1B - 21B - (21.1, 41): 0.8, # 21.1B - 41B - (41.1, 73): 0.9, # 41B - 70B -} - - -llama_price_brackets = { - (6.9, 7.1): 0.2, # Up to 4B - (12.9, 13.1): 0.225, # 4.1B - 8B - (33.9, 34.1): 0.776, # 4.1B - 8B - (69.9, 70.1): 0.9, # 8.1B - 21B -} - - -# Model data provided by the user -lang_models = [ - ("zero-one-ai/Yi-34B", 34), - ("zero-one-ai/Yi-6B", 6), - ("google/gemma-2b", 2), - ("google/gemma-7b", 7), - ("meta-llama/Llama-2-70b-hf", 70), - ("meta-llama/Llama-2-13b-hf", 13), - ("meta-llama/Llama-2-7b-hf", 7), - ("microsoft/phi-2", 2), - ("Nexusflow/NexusRaven-V2-13B", 13), - ("Qwen/Qwen1.5-0.5B", 0.5), - ("Qwen/Qwen1.5-1.8B", 1.8), - ("Qwen/Qwen1.5-4B", 4), - ("Qwen/Qwen1.5-7B", 7), - ("Qwen/Qwen1.5-14B", 14), - ("Qwen/Qwen1.5-72B", 72), - ("togethercomputer/GPT-JT-Moderation-6B", 6), - ("togethercomputer/LLaMA-2-7B-32K", 7), - ("togethercomputer/RedPajama-INCITE-Base-3B-v1", 3), - ("togethercomputer/RedPajama-INCITE-7B-Base", 7), - ("togethercomputer/RedPajama-INCITE-Instruct-3B-v1", 3), - ("togethercomputer/RedPajama-INCITE-7B-Instruct", 7), - ("togethercomputer/StripedHyena-Hessian-7B", 7), - ("mistralai/Mistral-7B-v0.1", 7), - ("mistralai/Mixtral-8x7B-v0.1", 46.7), -] -chat_models = [ - ("allenai/OLMo-7B-Instruct", 7), - ("allenai/OLMo-7B-Twin-2T", 7), - ("allenai/OLMo-7B", 7), - ("Austism/chronos-hermes-13b", 13), - ("deepseek-ai/deepseek-coder-33b-instruct", 33), - ("garage-bAInd/Platypus2-70B-instruct", 70), - ("google/gemma-2b-it", 2), - ("google/gemma-7b-it", 7), - ("Gryphe/MythoMax-L2-13b", 13), - ("lmsys/vicuna-13b-v1.5", 13), - ("lmsys/vicuna-7b-v1.5", 7), - ("codellama/CodeLlama-13b-Instruct-hf", 13), - ("codellama/CodeLlama-34b-Instruct-hf", 34), - ("codellama/CodeLlama-70b-Instruct-hf", 70), - ("codellama/CodeLlama-7b-Instruct-hf", 7), - ("meta-llama/Llama-2-70b-chat-hf", 70), - ("meta-llama/Llama-2-13b-chat-hf", 13), - ("meta-llama/Llama-2-7b-chat-hf", 7), - ("mistralai/Mistral-7B-Instruct-v0.1", 7), - ("mistralai/Mistral-7B-Instruct-v0.2", 7), - ("mistralai/Mixtral-8x7B-Instruct-v0.1", 46.7), - ("NousResearch/Nous-Capybara-7B-V1p9", 7), - ("NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO", 46.7), - ("NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT", 46.7), - ("NousResearch/Nous-Hermes-llama-2-7b", 7), - ("NousResearch/Nous-Hermes-Llama2-13b", 13), - ("NousResearch/Nous-Hermes-2-Yi-34B", 34), - ("openchat/openchat-3.5-1210", 7), - ("Open-Orca/Mistral-7B-OpenOrca", 7), - ("Qwen/Qwen1.5-0.5B-Chat", 0.5), - ("Qwen/Qwen1.5-1.8B-Chat", 1.8), - ("Qwen/Qwen1.5-4B-Chat", 4), - ("Qwen/Qwen1.5-7B-Chat", 7), - ("Qwen/Qwen1.5-14B-Chat", 14), - ("Qwen/Qwen1.5-72B-Chat", 72), - ("snorkelai/Snorkel-Mistral-PairRM-DPO", 7), - ("togethercomputer/alpaca-7b", 7), - ("teknium/OpenHermes-2-Mistral-7B", 7), - ("teknium/OpenHermes-2p5-Mistral-7B", 7), - ("togethercomputer/Llama-2-7B-32K-Instruct", 7), - ("togethercomputer/RedPajama-INCITE-Chat-3B-v1", 3), - ("togethercomputer/RedPajama-INCITE-7B-Chat", 7), - ("togethercomputer/StripedHyena-Nous-7B", 7), - ("Undi95/ReMM-SLERP-L2-13B", 13), - ("Undi95/Toppy-M-7B", 7), - ("WizardLM/WizardLM-13B-V1.2", 13), - ("upstage/SOLAR-10.7B-Instruct-v1.0", 10.7), -] - -''' -export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "zero-one-ai/Yi-34B-Chat", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, -]; -''' - -models = [c for c in lang_models if "llama" not in c[0].lower()] - -for model, context_length in models: - - found = False - - for (low, high), cost in price_brackets.items(): - if context_length >= low and context_length <= high: - print(''' -{ - model: { - operator: "equals", - value: "'''+model+'''", - }, - cost: { - prompt_token: '''+format(cost/1_000_000, '.15f')+''', - completion_token: '''+format(cost/1_000_000, '.15f')+''', - }, -}, - ''') - found = True - - if not found: - # Throw error - print("Error: ", model, context_length) - exit(1) - found = False diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml deleted file mode 100644 index 70b0c1167f190..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.github/workflows/ci.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: CI - -on: - - pull_request - -jobs: - lint: - name: Code formatting & linting - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v1 - - - name: Set up Node 16 - uses: actions/setup-node@v1 - with: - node-version: 16 - - - uses: actions/cache@v2 - id: node-modules-cache - with: - path: | - node_modules - key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node-modules - - - name: Install dependencies - if: steps.node-modules-cache.outputs.cache-hit != 'true' - run: yarn install --frozen-lockfile - - - name: Check formatting with Prettier - run: yarn format:check - - - name: Lint with ESLint - run: yarn lint - - - name: Check Typescript - run: | - yarn typescript:check - - test: - name: Test - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v1 - - - name: Set up Node 16 - uses: actions/setup-node@v1 - with: - node-version: 16 - - - uses: actions/cache@v2 - id: node-modules-cache - with: - path: | - node_modules - key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node-modules - - - name: Install dependencies - if: steps.node-modules-cache.outputs.cache-hit != 'true' - run: yarn install --frozen-lockfile - - - name: Run test - run: | - yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore deleted file mode 100644 index 12ac647202705..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE deleted file mode 100644 index 38ec4a72865a7..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Paolo D'Amico - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md deleted file mode 100644 index ed93ea26363bc..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/README.md +++ /dev/null @@ -1,37 +0,0 @@ -Unduplicator app logo - -# PostHog Community App: Unduplicator - -This app helps prevent duplicate events from being ingested into PostHog. It's particularly helpful if you're backfilling information while you're already ingesting ongoing events. The app crafts an event UUID based on key properties for the event so if the event is _the same_ (see below for definition) it'll end with the same UUID. - -When events areprocessed by ClickHouse, the DB will automatically dedupe events which have the same `toDate(timestamp)`, -`event`, `distinct_id` and `uuid` combo, effectively making sure duplicates are not stored. - -The app has two modes (which essentially define what's considered a duplicate event). Either mode will scope duplicates to a **each project**, duplicates across projects are still permitted. - -- **Event and Timestamp**. An event will be treated as duplicate if the timestamp, event name and user's distinct ID matches exactly, regardless of what internal properties are included. -- **All Properties**. An event will be treated as duplicate only all properties match exactly, as well as the timestamp, event name and user's distinct ID. - -## 🚀 Usage - -To use it simply install the app from the repository URL: https://github.com/paolodamico/posthog-app-unduplicator or search for it in the PostHog App Library. - -## 🧑‍💻 Development & testing - -Contributions are welcomed! Feel free to open a PR or an issue. To develop locally and contribute to this package, you can simply follow these instructions after clonning the repo. - -- Install dependencies - ```bash - yarn install - ``` -- Run tests - ```bash - yarn test - ``` -- Install app in your local instance by going to `/project/apps` in your PostHog instance, clicking on the "Advanced" tab and entering the full path where you cloned the repo. Please note that running apps locally on PostHog is currently buggy (see [posthog#7170](https://github.com/PostHog/posthog/issues/7170)). - -## 🧑‍⚖️ License - -This repository is MIT licensed. Please review the LICENSE file in this repository. - -Copyright (C) 2022 Paolo D'Amico. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/logo.png deleted file mode 100644 index 59b528c09ba324960baa05c96015e04632a7d909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37485 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 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json deleted file mode 100644 index 42996371a2db2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "posthog-plugin-unduplicates", - "version": "0.0.1", - "description": "Prevent duplicates in your data by rejecting duplicate events at ingestion.", - "main": "index.ts", - "repository": "github:paolodamico/posthog-plugin-unduplicates", - "homepage": "https://github.com/paolodamico/posthog-plugin-unduplicates#readme", - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "typescript:check": "tsc" - }, - "author": "", - "license": "MIT", - "devDependencies": { - "@posthog/plugin-scaffold": "^0.12.10", - "@types/jest": "^26.0.19", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "eslint": "^7.21.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "given2": "^2.1.7", - "husky": "~4.3.6", - "jest": "^26.6.3", - "lint-staged": "~10.5.3", - "prettier": "^2.2.1", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - }, - "dependencies": {} -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock deleted file mode 100644 index 16e66ba96f3ff..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/yarn.lock +++ /dev/null @@ -1,4837 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@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.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" - integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.10" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.10" - "@babel/types" "^7.17.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" - integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== - dependencies: - "@babel/types" "^7.17.10" - "@jridgewell/gen-mapping" "^0.1.0" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" - integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@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.8.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helpers@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" - integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" - integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" - integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== - -"@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.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-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-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.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-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/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" - integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.10" - "@babel/types" "^7.17.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" - integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - 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== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== - -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@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": - 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" - -"@posthog/plugin-scaffold@^0.12.10": - version "0.12.10" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" - integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" - integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^26.0.19": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@^7.0.7": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/node@*": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.32.tgz#51d59d7a90ef2d0ae961791e0900cad2393a0149" - integrity sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" - integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.12.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@^4.12.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - -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" - -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@^6.10.0, ajv@^6.12.4: - 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.1: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -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-regex@^5.0.0, 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@^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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - 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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - 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== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.20.2: - version "4.20.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== - dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" - -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" - -buffer-from@1.x, 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== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -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" - -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@^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.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001332: - version "1.0.30001340" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz#029a2f8bfc025d4820fafbfaa6259fd7778340c7" - integrity sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -chalk@^2.0.0: - 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.1.0: - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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-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@^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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: - 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@^2.2.0, debug@^2.3.3, 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@^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.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@^0.1.3, 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.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5, 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" - -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" - -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" - integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - regexp.prototype.flags "^1.4.1" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.1.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^7.21.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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.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: - 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== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -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-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - 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: - 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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.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-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 "^3.1.2" - -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@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - 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" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -functions-have-names@^1.2.2: - 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== - -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: - 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.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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -given2@^2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/given2/-/given2-2.1.7.tgz#4c2c7883d7ee1069d077c10551ef2e607943ebd3" - integrity sha512-fI3VamsjN2euNVguGpSt2uExyDSMfJoK+SwDxbmV+Thf3v4oF6KKZAFE3LHHuT+PYyMwCsJYXO01TW3euFdPGA== - -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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -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.6.0, globals@^13.9.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.3: - 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" - -graceful-fs@^4.2.4: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -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 sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.1, 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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -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== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-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" - -https-proxy-agent@^5.0.0: - 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" - -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== - -husky@~4.3.6: - 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 "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-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.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.8.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" - integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== - 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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - 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-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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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: - 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-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -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 sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -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-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -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-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-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== - 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-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.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.0.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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" - -jsdom@^16.4.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json5@2.x, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -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== - -lint-staged@~10.5.3: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - 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" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -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" - -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.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@4.x, lodash@^4.7.0: - 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" - -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" - -make-dir@^3.0.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-error@1.x: - 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-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, 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: - 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: - 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" - -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== - -minimatch@^3.0.4, 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" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -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-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -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.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -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: - 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" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.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-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-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -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: - 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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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-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== - -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.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.1: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -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" - -psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "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@^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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -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" - -rxjs@^7.5.1: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver-regex@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" - integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.1.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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "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== - 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: - 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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^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.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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.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== - -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.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-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.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== - -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== - -table@^6.0.9: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -ts-jest@^26.4.4: - 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" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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-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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.1.3: - version "4.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" - integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== - -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" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - 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" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.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-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" - integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== - -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, which@^2.0.2: - 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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -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== - -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: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.x: - 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-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.4.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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig deleted file mode 100644 index b0b709a63cc2d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 120 - -[*.md] -trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes deleted file mode 100644 index dfe0770424b2a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md deleted file mode 100644 index 3fe0f6f335209..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -## Changes - -... - -## Checklist - -- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml deleted file mode 100644 index 3edb1b8e5ebc4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.github/workflows/ci.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: CI - -on: - - push - -jobs: - unit-tests: - name: Unit tests - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [14.x, 16.x, 18.x, 19.x] - - steps: - - name: Checkout the repository - uses: actions/checkout@v3 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Run unit tests - run: yarn test - - code-quality: - name: Code quality - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [14.x, 16.x, 18.x, 19.x] - - steps: - - name: Checkout the repository - uses: actions/checkout@v3 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Run unit tests - run: yarn lint diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore deleted file mode 100644 index abd8ee954280e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.gitignore +++ /dev/null @@ -1,76 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/ - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# environment variables file -.env -.environment - -# next.js build output -.next - -# editors -.vscode -.idea - -# yalc -.yalc -yalc* - -# macOS -.DS_Store - -# output -dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore deleted file mode 100644 index 1521c8b7652b1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md deleted file mode 100644 index 746148de993e7..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# URL parameters to event properties - -[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) - -A PostHog app to convert specific url search/query parameters to event properties allowing you to more easily compare them in insights. - -You can specify a list of parameters to convert. Converted parameters are stored as event properties, but you can configure the plugin to set them as (initial) user properties as well. Properties are created using the parameter name and an optional prefix and suffix. (Initial user properties also get `initial_` prepended to the property name.) - -If a configured parameter is found one time, it will store the data as-is. If the parameter is found more than once, it will gather all the values found into an array, and store that in the property in JSON format. Or, you can set it to always store the data as a JSON array. - -Support [PostHog](https://posthog.com/) and give it a try today. - -## Developing Locally - -To develop this app locally, you'll need to clone it and then run specs. Please make sure you've got Node and Yarn installed. Pull requests welcome! - -``` -git clone https://github.com/PostHog/posthog-app-url-parameters-to-event-properties -yarn install -yarn test --watch -``` - -From there, edit away and enjoy! - -## Installation - -1. Open PostHog. -1. Go to the Plugins page from the sidebar. -1. Head to the Advanced tab. -1. "Install from GitHub, GitLab or npm" using this repository's URL. - -## Roadmap - -This app is early stage, but please consider starting a discussion or leaving an issue if there are features you'd like to see added. - -## Contributing - -Contributions of code, issues, reviews and documentation are welcome! - -## Acknoledgements - -Thanks to the awesome @posthog community! - -Thanks to @everald for the initial app! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/logo.png deleted file mode 100644 index 18d853a69d860e5f9a8de32af476bcc66889473a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360574 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 CN~(g5Fe_IY?J3sR1wQ~OGC&*p!oqA-(h`i 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⩔?R|B}0#OG0bJ?ZxMk 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 I@j-ci(J#8bwgGapOlg8L(&(DmL0m+W&s z%PefN76y!k>Uvf83NoYSZ}jjIV>8BxalUyU;CJTNJ*=0)7z|1CFW0DH42C1;T*%x+ zK}TUiFO<;}jy?t?OFN7rdn|}jT-`!JqH2-;*;h63hcOp(eleB`dunIZ2zqAzk_1*HfW378X)YbAHa7sxb_Ph@T(2gpwk4_E5e_39-3_4l{0`k5HP<|(>A0EJ<8WU~p zgET6Evpl5~>(ypo2_rnB>%Fg}ZA|asaEmLH_xUWChkHuojEjVf3G$LN7Z@aQj2FxCs`ME{-*Xxm0^Gnl=PP^6L1hVeuf* z)@GE#?dWP3F47>vXBGJPT9F-P#ef_;#?mQc&Is8t#m zh5*9!`IR_p4>w*rZ5^aC!GdaR^dJ!xZtiWzS0+#slzsHD11OkK#A{JaLl9_Fvgn2J z5oE{V%1H7%4rU4zWEarY5#P%YD><6|(OHlo>~Y~2;vXRV5CT#UlS-C$5C93aKXXjI zJtu#H`_M+gc?SHFapj)=;XE%hqXy9VWezms>DotoX^#vbgi(MYE}_8?tk9r9(Bg#w z(-89&bETKaxMtE08TPd#r!kQV;$484y<1f#`Z&^j!aXj(ExBvsO@P(o4V|l5MOVdv4&_{?zqZM|3Yw~oE-14s0Z%)YYVUO8<-F?Y z+7WOiLT6(x?1`eI{7|l5%jg#@UeX9H+o}N>Kv`>Ephf|Ljn;&0mKUclJOF74j z5Htx`g}Vqr9s)#gzjeKDd)bZ(1GKCTyvwGJI*H%S`auh@#f8Iy$N^OR zzH_0rwZu>Ku#~AO_jw=NwJt7sM#3_O_@TvM5gEcVATF6EH;o%$u)8~-POJ8@AwWn} z@oWnENKSqiKWvcdG8q?>eJGvia_C&Mu#Jh{?&mqzTqJmbl!=kA+oj>2wUY%LgoY@Z z7}fD=MwFtbtMpgZGMl01%t1gmktD|OretQzkf;$+v!uOI^(KcOhaKN}_|rbh(srsV zXu?Aa3e1|Kt`HTTgP>`uVBC`uSY$eOXr(*ajc12h%1*_Hp7H_TC9c7scGYyDe|H67 z!wKwmf@6Bl9{_qRu_T~$bkxN4z7PAXyu75zcGfCoWM62F~3Em`wn zdeu4v0K24)xUP&J^P#sK$r6hu~q#812jaB5mp}nVZ`QtYyYM?$cJmrL0NgGHhi1si_;y4!o-2 z>$d$6LKp!VYvL!&x>UaiaRiYMlR=&QiF<%q&?T6*@SbvvN5DLofz|D=P$sZUm&Is- z^fu^b0p5!vpgeuxE0`kYhdOlUZSCBaIi$@nDTXDsuVHKx$uHW^X%8&7S}KXVKPXeY zmXY{EMiA!uQ}KZwgT17`=DTzV0kkB3g@AVYBoGm)ebO!yOWETZxq*Ozx<8= zq-yz>(}`TF=q1!cxWpkPqQrOPDpiBZnenvI1C;>BeEq)im!g((dytp%QoSj&;k}gW z`w_%NyYnh>8loBv41nc-J0~_W3|`iy%0(*dcV1)aV-2dHK7x7vl^NJsO?xbe03dru&YlANEH$65Fx=(Z~DGTgD*B*!$; ziRtcUw!LM)`IBhbTazp)>Gx?|8f{J-h#mxvjc!D)0d0~JK)nq{b-QXp?TM{kryf#wPG|ymI zx<>>Dq>%!ZvJC{p+`(k526F|M9uD@?b4MgNa{&RAsOWdCvxiLP1T3pW#g9kCDG7dZ^D3*58e#5?xSTSjUxF&HwdY7o( zRBI(&V*M`W%Tek z2g!;<3C@y5!s5((UXOB*XZXx}?(sW5FVi?G>}Ae7&?sttJqx_2TcDD5Y!3c$g#fJl zzP)6wV((o%e%1#VqPG&MLUGi6=k=e*x zdQizc@m>_GS8{3Rz|iI_A=bv`fw&9@OntN|uO?Q?rM8GFOKs{)VPJ)0{_h7wwN)Mgx1%CTJGD(iFp*3}Z8u zn0v13DmnV`>%J?4DL&14A59LrX6hErXUb=fN8sriB86#P91SSvnXUQOphC1IuD*bF z(KxNurArsuzTfBq$FgJ;7yRkMSreH_)|J`?&(1N4(s(ZL`R8Y6&s_{?=H%J$ZHw)D zunopu(+cDL9L}DKv0&G5xb(k;2c43!L{e3WgSXP&F+S&Oz=o1?S8|u=_~@-HYb9Ag zi9V`!z^C)s5RZm9)g@3GEDMn5C3m*bGDoJOMst8#jzNVkvoIAuF)|a{%hRR-1u9cv z`M&B>Cl|<=tD*3fLwD2;NEDPJC2r;hH!%;dH82dC4*09C?w>dhGAH4%ji(Mb>NwbU zRg2ocIaspzlhRox##fm#{Z>UD8*e>c8mf_(GDgPWW-JBvg!y2@DYf$K$eiitKLRxc zn<+8qK51%I0X`mpLF|_r8(ka4Yq0q}bOiYH)V8j*QI!}*EcSmQNCweO{bRg!Ro@Uo zm-7O9iiHD(#BScmern&Z2H&23Dh(v1qjJUBNP_ zH|8c*8Z?Xs;aaUY-_}y^GBHgkBmlz=-kVOIKV67D*G<4CBWIGUPDG~_G8bl7A*LoN zU*T_|)?92A?Z*l^CRHND`rd9$4)$uXzt@1WJN22*e6l|K>5tckKJ=k_{`nW`>h-JO zpGa2L#{IaC4q$-RL(FOGs+ET}bt4g6S7oBNFn4N#2-!}(?Zc1FcFtZ1+H-s7%dK5M zB5~K1OsX~#J_p_t-xJnLPQ&|I$i98@@;J6GFDKi}>&bgz9)|k^I6@9i0a&ShCV{c) zq5LQN^JJq3VAUXbEA@}joE#4`Uul=}_g)6BF*bq2=i>A7bLuMIjV2X2TkZeOlb{>^ zMB3V(^heEs($k0?NdIJ1P*0if+J4$N0V-@LIdvm{={BlsX=je|dx@oXP?;V?`2!JlBv2{l?0FBuL4Kibb znK5+e697p(9Q|t%n>k@grxO=+Au#$Z>JBiN1c zR6@)-6{*W0Ul2S)>l)fM$zi&imR=h?Pn-6WMKh5)Vc>Y*BXez|JMHE?FOI;qsTY7ID%OPVoO%oK zEMv)>^PMS-VWQMLz_1xLknze|NL%tgd&IMgw$LW$ZuGmK4w>jAb~4(YQF=MBzm5L7 zj#@pyXc!aj>GElQ1Q{7U!Dzdh4w-Mwle`YzL<@yc&%g+?YF)c`1@#&XDCBNYnmmlJ zuhz@U*eK=?@I2-HRKd-xuN~V{oMT7(b#-f_e)#*oyFUB*&()vz7ySiw?Z)-G-u^!E z$xk=p-(ElQ$@<*qzffQK>euR-XP;~Pw}Eya?$^N)<1}M^kdmDk0}%iNA|yOMYfnrA zxddtR!CijSqcb zIo3E_dL{Tb6sB8-Qnp|Ctbg@Em*0uTx5)$NI34i`Pq-6m=J3$ghBd0OeXoj2+D)M$s=CD*$T$tbeOQ#%<#&UoBJ(n;ejUfbpWeI?9L|ojHUFQ5?JY1&% zE>1J{hHU1V2M`sh{5bYaKFAQ%w2WCVFgeoWkmp^yIDbmq{+THerJpIh)fOEA>|BQs zZxFUR0g!rnXXC7i*N1Oy4wCnBFeUGW$n>QNg9 z_)+&x?fAOSdUl&uSAZ*XF@zG&m=4}idPHbn7CCPuRqg-GiR173LYrVt2+S7t7mbI^ zBy;4MGtKz8hn3>dCTlh^y>p0KciUFTp{<@n;>y5d@ZM~#5O$fs5`;XJ2u72_pNx|X zfWn7fPkNC za1NK8&+y($ZT^!Iv2RC$?melw1ay%4y(Gx_*6$>~USqrRDlt>NE&&rrlX{fw{VYRd zK`TFx2zh_+XlA^El9$+z5d_^F5-9zx9jk5!UvMvTp#(dQwQBz%)UtKy_BiH@R;?_M zM*^oirM9w>X!Abt;{)c?r!TsKNCiMG-_??u;Y_YP4`pCy#$Owbk6JlY2R zpga@SXy!1HlnFFEIQbJSq?!}eAs5f-s>S#y<%=mWKncVGHKEd!Z9$UKuI*S`Zu%UI zj3{pHw@SX)9wE*gaEvd{0tlk-l#8pHwmuGG=b8BY352w6`e4f9o`~?YD=Ot~t1XE< z{bLNwd}urae#2*@7BXi@jvUzhj`s$NqMZ^c*PiQ1rpeEmTx^ekR^A&xhH+poqEZ$= z!8+5ApZkm}geu{eVIX=0K!ZgIaE@<(Bue*HLX)RmJI&LAv&lVx_GI3r&oMy`_h~op zjrk9D0*wS0CYlh?C8=veSmTDt9*FB*BwF28wejk^KLAqmTjoFwmzf0(>_ZvO2V()V z!ad44854vcN8OOob}+623-yElcJ=xYM%T!B>`?=JXQ3 zYNHqiaLRg#*2B0QO85#*p4X$cFBpe1226;y(eNmT@}jXb){R0z7$VjmV;&9O+sM{3T46p13~pj1%0Jw%iyM>r(XV}}zUK$Nx1Rp+hwJR+t5sX4 z>-POe)mDGqd;bA}yP8=I=I^M^J$17EooP%#d%b+U(T_Gp%c}eB`Prn68(f8bM+>z& zuEM;RGmQ5}-u#bdr%&%B{p;y-m#gZpE(ymF>)fnz+R#124UZ_dE1}`GjKK$r>3-*s zQIPKkd%xFckN5Jub^GUY)<0asy|I4ZtIC(a8-tv&NMCIgi<@^!{^B~~M74T9*sL|M~qq#P4fU3QYc@jE3*O&N05BU2(G)=kbM$YI#{KnG`M~ zvhh3WaRY1L<~@Yc-%tv#L%angNu^sp>nf%3>^EXx4+~ih8$Y4m~`0RExuhwO+woT)2F>?zeTm+vf3pV~ls3 zHetGKV~9`)CSdPDt=ezaF#Rl8N0{AW?rYkGe`D>!#S3ZRr0zC18JTV+{zw z-x#KH4E!>N9My+^R2Sv4GG4LQwBJmO+_W-aki^(U8&#rXYF|2GG81ALwzN+Wu(HbbKS?J0?Equ;AdiC?OOh*Gr8au~}@39i!DRyFB>^N5;`?*+gq^{mhI7$~RF zjA?Ez(Y|v1Lu`Vz5xq=2c@A^KrLvLJPF+8T3~Q=i4H#m4bS{~ZAt{q)0_p=SCbNeG z9XoQ@s;q+vNc21U+0y|>YG}!6AjZs>cJvUu^=~2G%}%Mb1ycoJ_hECblgXk_UJ#b} zzfWrS@vdeKBMepj@G@K#o&QGvZMQ0C2tSc^GP!=W1A05Imw&&>N7>yo?Fcm^%nfO#VWgU>{GO31 zsY@-0Zl+ZRCt9qovy6Gp4$O*e&t5)rvcCG2 zPuKRP%k}j0AFcOx7j$Q6K^>5blsF|W>(*_KDp+5JCXY16* zKGOPdwoYv=>Zwbc_2JKbtloa`e%*U?y9!BvubJHT9@fX6xl}LQxKbbg)aR;BovYI= zMhNq}-#~;{u3Wo2`K&7Ih7(kn%SzrD2Qlbx_w2?um}aSpMk#H%46> z%2YEk#wjqdiwwJm!svb{QI_!QE+W!jHI<{phOn2GVUQ$Vxu+e`h*zq#w51tMj%PI; znEzTSZLqh_bP3YLGS1(?Na#6{LxzursMLjJ+|V9&Y%tu+MnJH zl*e4EQJ^glFUr?N3TBG2p#4uj{dDv1e^8Whh9E`9Q4uqDM~w+#F3w*#i-$mur{6Rb zm{?eE?KuLU5Qt1u3m!=v;HMh{@~9C)2tL{jq*ikz9PYQ@FM|t!SZ=OwGA@J{W?dv0 zQ)~0dtu5vVW(c!I)VlL%G>|r74D^72fX^GDdH(8|`V0TUKdrw0eLqmoedr_Y@H|(4 z^vyqNQs%O$V4ngbfm<_#QWF3SQrw^u$*{klivelBU1$P;RjyOp(L#V!-&o%?+9(7= zL4ogN#tdvGI4v3y#^Laoagbrv9e4aj=ibKAvQHV4UCw>6(=Z3kC+rme#(&2D{sl>PeL zjc1E?(yQy&uGiTX>2ccH&sy2p-ll$XOGHbxI4ZP8&p!Kn?LTfNpGEK<2Z`p`>fr2Z z?U}{%0pfbNzt_r7^hOu~_U_|-)&z%Nyl&_ZW566vjdK&Noqqm7)$0|~@jp4I6Wj}i zs5K#Yfw*@<{5=CGN{wb*8P#01`QKTe)zx!b^_B1bLanxu{4drw-@aR~ymPO9>-Yb# zUVG)`h7H`UgWdbJ0!y`;*Gn(GSZ}@h&HC_%o-1MmoIii54wkL-h6lLQ*8k)7>}G4? z(eAxEU3>Mz-}rLfXeNbEec_9B=F*kAeECM(gBNT2^r`lG>7QSF`pQ+Q_AQAFlD}%x z1z(xPNdN939In#7hm;_RZzF=fDtLR1)KQhMM0`ZQOAYmY_ZkWH2der9=EN&)@<|CC z&-vrtiPY_F%aS4SQsS1O$hQ(e>(c!VPBq_a3wBIaSu7HDdn%aEssvftAVW>kTIH z%_n2fAcFWQL2_v$)h*Dqg(^B1DmziQad*+zUv%~;!E5r6lMIew;+o-5QGFSGJOJzBZLn4lMdQvxXgDC19nglW#W$JZGJ`Wx~6D z=5wE~JGbAftu{xOn{>U5I~esho96xY`?aPmAi&c7T1*&snA9F%Ws&v7q03xMEA8%a z6XN**@T&FIaLu$CJ2Yc>_RLd7`$2b~#x#IBd^Ldp(WaIm^+WZS{HfnxZy)c}J9m!i zH-F=g>gRs;cc>9YtuZC+->7`W1u>rr2h{H#Mlw#w*+fn>Sk%KuyJ&>kxDp#84Bm;Y zxXY37=)}erL6cykw$pf;OgY4IUlERMRvqkRRF3OtZ?{&BfWc6{^L86g%n^@Z z;F9d?)~(yMH(eBqWzqU@v#pm`UwfmqqcK@)jX`K@Vts9^mem;a-@V-=%|heUxEKIRaZiTnJe=!U)W$F1(J`6OB3jGDY&e?BFgJ$y zFhO|`XmXAjNQ-{SU~Bv5oX(j;nXT`q&!4I5&tI;yPoJyR>C24)I92Z-zF%+N*{^r+ zJ*cGF{FNe}ry;p;n?61?waAeB-4msI(@=yltoU%$MC z}|y-&`=Bq}VNF+8ut#mmFQJ|w>NAdTBT+Z*+%3l?eWiFs3UR&B*WN&7}Kg=$J( zCBD92MI&R~+KR0^OCTvn$AmwWVT+AoC-X9@#?$V&Hqow5tW~##SUY}#0mG0Q1jF>V zqHen<#v*e8aZt6)Z;b{gikaW6qs5q|yfI(~>O0e&Qn$X&Mo2Sj9cWu!)7q%#0O*L~ z-GKLk{0}ga_exd}-ndMyCcLLjFbCLVQNMG~l&?gq<2Pn><2CI)jQZU~FUAvBqrqp! z7k_#KE)jK4H%FrM#iu`L^NSZR@;!aSK2BO*^WIYygfyyCH8R*3_XRA@I8+VSjnvc# z>g`4-uGUvR^YQxnmp)tHeD7A>J6P0z{-6Ap1p!7{eEs#;>P%xwSR425-(#K9fqJ=( z*{7Q;)b69bm@V)Qh_-^U>bBU51ZN^6n5rs--{M*dbHs(a)T34|+J$J( zkX)-ie0HbKZ8Rcr{%Sou*sZNokLuFXA8iNhOKo1sf(K3^8YBt3oSq@%&RY?Pj<&_Uxm>dZBrsT>H!?YX8)Ux^VS!vCiIalK-g& zSpV(cda>Sk?Oxq{@4dFpC$&~>ea+g6Sw5(a&c3RUO6?=7ySOsm&STEv563;*9F6%2a!cgha(CFI7 zT4F86^Qos`N2At*k!cbtJ7Hv9F>+St7|H^OIhhKQ18aq^X9z3eugK0f@>vlbS`|X;)_ilam3(wWZ zUudp^Z67b2c3^kW&X%K9-MxReU|?%?eEaszyYsbg{?SV{TsK?yE-D#HbU9S?T~`Y) zZ4>gZbT`JS9o_%D|G^h!JW0fr%%0#j#(Pgn=-=tHhrDX=fnkvN`#E>2$FTPjv2NUe z0P(mtG)pDG5KPAeF%sw4&2w>2LTPWs8qD+#NQ317SwN=0Q)v5;sZNF@rejL=j(^R`o((TqtDgm#dCFUv04Agzww{emp}DFow<0vo^S3? z8yhfc%lgnqKh`t=59^J$->DPL=Ko*(Xa5;$gL=BDk#FCNZcICO*-6( zMyB-_>;MUlHVLu2SQ?i;s`3NID+fKix4&3=R=*T(j7lk`qBV!7D}Sgo-R z&^DYw`fa~mr@UnUn+1r*c<;3_RKtQ&`6NJ0uo&&RldX>9?&looV5l@4itN z+Sp#b_AFjwh34X1V-9y)TamI~d+E)3{gwCXanovSHz~Z0NNge|A+s{cnk~JpuNyb6wpurvs{2x7 z>e`qR0E*Zb%W18(HvGAN!Czj#^1^S`|NX!GuXSPTbYr|G^{6qM%SpTf_KwoXFv7a zjrziuzgj1+y-x9XiY->J7=f3;~^<~NHo>VNs){_h&DciRE*Xi2^? zqHb{h_Q^m){MJ`h*O69zE_G`IQXQ^~$kH~Asfi7nnq}HWkv(B?{;P{P`&?NroNca$hhfVc->-McW(LNhRan@sXCw6_A78HH9VQuw= z9yKR?c1#Rdq`OrJPSE5D8GCRHLjd7HEvU4Ps=X29lL@{O02F0}K*rY30Uc&22M_Zn zqct#X--`P$@D5_D1`8srTiC;TXr6WIAn;C8SMSoE0J1o+W~Hkg?P~3eR)YE*r|`XM z#$3zY`(Y7{LNd^Wv3l^}zFH#)bE^wmcWnIIjS2ev^^0|**&nYx|G9d!akFN-^Lp;u zGxb;h`F~-3_|u=L=Rf_a=KA!28EJ6{F4Uc-uKlBzU#e+SRsYye{#f05=iNGY@oe3> zd%Ij)v%a3x%&`54s;TJbO`UyeqcIMw^<`tecIxikTljIedLYKLio$}wpz7NS zZfo)ci~#8Lj&oSYw9&?R%7ItE@hiX32uN}vz$u^&C<>hhP&P#a((JzLt-MPOCmi2SL^oxnkIp1%R?}NIs zvtEDtpZgcr^`^dGY@BYywJ}Xi3v}k}nY#AOGi|NRYi~8HKYZ!+`sx4Yf34sBh5xPo z#ee+osmm8H*T+Bo#aiD!hZY_G^hTTy3X{O^|IRD*lRxo`^|L?m^R-T!7DsjMLe=L! zeZ3AZJX2d2KiV`U+XZOw+=UCZyVt;^jgYksTH9^^oPJ@e{=C2VFRaN?TfY|?W6=sd zc-S;kJEscJ+S$|Vb?rmX)^1~zF8{`h3mik7~WG$DOw33r~q@lb%mssMV>b>$SW4_3*VnsLfep@D3j1-oe}iL^?&F z>mll4%yp5*WM_Pu<%0Yj>>=@6;90VNQQGfEu%gVPzAra1N0`)XTD1u?Ft5g7oNY|X zxwgjE+I%)f_3&iP_b8Wh^ig9N7xm%iuGGmkpNGpyv)x}UG(hW(F?ot{YMPe)-DUmW zZ@*SYj~+Ly#51k%#*8*i%FSjj;NI`Oc(dMo_g=mJ>gzC^ZLV*|Kf{7V4tmb z=!l1~e*Xps8glDvqty1rVt>-T&p-)==p7Z}KIgNl;zM}6=cS}ACnZ9Eu(3-VQm@y@ zOpNzE=uJQ*#zDdp+{2g>QbONOuYT&%gel>~hkRgB|I%kF%g_%GN2_rz**2lXKQ6)BlyIt6GE2bKK z+W+_@B1+kmm!LkYsPm0Y4`J8OojxEz+h#6o`eu_H1KG6305;=0+M^Z%TV_JK200!V zrPDoJYvI=(cSH{A>2j&hJ+I6)?{x=^n!TGobP1fs9nv`>0w0V~>Y7G1|FEf&`8@>5 zXpWS*-=thL3LMUc8D<^ges%fEc>ptA)@Z76|rn>x_{?@;uEaWm)VQg_Im7L9%;l_C$ERBYvi#Ni$!@%NjgC-W@$8=_;MWTblNS9 zD5RcudEvW1Mca$e%siuZo7r-XwbSP*RBO_>YlcA(r`))`&TszCSBb(NiSJ=(hHy`M zgC@x+P;l(df45j3W-(J+9xlL%EWtb@wtapS{3$JawMZ z;u^kPLd#Ux-Q6Qw$TPpZM7PzapIWGUyPTSz;ZuL`C%JTH4PRL(%b`0MLaJd}wh-)PH zn<4Z=sx$MLgRvkVIormpYbe{IW;!%|c;+)N^7XF_@Hdb6iSPd`^^z-af8UE}jo|L~ zU37np69$w@86p#E%WJs0B4aqr%&oC=XPtx14HgR-RE!)S8OtC+o60c3GGx_8GUX}x z$+4^IiPgPnThrB_2B-(}W&ruwW9f8qa{Wcz3?p&{myWEvvh;&I-9d}~u!&(NL}5y^ zb;yr?;Tb;j$)_fE{TNP}a&2*n${FNK6`F$qqrkwaeaPJpKH}7>L#9$7S18aM*$g9x zM%QC!?}&rOKH;D{Ilp!Rj0uc&e9PsXT~M4v&B=e$toSL>FX7=y38w60#s52tJ_X-0 z;hz-$lVrdXqT#nP{!g+79+vA(8-f2%1^Na_(>JwW~PE31_ z(-}_;XE^yfkRk>0K~YsFQI}ZOiHnvzzbHO=eYE3P&3LMhJ&}YebzFov-s#H)acVwu zLLN;|Vx6U^O^r{EM+SDGxB6(vt^48-NrBX%sXKWW~YM zjSF;{_Oz*Yg1lEJ+H6nWuW2BRG$M?K9_jQx`@NnZ3#CF)q-utK@_tSE0n!|Zgl|H; zvt;6w;$zvCr~t%m&k&i`l)WFz1x!1ZHN`2mWy;^4{Em2>gA{zj$jbdLEiOp&FyS+l z%N03ive}%xR?)OUIkmRNl`9|1dyp^Wq#;w&*HI^BW}!-Hp+u6=Xpj4h+YOeN=dr34 zGPOEhl+bQ>WKTb89O77}5W4hSfof@n+1XPlRp920bwE}SBq>rP7Z(>eIyjKy-&8u$ z*rR*2Pk-`Wir0ceae@>n7!P_f$pv|rFz`Tu?V6mwa27udWoLfv9S=|GgvoSWf)cj9 z7lpzm-`?JmqHjAw(mQS@Wmg}HL{K7(QNU%8_diI)osIcYfwFG!*(WdZXa39|WN)m4 zRblh?P0V=2#Y@kCVKejw>Z7Y3at)0~%+zZ9<-huudFA!@_$UA1ACXCP&eTd|(paYJY@v>ssgcW;1v%4g zld%_3w(|JxF3+y5@bWXORA%a^{0xQ45_Uh3UB0EmY^4C`=yrjfg&Mw@Blpf#dfRu9 zG{ngYN)#3;-LXd+J2ZEX2>bh}xX&YJ=A_W)9gUcT*vfEi{gB(&@6zAh=2X$4S~qy~ z~CN4EV-7SJ`;)O;**I&%F3Fi|1F- zXXnUiE)`Q}KAU5&ILqGtef*I}C>bOML(jv|%?DWm#6F8Nb;PzhpT)^!r19_cx?;Xn zDwXLCMnvM;X>;?|9XWq(%fK5Cr^%ewLn~uh6&NOA5@Bae99zSlG(xdHjndW$y#zhg zFoT3V21b~WEmlah4B>Q@T&|Y!!x&3x=(QTETqMp|tejuNvPTdjB+%wKVz+%jqkSmp zo1I}7Q?qvg3{$h=wJufD}q;fKGPq(wH1u{;Cse(JADAVg@oT_1nW-2APL&1# zj!1$=Ai4NY~`PlxfKE zD7*BjvOofG#4Er+WOn%iZHdl}<#{zHg;P`>sj!nTJ$g|l)6r-kWG_)8*csMVm$`iH z3QEjYCig8~4b;UN%;GJ=kL?( z?&9Q&n2AB+CuFK+a4f6@tiZ?3=f#ttR;ft?RH+m&43RR*Zd{jZ0)h-E!z73k+2#J+ zzx-#^@-Ag7#*97EK&Mo3Sw3?{2y<4kj6Vobkxtglh=0WCGi#iG>RAq3eSY^hevNXa zfIiyii=TXgAOF2yr0JU&`2`$12eGI_$k-+s!@|hri7;6_dzMF@{sik^-D5l+h~LA| z8{y{V8bPzuBWzE|hCa<+lflsE=*~^ftz~fyn@}$?9O>NM+2iKNcWLe2A&n1t@%cwN zyLJ}0u2ZWz7`1sStBV|7%TbxhqH8{e0d^*XaufDD@Yegc*}C>N9A4wE{HY%%S1O`u z^Juy)#I~J-E<1Ze?p?k^BWUyTvvr1R1>)iod6lQE>C`d>;>--`AR#RpM1e*y^3j0W zM0Mg?yz~AC?CsnmU(PXq@iC0jEU}Sg>+&_i_C$SR;Ey7-RLObj#Q5cwAbV z1ykqjW0&yb6y0`&XET}*6ANVw(~_Uk z+IQgFv-jouCs3~3*Z*I)6Ar+)==lHNvHy?V-Q>AFV8qM(jA3XpMI^eAz#h1aX}X23 zL&kAQ!)WUM6d*N~bQho z5Y41$>q?pjOikcrfywR3#bY=|sZ@${;D@+&PA2wgmnkcjP+)y2{!+XP`Mj(NOiiC! zx_VPtm?7}v%E}@KhX>Q}n!j*cOm%<h2{028}-lo;- zFlg*?`Te(8IdhT1>M3+vCvkL4N9Paz@bBT`e3i#u{v_*O!Yl9I;J^8g{yRSX(j|@# zw@LaQdEMjUQjx{S*BDhVuzGigXgK8dhaQETL%EodiLFwuVTo&;NvGdKH*H4an7mU# z^^OGn7>Q+Xf#yL66NfK6`v^bzV_zgG&QM!i#?T!)-5!N}hBOV?KRRS)c27VAuKmQ!3&eri`k5OQw4dCrJKIC9$pXSj%k1khPT`qC@si!GtTqI2sOpIrJ5Y%3=$a`cpg-9s*a zc!SGteT}Glhgm(K1emTXWYE~qFf&CoE6?73Lrkj7G{p--Ha3sg?xb9~afQ9BS6CeG zu>J0b%$-?f^|2@My@=h8$Cuyuh{pC^if+VPAH2!w`hJW^F2^GD&5Q zV30sQfjA&z+AJ0ga%X2)G{1w)_kNy!>yX1nlaXfe<+t7@_9MKW$Dq|Al>y5jNqoFO zWR+;~^x783WHor^;(7A*3Qv9N({#rnscuXIssePwCRG~aFrhur=#7drTM3Q*8>nP> z5~N2e=jkyS+fxRE@sKDAq}jG7Xp!NNEo4be9c&FFHBs3NAKl%etLfygZ%`)lu5Duk? zNVc~m;+=3AWNjjiPJEnmeY{>cS>Z69=n+Ig9yc(B+e99A+~Azp8S6rRl-Jxb4RRK| z@bdG#`03Bm3Upri`WxK6b(e757hB6SYfGG3U7}W>C5Q~N#TqFVwOUP>?8wet3M+CH ziG{N`brDN56Upw~c3gpyYtY7vP^LXqUdWL#h5kcS3L+aK#Zro30%14XLNpWSIX{?2 z#i|E(!jC?BQOJEk;0tGy*49^_4&mGTHQW(ZreoJl7!-@_r$ZG!YS8r3Nxf5@X;8@;Ehv4QUW#Rqia_< z*xw`ahp2Fft4HW~5KRyeNpNE>nJrhQ!`t4FT&=*u@&ZP-$hno%lxJp0bY$|+XDh^Bn{u{@rVROK=>{V)D@w5p zMc{WRR}A`yjj|lax@Dpp7M7Kz5-W1KvK$-TPKQ#dgwhORJ%gbNEUrF7x_^akb0ke~ z&J|l|;#g-m)cN@1>%8@~FLO3u;L|TX#^R+V+5fuv9H-{zQD%u>|K(S)-74ks65}57 zynEvg_wL-};}5TJ@Ak)x&MlLF=@PSZWzyxI03 zb(8nr`+)nm-e=IdN3~eS&e{CNt8a0?KjQwuHm>c`Y6o#O%`u6sGq5zSHk+LKsLQiyjkBX3d1sblQEZ(#J71B;yg%%-vAu_< zIW%L%&6~HmfBy{}nsdl!BkBt!_M;;h z4ls%i_qz?6*T*Cv#!*L`8$5SunU`LE62CuBEbHJ3cGe&^Q^v8+xZlMaGzFC{Y!6_x%uqU;a(k22AtdIZ5<;NKZdS z0p#NoW1Ex40C*^00Qp4z$y5UBAxAmBJzenIP5<9Q29#a1OtU9N%W)ksRT%_*q7*r? zGm{fkU~3`W5yd`3&&Lpgn}Jfo(teO+mYzI`ha3^7>yl}hhc<1fPV(x7B|nAfH6@>) zX!MhqhXZ`nv16MsZpBVhJF!@dc65QmNK?s${N(0c2Lvm24>1!e+J68;G2>hX#hUoaL z%-8wMvybxR;}ZRninJ&q5z?cM@PGA`nUy&{@u`>P zeRf<|9K7Nr<>;s(yX1fMum9Clrexum8vRy_QZdgDefM|shyUmwk$Bs3rGn*TWCGGH zi^OvIum0=*h8rJ!#IsL7#;afcZ9etPO@L%DUJS3D@NDYNn7GP0Qg6-}OB#uRX%Q{Kx-@CmuUXuifO}_5m+^<^{}x zxZct2#teOrFMn_Y@9+L&_PR}mQABN_P8<)=M+0VSH7;Cwgu>i1R>mRf^~IpcQ8C4g zOz&jeEDj1&&te!kY{w9N^~f8O4P(54FPZ7XXh583G&+&6*T=mh2K{|<`6`hLXmp$G z9JcuQ>J`QVkAtmUZeRI;=VleItFX~XO-l%B?9;gV?6HD4;+l_JXdaP&^q*Z5sU! zwNKEz$LGUOP&jppa=k`9ljF!TD3(`wKSle`uzV(Hz^tbZwl_ zC0ER%+n}^mjD)Pn#&FCB(r{(kvSLd^k1+6YG(|WL0E?kr;N5$7$>lueZrp%k7u+h9 znR!ON0hx*;$H~gd5>~cInz4EM<|tv;N{+_zOqtf6&BlI{nSz66Yw|dB!y@j7MCp)BK{2;j7JiFqWgyW> zbx3TDjyI%e`=~S`YiXE{#?oAo;dp_o@9)8Qgb|N70F2ZholK|xsI6CPtu$2?T{qFy zG5nk&vMzyTffLEy@gDnIWPT}Awj@lyk)9;lJ#e?<#HBC&|J>l`TW|kw4THX=_^SsN zxKh-}XI+sk%`MDv>hx(GH^*+X$+cTI=pG)iRIPIM>>8`5&rqt*aO>VCzx$Q1(LU$^ zk-XW7Jhx-(;3@m_#5(zy3^)D%IO2Ee!7ao+1;RBrNj}u3cDM4syslz&Ger`P3#$;) zj-zi+AQ7>oG#+@$O9)6b)z?Q69EUd{joCxt6`U9ZP48C%SmgeXn}^FTtFbw zKTTe{g&4GBUZCo+~Pq&1Xi&!=WK8mZEx0qA!k3{q@UWRxTZ!L1dN6~hT}foSZC1h$&UQ(x8D?Yt)UxiY}^w@t?g#zJ$4;ecAuu9 z;~0uy*kc^{#8V=Vko;27+RNic>B0|iGOj@9j;4wHN(CM-KJ_TeYpcx6FJMX`mwl>) zc-UE&QneUeJ3aRI4~SF6B7XiiMAQX(-;mRFY0GG+Y4#?mc{*&KE`Pr*tF(n!vWe!nZkFi+`h zG}>}8MfrUE_I;KrMZWkw-@*5N?+=r$mWdsQt{1buy~Fm_ecIhU3~h{^3^3vmhO%)T zal)ijniI63A0DBM7)z7ph(LD`b1K6|8Ck+mu0;a*j)F0Ip*%I4X)j|!EDLKo@5c+y2IL|3!KSYM589A zmXL8Q%GE0U>lkMImky5*wN*2b_aGrPPMVWWC|xe!M|_d4uX)Ky}F=$W^c{N0cyz2}TkM z$*^9^5oZi8JogEi=C^OXOHtFYY)#035;W#m@_vSKO14ttOTYVdW=mD_#mnfH3zGNY z3p!|64r4!*^L`Y>^r!Bi!MKkSB=#gVP}6il0VR~m%3#GY_wOBWc4-lRIL6Ay%;y~* zUzsQ94$#H}_O`B(j=ET>PaOA1gP1?^6W`5j$s$vlC)9I`J)zO+W>}Ms_}54jPE6hs>I1jI^3~t`dB9S@L10S z$XN=!6nBoNy=gMmi8SdL{ua2MDGBcX^OgUD+qWhIeoHg)kaOO*bpTWdR8`97n5|ct zovBfssqy%wOJX`Wd8Ji8E`QIkQZCev!n^Q0NbY1k`B^uq{(eI;M_vC)|XS z=f+7Ao-pX;V+l%Os<}S)^`91ywqySA}3Nh`(UtOeuClmVv?m#>>1_I>3Jhnv@ z&VXr5ZE{8LEm`k{Vo?fKs+c<5jZr80-12)zhlj`koFosD%%&aOl+hkalbD=n!iBYt zOc)x;F>#SpAnoo}M+&SrO+%CWNJ0w5G8u^w*64Tp9PKwrG#4jVA>%1>mQK`f$o^|I z0LLuhW=k@uy1|HA&ftZM3!FQi}2zuD^WFaG6E@r`eML)_wKD7I2KmXVqFi8Qenx!oKRSPrYkNEN#{uXLiNv2qjJ$wWC*bbQEljV=!a|u+ ztwb7YvabvY+1)wd-t`UMfBg+!eBv<{Pc5m^5X|B1mIm%^^x{M*bL;m<$evn2AFioAet! zl$9fsAcR^k^ra!)**YXnMntJ1OhbO)_dLg6`b&SDM9brrmoeS4*aRn0grzC6DdaMa ztkg6oLvv^mq7V*MBo@0!MuMS{&pDV9f-jsRcJ>cwkCv%vWfCE~S|oxNm;`Ys&o?CI zaMGl!ME2&%ctE75m|3CJGU~MX@bG}Wc8^M>NPT|Nq^wdX=6UMTbJTJfEGNs{%nY;T z5-M^ywS0!dvt9OY-NF{j;)pmLprd1m-XBtQxfTz`5rbiq^xgrfro%L20a9^t^u%dX z46@|d84i)U5*g*@D_J;u#8 z(Wr+?LROb%IK8?o>!@5|g}%xVBnB$haFrpX!R^+VU2n|&+xJNG8Dx`az<{s0V@dv(n0fUp11WuL4-rdZMOOVJ~oPObv|f;!gPi_;wPH7O&cCr~;G8cJaJM4cE0F(o*q z>LjsGrr|_Vq!2(3LyC|z8+uAY01)=saI+Bs6wX8rbE zsu%05&evI4UZPx|WuRp!4iaI5TCO3Ml#CH`4uOBu>1z;Ao|C}J=!l{K@k-ZBNF*Qq zLCT!$^rM7aF+U-9NdXd>VFEh3{H$$Bpo>hawgj>u%xejnNyUy=rtr}N$H91-bpX^3 z_<=wC@9@;qPg7c4q!-3SQNr_2Kf$wq`~SwxS^SfK{0|ry3N#BnNhDn3lTTjc#j}f| z(T>xUaS{oe{_f5DC}py}cOZV|rX4XDj9Dny{GOLT!G$xYampouu_ezd6q{lx_}}r_ z&r&H>`MF>DCHY#=?eolqC4S_GzL(|GXGonaNot^_CYEkuXHDS*geqY?ipb?^asjDS z7I1=rG#|QdNiz^DrrzxlX&9rt0WUmpj^(8p+4&|!Qc(Q%2u(F`Bzz=hZfTy37BD+o zdNr&gWi{QL~HLYB(R zpXNWj@iARLl*v)kE#U*GY?iHqHm`i+BYHRA<@bL7rzk#o4!ckxQ_Qfv-=#m+dGD>u zeE9ZzXoEI(__UDPVlSqabNIq%Uf})L-$IRAT&O6*HXFUkmtY(cMjD!is9T0!i0NcV zW3j`gGFL-$V7uApAN}i}#WXYwOCiTg%E=lOxz3@EhaVJisuLvj|QMZS=l(2h2iG7dGjtSmAo`Hkcj=TrP)0H#2G&M)F=7u4}2akwa8T$ zkU*(yg*2J`JrBbTNmYQ8aVRJkU3G+HYMBN`ng~i`Wn8qehB9 zjWbU^%En=zRx{?S|Mu&oahs#sAWMaEr34I_-e!A)zzx6v&yoq}+S zMCD}|=$b?)qnR#}6OfZ(2#Lgw;|GCUmggVasLRT5>aHoT@v)QXu}iFy6i<C>-0w8VWptM2XEB7UW?)p7>FgfS=y$pD z{xx>C4;c+QlEcu8JZ^k+hov(sXscri8OY=dpu2QSg_8#0+_^R2Q_dDB<|-ny8N?Rrn+J3U;({j4M6Fa3 z1B>vOt*>bh^xdQir3OK`D=gvZ?d>_2F)#z+KxzGTEjk#;eh|+fBRcB zH@1a=oG}!-9#WgF^AkVuBRu}tbJQwx$BmEt>kS7qTWziz7N>F3J+)@E&Lh4El zP-1Q*7mpxK(e1oQu7*?CHI5X9mNL7tLX;x@>zRC3QrT8lmiW#ueg|hBdz}CMzxf|n znav8x@W+1e2l&1p`n{-PT_iS%pf4ejpA+A9%`kafU`vw^KYWX5Fd(DFEYH=LJ+q22 zvA^|WNhWLV>=F(q-&ZWnFQ9Bgj>XZii&7qj=5f$$uy%flFqsCoh)ZE4;T(=x#Lk<1 z;RnAPEnC4Z%yQHjaO3ti*FL^M|7e%*`P^q%UYMg|7-)qor%$bl!&FhOiHB!BTv}ea=Hs=AmfU|TDe#it+sNq zlDcOYOeZv*es3t;5WE0GFVX9F5Cm=l>-KsC%0LejI?XmJQ8H9SlY$ncfk;=8lVm$dhEh1Mbp)`|RHb-JPvXTmu0CbI1S3+=1y%@ucQLZA^ z5IJj@dIATRYbKSY3ZbTP(DE2+KI`{3@y7wd`b6FnmCoP60m*WKEZblF{)XPPyG~ zPgkir68-*rnO%bJQM@#*w_|p4XS5p*Qw;^^JEqwSPcrSdI}prMNn!IMIb0NQe7k$gqk9q%GBai_UK4Y5hErZj%&$dD;4tOGBz1ULNQ3u z=nRMAKW$n%dDjtniK$EpplP&v+`73=bK)E}>d8qN$C0Ga334IX?|`O6gDoaE$)vz4 zc@tHt*>M}PXMXYN7y06MeSwAL6@ltntsa?d z9w+O{eF6;qfQ_R=dcM#7jUCyqDnbk`V(s({pa1kroIQO8rDriRqF2V0#wIH#_n-Kq zf1IEDH$O#Z|9~hNu)J2`PyC5L&iw2uw|@6G z$rN)`i$yHM5J$dXG?u^Px_Obj6!J9;)x>lyVdh$iNbpd)O?Nb5&W{;;U1n=lv@{~s zV+yqb%AM$82mIJ~euk%>c@C{uV}BI0xwU~m>T>Pf*I1pea(Z>1bB|tRuIyr*Tj4+a z_y0Zq^Z)oi=JTI>iO+ua1iQJ-67(7lIdJL1$g3`0_<#Fg70GoOoCUYue3`hghSSe9s?=?zEtsYiR% zB3n4c;Ze$A;}D_Gl);{@?#+1oy7e zY7V5x;CooPR4kj9SC{y$_rJlD7v?D!GQ4;FJzoAp-^H0rXQjb5{S;SO7~y~mOI4nH z>^#cNgYGl(6>q(JgYAt?yxuli{~j+rvBnF}pC?TWQk6<g*94(gri~1y{&Dw zw(gT811wvT8Rgn+YErO|`A-k5zGWEYi`$-i@t zd+Y18+b!gAXepl3*g9(ArC{W)aNdhq!W2TKA9IK4&6p4w;N(^-eT#jNsN4;96Hc4-qonv`<8Qrm1-`Qs957AJ}*6UQtIhJSZtgbC% z<%`_d+G7|ey#4hzkOL(YiPHnQn3_h@PPqe8RK=232beYnsYu7fmpceONtp^o$1L(h zBziGnDo<0WI28kiz@N(EfTB~t&AMbWHUh6(rkJY4mPugih z#%&zU=k%Ec*4ECjxUh(u$qB@jYC5fckE33juYTn#q+Y~ItYdrD9<5X+2j7E|H zPO(s?TC0hl_;553=<>byKjKSY`gMUU&#f+U@!T5EzwiwCYMF5qv%h=D+VW)bv(OBI zlo*FGv1!p9O#W_HI&OK*rp7}WA}Q~aI(^MB^zsXEJZbzXe&S$@xVemB|t0%2+je4L0)Zc4%PCM<42POd+G zkq`X=WmEBmPd(46**OwD%U~4IY#-rGeA{D>POHJ(!U8Hu1=X23dxlrudY$t#3(VAK zIQ94wj3UL=o42`n^#+aI1FnDg4nOq8=g^RK4lz2qve`Ol@-zSDUo-CS^PQi5lKM+8 zQYqA#OX}$TF^j7;jDtQ;JaU0bb)HaZv<7|d?;mjW{nxqm-fKMh$Z3q^ETytdCR0P# zAzLgFD;qoKqB%B!7jZaj%S8L7U;ZWhexKW|Ce7_l?p*(XKl>N|9Hy2-%jUrJuyd29 z$HaAQ;f?51Ud(K@!e+0si+ZUr5Em7=l+!ODBVXw;v_pTCEiWr3gaVj>;f{yL%?(l=({UVn? zc#qM@N1||b1KZF=s+G+cREs)V;>l~91|FIQGi%G@v=)0Kh+R={95n`5nKEO4(nOE& zN-;^Qq&d?u7!Mz@*nvzA}7nz*~b_K2!b$a zpoilTQ6%9^lLlO-!fK^Lx8G$Lf*WO+J#(JB_irO;X}?2$Cc)5SmKG`uM{9i5blBb5 zW7IKu^3g}cU`ls$c#%%O>(LJaj1a8Rh;%$c6?Jq?iI>CP#y#GD{WYS|Hh=X`{}^YN z=O~vJh{g_~TSRAwW#ojYn*xSrh)m2KM3|0^ZaMUaZEOo-O&9Khctebb0zGG~kWYQ$ z5~pS-+$o!KMkjA4g!u}CFd>~l`mrsLeJI6B7cyixIXBdG(pZR#}p)1 z2Mlqf)NyT{Ao3_ysyI25ktc4JqR28#1KY}ovLLj|Z1*CTyqIXzKqXmnW(B{H!;2@j z-~~E#{dW84tTcs;rbvb~_USaV*z&Ek(Ex$F}D(txsJvC8P_n{uLC~ zo0_4a)PuEw_JHKAAG@kPL{JyP^VG>!XBuUmD7kjOzkZ+QaKI3a;_RG+8KtSLW-x3a zCJJ)g?hP1?0}gf@blW`+_791|5#o+H8VWxkF%3e^Wv@5j@U^#i`|`)Eo;fWF5Y4ns z8i22T?Q6iv?GsO4x~=O7e3pzuc~Z&Lw$xzq1PlojDP(ih$|aG-6!V#hxrPuttXvkS zX^9`Zjwa-gyyK9!9kRMDMKAVz@zoalSwqLtHN>bT45rL^4b!nObX}a)yeO2w0}%5S zK?+>k67!7uq|nsrLbP#Qmncr1?&>&zo6SB2S|P9=b`K87n>w0?xRIHT3A)16Vsci*@eP^qN^l6BoB9AEh-OaQF6YYK4q6 zPP6khvc)M4%?~F8G5vO zZT2=B^csh(t;``(qq!N}g*xB=%{_U2t^kQZcE8I0hp+PNxl7dZb-JNL+Y9*BU;nop zZEtY?)FMwm{RB&fiRmag0sTo->@WTd-}8wV_~LhdjyM?NCl2cyTm0_VUn6N9l1Y8+ zIF`VW$RE>>Z7$#2SaH`HpYi-|N4!MPaEf z&{&vp+1S0x?)qK6^6S6O(~q6wjd$LIw8!G9Su)v@!1=CI#4XlXm|Mg!ENP6|gDwZH zHt)ax5$8_TNKB1R60v^&4*kvnBP&36GWf}mC?3=7^*EnflPT0dq=gUC5tnDHrUo#SA0R}56L^%}9~VJS^i5#vS^Gcjbv)*A-sMv)}!5)8)TcW>&7T+XFZ zEa0e=jA_XZS=x3KmPo%e*)<;*5-Xd<(MIGZg)uhq5{+>Zi?Nd*dW3P7_WrI+UYSyj zue|yyk34do#i7T&9iOA!yDZiVy!Gbm((o5*H4gm%Pd7-WF+`=rOr}6O{ zZ}R)U?>i~h=dc_DeH6>UVi=a}lSwsfy8w0$O&iKiom3`L6k>Z07?{&sfKkRmtBtW# z43WoTsX)|f5ENs{;rF}=@oON&LOXGYqFAm+Q78=t#ZpC@%*c_U@^kPNOy3c?1B{pt-NWJLt^!XL>=`YTn0kcAXyvI?yC)dS+ucWvtZvZM_X`#dy zKmQ`1dhQ&x;-sif&i5idMTUWgvVEMaAqt5`w~J+Gq%cQOfNlw&LDma)!6IiH^x~9z zts~9{bx1qpj57Jz8n&HhWw9#u!)X*?**az^j}t^hiGdp#DP;$u;@NCl6B!o*}u%+)k`-$A6s$3HK`QAr|=MJE0rGb1ID^Oaag z@j`+fB?&jS54gAA5Tvs{Gt1oEBDI-17&>U0tWdUgc135%Y^)LM<{Z@x+F~{n{3@eKZ)M^zjJ^BRs zyjU`lXgb3nWUtxc8*jYEt6zPEtZA@3Q)g*mLAVX0z-N7Dm#vL^LU6NfA)25W7U(*| z@tAh2L+l0Q^BEk&M9gHO056O=*xlxtN6+xWrL$aEJ56nVi6lWTFyYkhvtFq&JM2=a z*17WDWwPFowNooB&drjm&64V-tN~2JnR=Rs;wPYzL=J}KQ!Aq9tvDu@G$GUceA{3! z8qt}sb_W7~k~3ZA$`$gO#uKN{qG9p7Uw#$e>p~n$FiI+WCnftW9dIohA>d^*#LmQL zJ{Fz)M^`Qr4+fl@Uu11zk&;++YOGc(oLN4Fry?#atdTJ$jg-YB9fJq`sr)-+@Vpeu!A7=qNO z6i^zi?ogsjd!bKzm=I+%^oBhOjwWh?jh*|{CVPHe1sK;VECBSdtziY9);3Keg79f&)2{5^JspT zvVzCXU!c0QMr_pal1Z}>Qmr|_knwnk*cB5HCqB8ni{}q8jD(q)GMifiQausbplwYC zo17?0Y}=HTUVtuBv1PiDn$j?&7<4*)X#|2G5bua?w<`su*B#LA4~bKa!`^M;(LmOw zTbrBs!zXa!7(W=|>M>7TSm4rs_?Ow=-lAG?sTQ(~!jMdTj^PGN}^c zVq&=16OMuH;*5~>l}3aX2jZ6y;t**?;@GC(mT2{Taw#~I*KV>Vi8RK(#?H;vmH| z;5vz&6vHG3bwZ_$KzOH+0?jgiFGyxhg;T1K%UAP)QhyRH-}Y zO)N5Hny#0MEX>s;{KK$ZfxqiY@$!o=NEnLWA5m~@DWryD5dzgD$8%3U#{R(({a%}R zIN^4XhwrkIt95D}Z+|P4v?JV1OZ*yjTma{9XEU&FGN@A|wxyKuCyoODPOyPzt7f?4}pgRtP zY3-0wux*6puOk<}UYH1Su(r6!VtrP2Xv48DlYgguKB`(6B=3eS_fRdcAJmhew)(^6|P?C zQpzMOubsxw#9v!%M0KZ5ca$<0MzX_mojj-KXZXXv@5jhxa?;7(ZyfN}H@?o%<^j=g z%uGQ?T=!6TlHISNB?gUy4wjk}I8O*nB#|_3616!Fx%}2UeB$XfyoonJ*F#GpAqTon z1}DnN%A;7yOV^y}Fp3q8_K0q)D?v436o@zY!PX%>>yvl`{8%GMbdhm&#(lA0?RQ1W zh(Nhf%-Y(jtN|ukTqzF7aV%t>tkI)X%wpPxG?eqT8m?=hp$np>i#NXo7=)>gW;viK z%JnL}!(AFjM-!>4pa2=m;`jadj|f6@e|LLgKq7nJOBc?Ni2{M?og_g^;Kq$xy!7Ie zl9Ctn4|(Q=r?E0QF=){+B`jn-=;M?M*tSk4vGKGR)ATXb)cYU~#BU*MSaOb`yI{D) z0Z3SqklS=dgFfR}BbT2Pls1_p5kLAM7~-V{N$PU<+6|)7Sd=8qqbAi#jX|d^*2O>Y z9WV3f`LkSn?nTbOXpHnKt8IgzhD{x=zl~sM- zol9t8pXEt2TwjDj4PVP47Oz6!QYga}7f-L>W*Fr}nd1%m!U2kWlXkN$4T;i`6vZfw zgiGY7Vw8rmEUs*I_{|U2NiN@K^-PmgS+a&y8ZvQ>#~uoV+5hh9^m+!7`a&Y?! zMmi>lEn)&`{NpH<>qwgRq%lQL@sgP4c(VEl8JIrT@9nX7w8!OlULog1y!-KO?4S8X zzUTYDi(Gk;Or|RF!-aBLI5S(D8)!jF*zbsCZJ}Br9wy|JLoQck99Y!t$@`w8>=?|N zF-4{01t#85T=E!r4zFF=;;EN9EYD}DwtHx11|>#W5#y0Bve(98i}q26Ql~EkJZkNe zw*tnN#Va4(WmJ6=tGYrfu;^`GBk1kpI11m<`O4+n?2cmAb_Y1+S%%o`-rgV_ZqNu4 zdftHdJAKrvA7B^P$-RG_&LHNnJz#(PE~(*@S`I(^i(ez>TC6TEQ?1OBE0)E?s@>^u z(Co0ewZl=Xk8rf2A*o7aa7aiAyzoKJN+PM25;ZLz6=^a->RdS<0Hp9oq5_cLnc9Yn z#rO2%X&kpDjpB)0D<`q-X^g1rNYLeL5~?RPXzH0RoVHkl(F744hJyDBir|glSXMsu zhfyjeNku6&MYDBzj6o70G0^hIB_!?!CpQe;GI;nVEcP3wVSd6nE9AxYRHeui z+8_04wL8L^%uKV`E!z?al^4ds{?ua)&zBbk%e6(P9U>QMa$<-88gQf%a^)iPwTj4$ zs#v74G)2UTkPfjkwq&{|x{0A6M@pq!5tN{iD_}dW{M~MEKrDY>lFcY(GgQhY(xpYR zGM#16HDu51m=-FQ7g44QL(>HcO_EfiWJiM$j?x5@bxn(Exk_ML42K;_1}^SB4M;hr=-)KViGk;>MM$c)cdG)eP}m ziNy0+SYD-=v5|zYxH^rdR2Z6)G_Ac>``QY|x5HWwec zNNacUcw&Mu#*af%9@xlE^9sbVP7?O^8!f)}`rFK>K1T<8?B-oc8H-N0hLMJNrbB(M zPIo5*hA9y5!Ens__C1aoJ4Dfl(b!;jx51#ZDjj|*X;&F=v-A>!d)o(`K6945ouOE+ za%z5=_VP0Q!En+5$Z^nbw7Hil^WIzUQHgXc-4c>u;7y9XMHof`oA>*B@?Mf^_`XbB z_&(hx8XQt%x{H0aQ zLY-W-%weNNYj2BiJVM10rV4m;ZGohFje-vvn?J9?KplJ2SxSCC= zTw&Z9kfs7B4#WX=Dm7Tez+khgOUa;I;1~+sCtuV|C`FxQ~ zwn(N>qSMzzBI!w7u1^?^MMf5cp-i3^%4MEfStT>Eadiv0n!)n&8b9`ve}FIj+Aou{ zOfIah3KI0%yO%jtE%D6J0jY90v$)FaOo7$8KT6KknJrgD9b;v(B$DD*!1WCxPm^_q zt{Z~**|sei|Armn=CZU~iZBMy(B%T;%N{>1#-iZqb|&aWOeZw?^4nJ^mvUUavyBX6 z#6kuhjy<{H2YzrI*DaHuq{Ugb0R8=j-pVwzJRNVV~w?!rtql(I-mB=xIc!)xvg6%Jn+`$KU-Y zoLyPr^x_%jmR87=%jBw6u3Wv&;lUA|Mu$Q+Po-X$M(N(hHtp7iOvWGFYqI-WZ;&lq zCpAp&-@PYBP-*O=xwc$KqWjydAN4Toj7W%Ey{5@U%w^U70S3N*IYkN z&@G)5U*zhG^D9!6uif54rCSK2-!u{Rhpr0>lF!;g*4*Clgcl-3Tgcbi)Tr#(vNx5F z6P3t6A?zL}dLFyvKFGsK(H>R~0LU@$z>no5kMzWQ2Mq*4KyjQkAjKcl6p=VaDa1MU;RZmy`Or=7__}H8!Unf2 zM+iCT)RxwjVxAFl*v`(bFxf?#mw+agr$UYp2^OMF4+(u34hHgM0+k>;tic#>G(fbS z8AlFKL)RHcshmhhhx_8i>{=#HHbbdW=JebGuBOvDI>ZGk*@6^HUvbT3ICU6t%fINx?FdVr_YebI}^7Po3uStvlSlbqn;6cq%;=eQ;vRzEn3r*QcJ^ znl3ORVp4P*B7{7jL{8RF8WC?iAW{~No}u43oFFyw{&m|e5^a{ng*h%g{y6Wy{#91z z=IDApYfDSiE6Zrc=i;eF+Ko18=rda_bLqtwFpD+N zGoqT222AOqDc{-L;-%-F5K>MiSLXiKHdjCVfNS@*dF7SY`O%pff*__eyUKTe`ZL&J z%+LM&&++OTZ}8HS=lQ-*KhI}B_c8+tWM-ReZ0z%|fAe?v!5{i=G*ad&1wQ}HpSg5) zg@c`&5(u=ow7|tDpP@9jLUVvP;vMX7;d=w(32{w433SA{QPYG>IT()!W68Z>F!pgr zeJb&YG#a8MV_83FrjDI)#Uv?=5WW03h)E2aQnidzsA6Pm(%=j|#kE`a8TcboGbNKN zp!=Q}&eWC8*)yv|r5e@R97Y(3^WoB|kij6p%qnT}&3umbu+K;L)_HMrlQ>rrcD_BC zdM#ZL$WfZIv%Mp7zok=WL>u4h4pFHmdHU^fj?{3Zi4Bt;R?cD+3>gFy(%C9o_t$Y^ zh2iE&$>3TUStDkR6i2M1Z8oDxTW@k7WjM?5lWS9*2cw>XjMg#rh z>!fy;?!cqb*d-47B$0TNFd9be#Z7Fd$nDJocDCD;ZmnbGCa9hxE|pOb5qbefw77nI zosdwFlgh*m^q`F&Dw;R%ibqMRQVOM_kVXj;3BXEKD#Ydec1Plj!!#D?-f>-7SqTvw zO@^njKS1E@1d%Npp-CJ`p{3Dk3!f@cnh?IF7>mJ}IFT|ALTuZmH|UGUziF95>`O^S z1u%{K7SkfBUm?=?i=;1-0*<)+1%X_9jN^#&M2yv@7UG)RFTum+w&K2e90g7)zYk2I zdWAFv5=thoJ5e0Vx*$dPcXEAAQppaH;%{5>I1p8WF}>EwNHGwUpxJNXOnqtXlOZ2Z;8yg65 z$g(K9j=+qiT8-3ph0S|^YlkElGFPdfTnBkk!%z~Z4jN4k4-O&l1wt&Ri3GOfEr+gQ z)6*;jl}|M+&7|#*Wly<(xX+!#rZD@Rt&+ex{>T$M-clhayP#5g5;!sB!*|~&jYFB% zHIVLH65-4VEGj!6oV+VCMKNzk75!1j&R&Df`@7`zm|a^V<76c-`laWe7JJUTn-!v? zVOi3h4*Y;bONHc9)t`vd5Giw51+MDka|_2nmB&h?;s5 zkxXNQN8>(0I06k^H;YrL(+fp+Eezu9gk2knn<40$?29uPL;`(^Bcdodh=eG{_U1Ob z%?(0-#1lzObta%I$#xeFJNf*5I{3s$=10$@Zj{o7Z+IobXVYNyYVt*`RcSKs5#`W{<*H+k#wWq$C7 zzl$_>vGtUhN{+`ao~H6=f4|uHRttH`GjsISWK{(REuY_g^*s&-J~y{^AYWuTm#1Dd z$vLz9?Z5rEB*Y|1#++VVL$mX!@qk{p!*7+l_ZSm=n#WrIwT+{U+RYhdPFS8dI(7>zWViQp2ag~83sCs6B3dibM4k$mKUp- zl-b(Z7ZnkX!N=>HG)T}TxlxFP(#UPy-(kMKfSv>rurzTp)W<{KxO<<^Z0@qOYB9g! zkjdpqyZ|$k!E#)V?3Sdyjr$|9ht`q_Lt0)3Hd;fj+}gk%Tnnvyo4a?mxqo+^Y)OOEpje#6_d-nFLS(8U|5CVaMph$AO+I$z zV-&)tnKX(0UWYjF@WNECk@lnzp)m|~-gs}FaqAAJPnSe7w6(EEzdz#k-AMuUWIeSv zZVUNL5;x-%ory0=gM)*w$jU8My6l$YSPBKLPJ@Gqo80ZYL`vddCK1L$ly3A}qH#yJ zdwm8KpEKd0G-G7EITnVm*zeE17DO zG?wN(N>W*6HYUVuT^CF3vF{`H=AxcT1vRn77%iMMAM*IaP#PqG;T1{>wP9)4jwOh+ z1czmc;$YezjzlS-36dPk6t5-8w2&r(DyLEUK+Z0czYzW+)ReRrPHpc2B>O`b$u>b4 z$UiCOaU!cR$yZ6`_m3xXX`-Vz5`PCN*hwk~xqLirHj=5z?IgHO{x*{CIt{AR41L-R zMA8h13?6Y`Jr0OFPPBbUwE#RwiA|LFQ6T;?ku)gR9&P~Cw++g>D!T*~(U^LVd!vD5 zlWS=#?ryeZmTNL4AW*G_ThxS|+8zuAQqI{XW-(7c3dmShc|aJk6d*BaF{N{n;xDEN zVMwPx;>wNdjM^RM%SCiz@m$V0F2!0F+jK;WA0&}<_WgLPEy`ZcneI8=&{xbRa#Mc?zJi3=lP zXp^-hU)4FlcXw^wUueQWGXfG zHxB3xJ+554CWNP}8=F|=67y?o5CyUd%M}XZv2oPcC&FOAIp*4}4Vp)7QAot&J|%OO z{(g&SDIs+%k;R!NM6t=J)khK#Q-v6^*k!S`Zk;kz!}jtSpwYFkOf4-WK2S zsY^U^{;Wtu!5~ebeb}T_2e%*vlTN2291YLP@U?e7WO;c7-6^nj(Bg3Ch|BN3gCnG= z6tRxo-6hqbFu%zE{m*}j<+(XdpS!@q+F5Z}v@$Mt?%ow?RHxAqW2;OlFIK(pzWcr; zH{RUs^7sD5FHxIakjMJY2Oo)?E@NwW!59rqOp98H!Ee6t5xL4Xp^i+BlZFB$%9&2L zFC?+ycqHG`b(uULL~n=FP^nBNE9h9G+hDdfgWvW^HD4( ztk_Rbnn2IATTMBa0XZ*}6o-Vy(LS24AjiLDqv;6b?>e>=Cg1a=ARUL2p=l`H5F1@(=t!f0R6!*D4~gQI)hwx~ znS|&z91o>{>$)LU#*_OtEJKdQwC)nXC*naS)SnGbDaQ7zEe65cVKDgQt}PSTw!T#~B~H2@Od`tXe( z`@?_w-mm@A&o#$!Qr$jma(`o!oGoxT-grznDIA%Mym|f6NXUJ$Z;O|6tPCc^!d_>H zo-y%l6T>p4$ft2c5{L8#9ho%4AR>w4sfRss>-KuIdp)AjkRYGMj5S#a$i7;Fa4bpR zBJ_yUREle^SQ2O_=j6ou-N{%|_>5HN*4?{Yy>UYbLnJX#;A3mLz_gBIq3h!DEeD<- zg+e0SzIPw|AsMSEe1>c;N33G{-8QZcXIJNW^3k(A`p7wEmY2v@W(4|_V>XOrUyWQ0 zA~}&v%OcP<#9lXzk)Ruukhe96e8MmxNpw`KP%)6ecsQ0Ij()FCkpw?VL_SHHP|7)E zEJF%SEc+sXcjR@}GA`j!R|;Wg(8Wn@MsXlA5DN_!SJ3s0@HKSX6tbip=s0@7LaoZM zbwDmB%pFy1;|G_`NrN=HZ@O&EW9{>IS@ZYm}?>6UGR(SH_<)W$)LmEuG^-y4XrJF=yLO<{coGb^e zG2=MP%{!aKiOJKM9CPIYm0XU$^?&_e95xOh3RzlRLUXeW+dalZpKtum*RaBbyIXtw z!dJgaadwsqm!2eV6>#%K3YAFs9Z9T^hD>r3L|@FX*C&lr*;{H^m&CU56Gb}oq-hR3 zUoI9ammcR=zxpcAG`bk&Su&+L(U|A5GiVxUu@K5QYP9*_gAaJ??YB7CyUWYZJ;~Qz zdzX)|-(dCB88S{DJC_lHtf|X7k6eDjcj&XezQy%xAJgkL(9%e(S-U-tR=ZDJesW0$PzFE*ut*!7AKauk0TOZNt^x5CJFAAeX zMRE>Al9Z{0G}j&kw6EXh?)Cx8_jlxVuFcfAdHp7FDDEL_?(GWU3Qg8S4EjSxra|A| z7*2+nb)>DPbg&zreJf zCsP`Z>qs+@rVvPz9m^yv4YtIsLc7&wG@hW8AwBvegd}>57ki?NnxC6v|6re#L}2p9 zQA-MhotZ$?Lxj=q=4rROw9*FoVp)p1X))MPzDiWINuURy|>(_~gjaSS4{y_IXVz}AK(E`LgcOd%&tool($qy$MM4u9E9 zR<4VF;E~H@r5<=uAl$G>;BT=;N9h`YC$PT|tV7?E=R9eE($PqUM~O>E(1NKe9>`RD zOv+0WqG)O+uaH_W_B}LF&qR_%LMkx4pfdpalmHlnp?oYvKFLhc(GpFff2FXSQp`~( zA>m4pm7w9a3{+_(sDqfj38_y4*`zQ(h||{-9c75AkbDj&A$rqf))TH)oD!rV^8U$j z{{RsXqya$I5@8@b1F2<5^C>?sNwT77kmuV}sCy4J0P+C7TD8fi09#xtOWUEp`x{ydai2xSwe|6%KjdV^4X_Ux)d4Vqn zmL7(}Zgwo=L3FP`F@};Uc|088YO-`BQI=?ri<8}#j-Ua{3rnn>K0|r7&adq5akP6t z&N2|avhCv7mdN8oJ88<^PA0V;P!+b=2n;Nel}=O^C%{T#?CTWkoSlDROFQ2FKMwLWvxi@@3Dg zS-7T&sr8U>3T?V0GD0Awkjt`m`V@_wO+p1)*1;)e378n1NEi+4H*Zlf6_1};=J899 zapuA!+_|^KhaY`Rf9w;+u{3Vz8rgh?wQP|;_J{reKld~Lioww?wc0G_&Rt+;cAnI! z&~F8dI%AAP!`4i4nvG*v;<0^xbp`LzC0rCMbF(lw&jva_-h7*qZsKJMG{yn{?5BR7#~!`T#YdkOO}Aah z(UYBM%J%wA)|Tqj7nX4|S<&{_YgIAmI1D0uw}6$a$c2Nng=_faD!TY}zkm57(DR(T z)L=HSi4$afB|#&-9wRT5!u0CbzrxKM*IAk^bN}ADtm{%`@z4JGzoJyEQkz?3d3BW} zjKpF&hysyCZtv{V?KU}mW{vT%&2Hc0H{W^-{lm*xjs&N$zj>Q56$2rnY@S!H++w{s z#&EKe6`jE9*^GqD2pk*e2EYC0yV8{AGDZ6Pn}mL!Gz}-`vqTu*Uf&^QOsnsa=y}@R z7KTK|T0(BEFRd^RQ~vM&>+fJ#8L?q5SMpQ)R3#T)N1W?og27n4HzqRT!EhuAdcHT7 z3$|rgGKE@`3v}o)8V-o#R3KSWU5djX9^(Z8Bq>2G&?!n+Qpl3&&bT>&%_TBgU|}rV zMb`|v-8M3nI+jeH3WO)s9}ML0XLDJxJJ$`#@Q{z42{M-{$^fOIV@g(jLV`n~P{&I( zTw9Tu*qfSVO_BvL<+V^ENTD3WF^6jQZ8re?>oWfFC4OP7CvrP)^g1iH%pjW!;}9Dc|lE$I)d!@IMzu zlKLbsTE>(lB*HYo)Fj+vn(k)^IZQJ&36jxGO_-BWnxHg!bEgD^NCJg45LRuXbR-Tp zjv-D(Pn{rjl5pyAPYim3>~jKdEE7z3)RmAABeVoIb_XLdAQ8tV(?S^Ag$&hPhH9zE zW6wUrZ*TlEIWr~lMly}N_N=h`4Nb?kEa^()LPc`I2jekwZXVl^27#DVPR71B7C5U` z5PMqbEd4kV#_HX>>ooTE#2u?vEmEu$#vibNfKVMRGAPHWgXD%59EN>Ohqp1VC4%^fJ4pT(&LYEHSutA`HAdD;zyO^koqRQ z-k})!Jn`sRUV8R1&a9lJyf9Cs8*J?ELFA#Byr*L{Z%iVv@0iv38UFMi{}Xc3&Cism z=5yjn-|R=+**M@EufEU4* znw3V;&E-T~D&L~9S_im7)=ZcauZUu@`X;M@@KD@S$ z<-CUGB@SMO zlaQ0ESZIqT!np@_d{F`5(P^_}Ja-QG(oiDR~_pUUq zH*epizOckzv&(<}-~JD*EUmD%y2|3x3gv2zx8Hu3R=dm9s~^k7(=c>SomypgcUuUO zVXXL_FMmzqSZC_9JpSa9GUfGpJ^6R%&Km}1jZEdunZDPV{2yzfo>gJ3UIDq zQ>)i#Hd}VoXRknvfz7QLnyBKU<@* zeZbM~I`wLnU>LJ^uqz1S)Ms7_f@PVaOb|Cb+m^>J5!>0UOtWd4N)q8a{dX_^Ebuthy34UzDPr12n~G!gPz$r`}Wq!A!xTILerGQ=PQC7MjcGU@8#wwH+2 zv?jx)Ozuq)clK*lF~`yfOq;Yx{Dg}jcojZFKAtOJT%|1@imBO6H04Lvh2@K;WovcT;?HtZM`XAP+|3OsBc+ zK_Ic2Q`w9#4u#PwO+ymP$4XA{6sAu;N#%q=rZx#jn0_ryWIv)SB?nedIweC+9;G9b zzwC*^m|?q1&~B2{D~#wfj(q59auR2qjC9*Y+mO^iQ!`|Bu{vRy&sDg1?lhL+$ibcH zBAFnc%}VFh9u0-lAa9QBTP)E*7itwcVM?Rjl%na>ic`xg)y1m1meQm8lg9*rk#@_uaz-w)VG)`yFOi z76c;JtxzV(*+QNl`tI-M`@ic8Xh5Z0ppeZn3KfIq5$iW@V8%YrJbQ_kUwV<*@;vq= z&w6%IY;xQ8*U8!$Bn%^yBQR~rtj`**c( z6P(D1$yaAY+LM_)S6vgu!XS$2H9LHKZ{wTA=rf&qf%AXy*MEyk8{48LSXfw; z6HheYQN%m%yvNNOcLb_loS$QFZ=27&aEUK|`gxvx=>_&XL)N$V`I%q(MIkPQek4Wd zxn~~3E|y5FETbTifSFFWAx16DW>3~?wl&%7USW6dP~w!wu}D~jYY~NkAO;g@;r+>D zGv7wE*ZrYfz;gL4)mlX+wcXuaDT0u4aCpdLPd&xqL^(JniDvdl`hDTOgq@H?@K?-Nxn0H%huo4ddK!M zZcVr0b_D*_e|u7L zl)QuIGtOHGBO5!0gZdZ)c$V3)N=PHJh__<|S$-14(id~mXaD;RAqClTOgnoXBl3*F z9I#DeHuetjrca>OMZPMIuWz1@!m;)4=y((d#6bCrTho{z_Cc_Sc$noJ;r5=)y)?tx!$c8xv<~wV%1gsX zyBrg2Tx$)}dOg!PC_CsHBtV<#bA*LlZ|ufvES@LH55)6K8FlB)cQF(FsbdV)oNA{u z;C|kG^w7AW=-F}e?$@IGO9R$V=V~3ezR(N5$$_FR&oR$yX%lnDr0e<65__Mpv6yB=Pc#4q{Uq#Kj;@?lEY}@f3TT( zkpSko_z&E9M!Y&yBE&e1d>VN5%3jJm#uoiz2)&R!wmYcFX~xRAW^D7Ww|UDvj+5px z`2iBT_|I{qdiRYtV$Xjp8u|{oF#S*4VbF`f-iOgFPn!pF*G9&Y&a8}y3a!H5)6KMl zxZTa)hjGSwEnd=p@cX})&60VJnFA!VZsTQc&Z(le*(;q%!^}K$7{USi2W8(#!Hsiy z{jVp~XckR2*QamK%f}8<#f)r1geU29ufyw=4 z>Ev>MarDJs{Z;XixEx6RH0v)__TogiL`2rM8m#?(ObCb5!@LKuB}{1&gy%F74IfF( zi{|jSZ2L^=-ic!xY1;6!WD{b2o?VuqP+C5G|hWp4V-j12o*V5rnHelR?ny zLd_!Fof|zCUxrJ2H)-*hWRlZda=j>-2p|XU=43{D#XJzj2uS+~JAqOWB3hY8>OUsM z+=#(D#vl<;*JC`Gp~O{{pvn18i#ib;w4+X3JxgD}!}-aV08y3v%uQA43|%jx&WPAF){v}A&Vv6-_w1H%wH?Hc|K~?u16SYu-`{QehjwFjI_?@w-8t8Q%-0KM?~EEPlYYxG)FCC7P-qdk=R!*Rj5sSND|Nogmp67g4ng#4Q6?_fjM($^TD9AixwJ=6r(iK@nt7%1e4C1nrCB9Q0-J`j;qYHO@i^)PCusPkJ&CG4~b< z$D%M^rVh~o%n8g8yxtG9xel@jx7s**T=afmu&vzVIwk@(Gc^N_PO`~kn_EIjXi?HM zE>3f9r@@93p7c$#ST#qeCzC-BbPln&8sc(2-#?C%*?4{{vD;sc@rNmMM%eaRhhQ<0%C$;Wg3BY|yq;uPAT={N*lrV)DI znV(a_gvFnl4(B5rT+RZ1DesH(sSURb!3+8m=5*yM=P1|S0Xecw$3s{;*Ae+U{kbsM z$~rt&-o6VPO{U2tszFfqv%Ws~@Z%PH%*zGwzzhkJ7>Jnp&6r|N0&m}8m(M%Ax3$T? zBTQ!tL*Ty=A|os1Ml02Ml(AiimiP86ua0gQ4P5G!&D^JPedjKB+LZ^1|0&{~JRWR?K@Z;$xnx&OOFdOpJh|k8a^(fnK;z&WX}o3so^T zS~F7wvx_-0ckK54*^sZC?~Zq+MD_$<7^S(Z%6g4obX$EFCYFPvTK;${_cR4+J_tv-Lvh{1vUc&IvBS?$;&sO~_kAK(Md%B?wYeIhu1tyXX7A_b{gJnoEMxz4Af(R|0ZerpKWbrQURB4`Me zc>AQ3d^U`M_v&Go&1w4`6g9~rW;S?!@?@$@$vo(JGUz@Oc=RqiYT65gl;?430XNTQ z(YklGJE3fD5_xH@NXtCc-L58a#nr?O-wC5RXLF=Y5~NJG7GAGBM?2ccOI^gH zI^t;`Tx$U;<}y9J+H$q;2JX4NGq+%~iD^z_%$SWr$eyfD(b&4@E01L!$jf<%0Q;er znD%+Y?q@8^B|*URCgw6iMj-5j;k**f`Fvpful~HxNl92<(vOc$ZNA)lvRKJwoo-%+ zmLTZaw5yaSem~mtOBwIwm_arZx_P~Au!GynK)RRP->-+6FHR3ePk(_(0QSI9FVc~= zkD@XCWt`lei5LGyoJn}SN?ZE&JMZXk=E6I-0kX-1oV*j8@x_aIhIbl*n8YJ4yKq5V!ZIg8@$nJa}$DJn=3>t|H;L!0;BTTLozL1`M0_z$;-G4E&Ag3?43vQ z`!T}Bi4OC}1Tl+d!`=$|gb+aFFb2#EGe)>hyZzPm#$F+73*ie(n1) z27!Ut>q5ZNHu$q^#h`ee_`xy&G$bEl69POnD!`ZGs4sYEZI{t+b{ZQtolia zC)67&?Y`M$JG80)m<6quFkq~RTW89habf0t99>{3?OC~I=ln)+sH|??1AefVVzTB% zy9bAdvP2SeT#t!qA0q?%>#KgyilGf<4#3bb15A4;acix10je;J}hOYj`$*e_H@4txcDn?qy77px=q z;SZpA8g&U?zTUTU7@~de`S!WC%mHDE{eNTdk?=t8z?u|6VXSNBzaaSm^&v#qQ+nI9 z?p#wEyEWnCSRcx(9`h|9gMarWID<5tWx)DjO%WEHZ^#+v(>Cr2(6yT(3WXR16L~f; z{IK@H4DhMSKv-*D+vQ{6-ZB$(Wv2_o&TG$@UP=G%{}%y3r~ikK_Ff7M{!Qb-W3m$k z&KH7HEr#yI=Vi|k2AP(!Np}M6&eoQ+3^sL%btHXilGV6D#~ZymmvWQ)H{~&|WD8J( zY_fTNe?;zVsX5i5PLh-x(at^!%zAb7Y;6CuvQuzh8#K6V60LHp=M><<8wPUq=2Q-I zaJ~%_4ezKyL$`BZ%i3lDO+d20v*lWga25h4RO=)X`1A3ocMsbj;ovA5m5`*9X!fgQ zxZ9uP#b?*vnk|~GdCg|a^H14PSEur|vjtmZJp*0F^BEC(a)Q$Z$-k9E-S@n`hq9GSL5+%iVtmi&jW9?l}z?2SH5P42Dn8m1WLK8ZLAW4Z@jq-8kQ6@khsp6q`H?ygYac@t^TIOJq zciQt;bF5>3C#0P&=CN(xV}{7FcO1B`?10Tw)0wiEWW-)FBt%ab;ql#LIoJsR7P910 zna?gTA=Gz|J9DG~aCH$s4Biae=<%}o%KC;-@v-8sK=WR$Z46q@gS0z4Lr$L&2=~sR|MQ6S+bs;_@ z#ha33C+qzv1RAknM)~dE`rXmnZzSz%H2EiDlF=`H_GwOM>*kRc_7*sgc8?&L2YnpA zgA*;S0iqP9GkY+Te1>qKDFhH4iy?I;G@Bzt2tAEVLJw?1&*FED&?)_iA!GEIrAVk~US8rhj zvIk9{@}OyRe3bo1>m#(vwZ%U71V*SH+W?Ujl)AC(si8FLR2IJ``%Sv)lXcxh+h3*uTR1%$2sm z?U=OVO=~#cj$Skf+`Zm;Y3^mdC}ikNYF$bjhUU2YKX?!BS`x(8(F=PTz3s@FdyH9I zj?E)Q6IxPe7@^vp!Q8FEs_k#Rp$_(=wknsud&1A3WCDH;(ePC^W5{W6>w?)4J&IcG1iPFKO@p>jdb- zvF{~JOCEI(O;@uaNM0S1QSFZidnf-bgNYs=pYr6k(N($=+Lqg!vqA`?(6jZ?qj$$_ zldv?-R@w-xI%zq(rLVcUe;lv+gJ_mQTDs6M-9JhQ(fJ4q*8)R7)HL23AtduK*}Z7x zJWIn$(tZmgOdB@?JAT}x-*alqKhfijZ$5OG$-RguM&th!r@NNgleg(?MTl86`~P;@ zGcTOsTG5;^lY?k8dzWIr#7MIVo{dT2k!Z6w_71?e77}7=f!n}dU>2$z@aqW~e3t!~ zKLPj}3c;Z6d;fF_MC%ntn$K0~nU~QpfbMg3LTzgr}fAM$! zF#0#v<{XbxF_JRZT~I#B`2_nP+2WX0}(xrI~R*-k6!~jhUI5X_%QWi(AlYta7~d z{qNH;rPjH+kWxLBot63L&p}^AT*Y*Dl;~I43@13*sQF&R{bZrJrmhk9V6j93BQw;z zHXm%URrigZA{s{}MOEET>v~D(WI>ye`~7UBmR!|4<{$pvnpHVO{#w8dFR@u;-yW*9 z5Y{7He1>`p-V<&YLJxu*$!EU8hOjARBRgY4v(P3KF|otKaK5beB@`x`Hqve}OfVzE zWylbm%;YoX(^jM+FeaeBDUVG6A{!eaNo~S;vk~#fR{c{2?glzHx)$vP0}xIfFMtX( z^SB6Of%z(e-CO;ZSubzTK1&UvMIvohFjmHs!50@{CVymHEf~;Imi`Fj-0PNZGu5KF6-g zCIZ1EpjJS0HTPIIJck5@jXRo_4Tv3^{a^^PInnn>Y*%XIhcMEwNRrfjukae5`?;S> zR8Yp4cfzp3994gkiIH&$h>LQVt7vmL_@*q{7v>_UeBSjOVm@sCaoI|okpy9xLwtD` z1c(sD%##`e?DbDzTxf4l@`+{|0Nc2qeuS`GuDt;*1asvwZF}~V`;EmO74bZTX~4OA z0HD-6HtG1);|g5mX+|J;5c34)?8(zd^f63n7+o}}gjXJB8RyI9K+)6x5L2`!+Or|f zXeT(3-eLBlH7R#P%^lnWC@=GQfXW*N@{hUM4c(3EmUL%N)ImQ8V z1A&&|0doM4fHwjG zauARGs~!@s8ZgGeQK@L(V)BFPC1_5mdLP7oS-+i?D*GdalHWx2Rg;Mv{!eN%M6HPr zDfYBW4Dv^CUl|dX0QKOTKf7L%HQ^}FR#NfzzOQl&uwYIC%6nh^{R0IaBBI^(Qc*wO ze@>!|`dmf@O(((>K>SPHcpvwfs@we)y8omW1Dg)+hm?mZ_jWM^pK<+DiqKxJpdO|2 zu6qbPM9hO4FjOyZdKr-5{p0yv$4`IrN(7o6TUL;mStxqiO!`u zN4hEkbA&*08WeL>QDmPiK;XbRV`}Xp9RcjGg5Tw8f1_U%GBkD_dsyjB&WFD@VwG&Y=g&27fUz& z*#GL@ci#PB#pE26>)v-yUsE=I%Ab)+G{77-I~XZks*o&LwDcEal|ET!tlhLY7o~i1 zazMT0_#<(}Wva$o&{bk_Al<+)m~xbmvoNE)=gQ?E?U&0r+JR_TP8TGrsP3U&1VKKHJcZ zk8$RlpPlc%i@9Ph0W}o#4bL$C)K$*~e)}rk_eK~1k3aE8{_wZ_$RGXV@6|?qhfU|% z=CiVUR|?WXc#|`qjfn~oiS6kn0Da*O;kwBkfW3-^K!6uG_RaazRc8rYx&iUsWD_8` z0Wp*pq}_x8D5UlWOD$h5pIv4l7iPd+HirQsH1V?u(&WoZMjO!dtQCs1mq0lax$cE%+Oamm8Z!MBmIB6!aT z&00*&{b^SH{5|Co_kjY;9asMzy|q=$6N?dvZZltjB%o9s4|G~kh_bXCi>kdiJ0r_X8JX7m{0T_UgPn{3E)7?Nzf z61s58Q3s~{sNqMBkqgF&prCj=H4~G1Q``EBJhp15=>vj>l zXqlfLGKY{@d57wDJThSB>XX1Lj0e}LH{(H{0Is8tsVi*((*Z+=WQ*%#B&nFHmA-UQ5LaS|{T&XtVq zV)(*`P}8qbt54DLFpsH+_zmtu7@;QgIparL!5FYtOB9Wc$GbTf#F>~f`S89)+jGKL zMZFJhMALQF!?D@(jMB$?qJGRd&Z!Ug=qea zJHI!taF)w(S1f|-h0eW69PG<}2Us*O8yHUq*H*MRI6 zBlBp#2;}>w55A8SlaY9qCb&2`gZ~=WAV6UPBtR!Mx#*|IRW=~V`S!yyg&dacoxJGZ zQONMGo8D&P9iC9iN=?2Pix&y|@jeLmd(|)4pwGY^6e#aIryuyP?*yorepzM{qn$zZ zY6Bchz~E%fQ4NmaLz@q(-rs?%7682RpRZKLh0?x`2f*1erj~Ef5 zPNJg8E*S#o+L2KZ>jROZZS@zMsFGzc1S?65kjG)}X(Rmz;vNPABDS~ER>YSc)w}-Q zXfY^zBlcu)2-FRt$2|bmP)$>(A;oN;MIyV3gnkv=>`v&Jq z^7^prBQKM)I&?)0(S>*$-Bku5=XG7rFHB6v)Q8A2KV8Q#VQQ_ISB$+8R~b{{{Tt4f zapWCb-wQY~ny2mTG2BO4>>V5tI!2(TXdD?A*S!5M09e<%%>S8YoyqtF+!xGCV+=Vg zi}|5Oh4qddmVVZa(u6|vE$xsgn8FOi@7pOjiz%Y@Kd_cMrHI0fxj69ea9H^q$sMmXgsxX|srSWRZYdk@S1n-sL$G<@iu!!)@8M|4}9WPoQY&M3rxin=?5OEm2& z@CMO@*iaIh6sCY>^!y}I`o6d9l;2kw#_m==>#Y^RD%E%qmiJX%zQ0@#pFgQAgAk;I zE)G|x)b77kvm>?f2P$^n_5Q*SkRcBsA&e3P<9jPe&cl26v5~97jtXZh5_|gMF?sSU z;@O8Fav+n5a>k-X?aD?dpefS!h6^+kD|Mm2qM2FF(&rz({~-Am2$m8TG!~56r|3s= z@M{lGy)r2|SMuhYMJ=~VpYsgoE;65IV~;w2inMeZi5U0GO#C?uJ`A3cK&1F^yGF_~ zh=%ILv%}PbdsU+fnsGy7L)Jb>A-bd@C9*hSY~0B9iWu>{Kq3R2&=%^)Ap)HR&ZYw} zk3;UC`}4h}8jrUEt{T#2RD*<6=DlhnC^JC11dU(Sq1R=s4#Z(PWP(BRoOJPU#26rsfE zZ|n^+oZJiH;hZrQU9U|WQ&qj2IUA`A6U1gxxKby^JZSspal4}&2odLE7y!VDe8;{` zKSAiwsL+?pFYZS$g3v)=cn6Fezq2l9SB|~02&Ondt^+C$fZc|k8OGd~Ae(NN@wUICIZPU8+De~wZI7lu7+IqgX8cdN z9=ktdz?$Tpi~;KoEh=UEo}yrsX+1OzaE=z3zyIIl@rI#*J=om-?=*!du%H;;xL3h} zoN_%xaglp;wb>9%1&VW;M=e6eHUdu61Z8l!_r>h_DxB|r5xRR%E9zV2fj024xYKrMAJ3g|AIyB#vNV5VN226V!qq`4BEyOt_&w@G8`&@`w)zhO zCMr*Y52KZ+iGe(%t%$*iTZsa4(Bb>3jneFdP)YWu@fA|jXGL(hzzEsaI+$v znLlRbVj)v#>|C>O>JW7oF^Bb(dC;|o_sr+%%Y&ifXPmS}MpB_3lTwSE{*W@3%%j>M zanU=VoZ(lFN}7aO$*GT|2y;Nv7W!WN1DF6gd+tYD78Q30k!A=~e`7U|$Y5$HPUF(X z56ts`6(OFC6NCeT1yhEKlY0Yp+uJEs|6_)eO~@#D^@&|yyEa74=ys^SsUyrM^??{i zRUZi%q+N$K?-2wYcEk94@B zW&&c$b)+!bMSCFv^aX2=dtr{KH;e*(=%z}&d5?_9i1j|0=Z%3g7z~3M+9bT3nwnNy zF(`ToA%vH<#oY3OGL^uYS1?^{{2`>w|C30?tNA$8>73IBo}o>=2S&qlGy$}avbjgi zfq=*`pbJ4~dOReURD$tvulD2s^%jwA@f_liL129|=JdN#FZZj7;CHYu%sKiD#+!9H zjXE26NlXHB$#IUkCVuYp3;Q`*3$-fTZ%`xJ!x{u`qWw`#1%F0e9sksK+|96*2d6^7@?4xIpC~pmOjbZ?y@ZG>erK~E zMruK7s&trm>CD)LAV3L@vJ4?&W0=C+gn-93OUOcGXB8l+XAv-lOlB zzX@z&kQ3&+(F2)Nf|4`=ur4lzKv70~%MTJp8wLWEJneg@GA0t)kMX#D`wo&lV+-gH zS3`&%nh6o+tU+ViBZVsEp$3N#X?}{W+p!p$3FdKK=3MEPe!*5t{b}EM1UOAZ4a=|> zKX~R0ga{9a#9G+QyE&5R2Q+`~r=6?{&MAj+N9_)gmyk$ow1Km3qXkoo#ymgP?o4x? zcig8IhjD_LRIMuzll#SF$k6b9`ZgR8x;R z19Z(ap^#bls5j%m9>M);Sd7Ub=r1mitikLhJt&{%XUf*&L=1~=glBbJ#p-mSr{C3U zH+j)(KgWm9Pj=pV`)Aa>pW#DRAVhWw(PvZVyAfxZ01k=cV%U&D&4NBBOWB7AQYOQ;3WNbvWwtZ=M!U8lD<#h1n3vi`DI**8hFPmLF@(7B zEtVotz_P%&-$klFu;D{}p9@BUE|x&a-QN?SgT9;T6Fi7>a0i+=*a+2ruwhb`S_(md zL9xg7$3jipCcOsKLqp! z{9-PNuevs9&ehtO6Pya~?K}4* zkd_JabvEju5EI65avxyaH9_+J;3Z(F>O&isVg#bylRj|Hd;V9w?k~UA)&Kg9+tWuo zws+tD{F-n-K?35pn;HYF^xqE$kk;7fMbyUF{jg&qq11-Lq(eOd;R%8C;86*BX9iw( zIAQqqT(gANBGo5|LbhMH!oLZ#+R$d5phRw94DZSPnPjQc;9{+i-)>;*E+h5{lV#T431b-k;t(H4q%P<(smdW7LM&ig{Zc{GDH%4*e>fT_$ov$V81EB)vLJhTHN08Qp3Nqh!_vN1NEFjUr&GW-q$HXB|X0~BSz zl*}JC2-S_gBN6M+Gz7esx^E^*Amb)#Uo8yvf!UD>qHm4ajwEcK=n(+(1-LI8>)i0b z1|CtZZ(FFF%qeqUhJv~XkW+$!2*H34={M3dZRR~ecu&*`CWHQkI7RKh9hJUP6!$=& zk$Ty<;|jK&^|4H9U?eo|=eimf`hokkmGi;`Xxgw1t_dUbslkCcF~lo<6a2>r{sLh& zQk?UTa%l(kSjIyKCXVq|b3xHzkP;Y){(yLmh;p&L)0Sum<}eqGE%lWcQXifdolg6x zr*4^o;kxjEnYZshf(4bbb@_9@6lamhsnNQHA#3KEcncgd=V2BoOQOxZpbxknhBeHv z#M8JAnl$Je`cFnjQxnf>YE=8E5W~1D7-%-tn<7yTBRp`OeuYVMZ*(u>9(~9K0r`wXs5Z1)uFtRkP+{#{AWU2MSq4HaGh=HSf5+Or_V3i?|MXf0;M(f>1MpTA^efZJs+rSyvk=fsF54mzvEtgNvrzbi2%fI&*x_^&HkVDT+tXz(?5K;0 zf4jDkzq|c0=Mq2vcA~fFU)ptiw=R8hr5p}=XGR#LJezWrn#}2}3QQs{S16%rL{|o( zHAd;)_r*1?;SFT2Jf}Ws+oY{LW%4fXm4R`x*_MDCI}4X z04~WtQXg$sF2F+)>KPlyEu$nVBe!&X0xP@)QjgtQ7fT4KV`n> zF%j5DsO?cF>yE~I^$G5hi4oBT0~NQgczQ%42R(}S=6;AMhFJi>~HoaHf|UeepA~6 z(HLz!G@G1mcW4+8Ot>B!^^3$G;JPS$7$5Fu4&VhL*bu^H9Cz+nW{gnBD;*kJUO#qC zGM!jxVhjUzs&*-XYGV7|gka0G>AI-~4x*(^UaW($<3lK6C?ffzabTR#R6vA{_mDKd zN&lUk+NK;A2bxiB#HlX7oPRwPqUUsuKFh3BcOP z*s<xViIQa4b>*bK1|y<<#wyVq$+{C0qy|;mVI9PKw0-&y)$iZQJr{lE*KgkD9*02FSo=#sl3?h+X*?h@Gc3c)k?b4HLbvKwF|+^b6G^H z$cJrh3c>f9@d4y0II2_bjR@Xe=5lbSk=B!(2I&o|FV1Zl1+HW(MdjNI!2 z1J!MO{BvN=JoC&pCXRdD_1qk?(VyvkK%3QEh#4@Ps0lvA2XOC*p%8VenzBm(s87=;22EC zf?2?fZrYEz2XG&KA}|a|onirG8GAvG2A)wm*OUj-pi3lm7AQr6BGKKn(KNGWLsJVE zEJWrbdzg3^6W*xVf*5nJW`cwu9zN~Hfk)e*b^^1*^SDvc-;sV3T+GaZFnY8ZMurf~ zT&HZFl~C*bka3NKEFMQtGh<7i^P9L8r7e^D=$WDry~nH%(#3MvT;y8;z(8W7PiXQw0L|V9~Sf)&a^_J-Pe3#DpA+v;bMB>3Ww;NMhhKFxap!}`6 zh(C;`Co0ym4fh-wjm6 zMu|ja;t&ZG@30KY*MFFM8B?z{DL;H)`iKo%S0BICs5SOAAx_!EW1A0yZuB{&d=}lZ~A=ER*<#jhx;}o8F3xoxr^igiYMs;tdiFgc}gjmJA;6QDZaad^~)#=bAW2 z6N+ee&ecZnZ5BC#7coBo6YD8J{fM&w@iLi>jEu}9?c^M3EJ*YhFjo*|{osk^uN|Ae zHJi{c5@m>2ormG&H;F0lFl4LdBcoWVJ<@E$HJ%f_vY;zLu+yAI?{vu_)_H*mbJDhyf&*sjh&#ssLWbN~+;v_o~XD5yJ#Xf0r zP5ZgKx!)4O`nWl-c^zgT1&b&NJ84a{!MSQ^(^M|I7r-oBssKPi zE5^hZ=`SjL8f_IzAamjn*l!}@18Sn2Fj)3Gi_f+g`WLMO-;}S5pmr{q3sv)`2@Rn> z87^%pC-{PdShi0)&`>Eswd`3l^{BDX58lwM_Lp;;wpk}7V*RG+JHDA8NP!YL!-xt_ z6ZgPo$#vQwQ(>YW0_IpBy*wy8fU!siM3{^1GSXu3DfwreWef$&F-}VJo0&J=OpxRw z@h%Vyg{oWxJ_O2;xH3H1RH+;1XOS>(T)zQRvD&z=UB6!Es?{%Z&H$lSXAC)o$uOL% zX_FZ$+NC6DQW@SSK$gCy4F9J7Y7xY0aL#pz2leM~`k&v8PMC6&d5}$>@n8%r2Xlq@ zp!VlE<_GO}vo=4zft-whNxk*jk-=6g>blpY67_i#ifEHe1O$iiwhRH4nN#T#89wGb z<0x1YCMbb-wqRlhYW@tZ5@)rlN$SOUFajIVSnzBFx6B3C8f9Gy$W;auBCfdx{6~a6&1X@) zhw(U7l6H>^wnc1P4%SuHjhYCBHWT$ogVcB?U9b%NsSJnMsj(+yzYHd1scF*rV_0G1 zKu}-ySwXonEq}f0@n7CcxSwCWev^}r_Nj_oV%Pe$8%p}q1xF|T7u>h>drhk6pHdwk zk1nNpT%=CdRMXY>Y)rnj(O?hn<>T+(F9A^clEo0^FJY6*PcoYj61jcvOSzt}xo-#{ z?7!vPe&~3L)|XMqs&dNxA&jj~QJ;5dSM{xuh~;}2Nl<{EV6Bv;Z>pKG!c55ZONc2y zprA+;8eR0$)t{F(2Pnn_m-)&vL_IDSO{p^OX*9LXVf)62M z!!SY_*I96GvifaPcOz~Ydpz&TX06}2niYX?`iC!?3#N=58xy}NiCI^HT1NMx9R2iV z4s^d`o*_M1M>gf$yJPs}a<{vt8d5I+`jpLl5Juv}r)-YPBYU1c>}q?|?06`2C7RG}Qk~#4q^xR-`}P)g^^@U&hmWBE`u;P+=0wD_2)kKy6*Ah#_XQF5H}`ma6guwa6kPKQ_ml$&-Zct z$LoG3 zuTT1la!K2bHJ5<(@_e6!&azwm`SzO6sRbGLw;1~#-j`=08Axb2=Wt=ig=A9|7oXO5 zDcyQ_Pp^lzDa!Bh`|~%OqYO+o6=NG1zhB9?g~;SwiC?=d1dn%z_ysZB(f=+Io)PG% zFROKsD5^3?bL8`kkBmk>GCCtRgk#4!3yHV`-38FGGrOSnH)AgdY&1Qq8v}$Uz_l&v zZ5U8}inXiLA4nWZ9}p|gAsl)S45lFjm~Vcgscc@(5s3R-KVTEZWZpGNcMhW7cmhc0 zyhHzQ+N~RybHNCQyjL~6DqIMsOddp6dw2rG90tFDG#_HUiL|L3ZGw1Z15<@bot=xC z+&E?P6zmC8K|k|u+9Jk;_k}2j7*Q7WFew)2cp1?a{nsHRMp0w~FCgMoBKt9}sGh-6 zQ0KHiNOv_7j5jd@NQ}n0HuAbhHT5}QQ-5sAm6_`1Joly$lMrCma2SnfHXy3*5o$iD zoADByFU$wD5;9sndL*V9`jPt}cxp+QuZH$zj=4v`{4zG00E|m9x88~Js)^M7OZR4h zt;S_gYUTaL(x9E@-7pj}ZSfiI;Tb)&G^s^Gk5&w(eP|Y$4^M~nX==5D{<^_%Lmd`|}8#;rSV!~mS0yj*T>z4fE3JHF5t zUT9voD%vRgah>>UyYLqg=4X-`yUT$VlwhY|Ec0SIzS2cN4RVgu!whG`G{hP8jIP16w6Moni`YaDsSO^_Nl0!h51jnp< z{H|0QSEy4qd>682E$wllYQwFcX=ZrU>@f>-DB$Ki_P9(?7P1}#d=l~QP~YfCLAnCD z;i)QA9Z4U=Z~Iu^UcLn^nRZkJH4=#Sbgpa57Mr1_$jD}bx^y9O{Ajx-1|tj_0Ehd% zZX5$alEDWk{YA3V9h8k4W`*-2%9rB?JQCed9-A{63#kY9a1O!eU<0R40h=XSA7fy+ zSJs)tJ?5JbQGMNgmqBXc1D>^PKO6U+O`JKxdVt|Ug5_F57Q-AI@SedOMdB2B4N*p7 zH(MR1i)8eRum3!Vex5Z(1dNMjI<7NMV5k@;&chhCes}FV_qb2+9rMue-v+0NdFa&j zNSnkIs4|bLet2Tg*McE02koz4ykJ%4mazd~q|B_z81T`XC)kZ){$g&r?re(yNkM+p zTfjKuO@Ap!c*rE0F*HD41k)ta;kjT8PB_;dPoJ8%qy;^iVFuyx%=a+SjDzZYv~2Ea zhW&Mqq70>P=9vNUbSdW4{gpnDLDGD{yzE$@!4&5{H9KMfjODNhEmM2NdyFtD4kg0Q zxls3S>-+C;{$3w20GzzpXLILHRru#FRRON4^t&4V71X=L%`}ExQxHkc(6c^c2l>ec z+-SDm0;+_&-@0#Cz3*Y!jdm-2c1gcW&?09g&VuZeHv7@+_M+66G8X1`7676e$UgI( z-oI{=@E(c3uM>!)y`75^b<64b0c5Q7Hn0t<=**ZW3Oa4gMk9U$qB;Oe8B5OHY*f2a zcIqwDKpnZR{e5U8!nD}--sci*ddLmIU>R-_s(6V>Aopuz`SRfAD!wXbO^(Y;F`9b-l)cahaiY|4BTZ)0E`>IlMLGsPIwFlMxqjT~Du;}p=|j;0@? z`Ei~8#~i>MFaQ#5rF{_RFfW=u2h6JFT00bx$tqSfNuwP@By z-m7q-Tdp*x{qEzi>skqdoW#^ZtHrqb8*eh-ViO3U{Th$A)>{l@Fo*a8J#ei z$)pHYW59gZ{ac}@MKu+?I5${O2gW%sv(v@>TkoDfU*BKJ`FnllSFYXQB%&UjsQUKTnHRLJ_rMO; zRXe^!ugAa_Bq)LRkT^L+_sbAzgLnF1xO*s!yqKqTb$orpa&uTpmp1Y`wjK7FCIZpD68r`^v3_m}j-PIe0@jqy0_u#--+)6bT0n2+??=khcFd-4s8ut- z8Fg=H9OiOvT&MqJ3^`{bcLT_#FbJbk80Xeg*DlrQtV{1x<*IEuXmZm8CxfD?nDx_- z{XUX4?=ZIj&u}k{0{1N=F>)`P5>mS{1teTD7W7ff1Yu4XBi^a>ZPr7Fz`4u(p&aIz z5*E*g$sFzCcQiZ%{9&w65kE7&{K%HbTHI?f>>;KG&EbCPM?YV!G}sVmL*Y8Mw{G4t zQ=(=M<~!xU5ScGOL2zOYfS?(Qcz`n#lYnpSwDeoXYf_5ix#kmoqIOBmk}>TmCk$Tf z*~~S^nYwc?eFHOugf63~sfa#H*~4F6A9ThahQW6+7uAT#P->r-m_zK00V8o;8a_7} z_Vj?zwa*mHYGE`7pu(5f!QfH{Lqm&0fEl5Tgxn1PjS%3l@3)Bi2gTip`YR}w@Wh^K~En83eV<0Wv{<7~c#9|1bq#kM~ zWo`@#7Z7&(Rpv}{&F`r~?o-fvedgD0-sa>DK6LQQ``g=>etDhWb+hr1K(#+q>v&xW zdJt1NYt=yZd#{;nEWrX%gMJ>C9q z=-P8;q7&W4Xs^tHf~ue${W~p}^Bnojf7*arGpM(ORpPEwg{uB;Vo=hy90`exkqm%p zMokP7du^RjXLTF{uU!kGA)dgo(<{MoPKe%x_CfR9x19gsmQ{TjC}Sg-0@H~qN!rHl zdn@r`GtR~ogtQ(TsAV-%*v=lskv_|`hp2VRMZ1t7Ftv#opFg(40HZVqP;qkMON=SopjN6SRW%CS#0D5bMpZHILQRfZ-Ob-NGq&bOuVIuhG!)*=&LA#W#rbO+>8a?}lw z@#WkkMVf|2gv<1O)ax>|k>u%T`Ua+p_nO&JMp$!^dlSUnHI0hfoDa-l^F9~^iR+AM z=400TX|zt7mQ?lAcZ}-@aFpvXboD06QtQI}Vm@G^F>qCwz03p7nFq`G@&%IU0T-CdDun;tBYh z*L+ir%~vQWeo`<1el|CEKd)-{W2NFA{Y)b52>Tt?v=VzH93~WWM|sx6_jO-+UFnq2 z`+0xHbKfI1>-YItucnf>KZz$uyS$GxuY2Tu`e*wduX*0R8vIuLQ6;Zh!b6qhvh}Uf zzC_gXvxV{fZJ%}NZSnBObLm%mF=ZLuP%MK8Ri!qbkqFBfYmeetu6qcCalx-MjY<*z z;06^J#z;$iXVGVq?(zRaKo$~nKAsykSoF4%lgNL5=RG5eS~g|^W85hMC=qdF(?d!=tFnF46I}czLO`qc?<4l<{n!c;b zH$VSUrqQ{FCW(17v=_&#F}sp^NFQ)L?ta4!kba_ELpoEIA-Nq(=C?8R_1dBCO7epG z+{4tga7{Cb<~ZtP!ZB%pX1_%Uxha$R)i@f7SrHtINzJGa?Vzuki*mGY##Jy?x9WYd zJd_hg>r~uC-z!Z(M-~2d{qXOmetaUi06e0?+}Ws(`qgggs{Q-1eAU)2q48I5@Y|~w zqV;=pJr7m#7kM8@^Zmm^WOlKe@T2K$&1G#mN~756T1PDe zmbr;=uWpCB)4A|mNCqhC%!Pq$;LOcKAQK`kMTRAH%z{+~=fal3(D$A4n@UsFobml> zXNUv~S`!HM5ZJ>#NzN03rV5z%8Oxq_P%lA?^sPyFME)ba8j#1d#P)+xz0{TnhBOgP zHlCSL?KEw;i5TUK>!yLlj;@^(qT@KQ39;cxnAH@;BOu9j*Z>VNi&g+Uf$n}vj4+9u z(@ry^@ooF4zixQ6)s0$HkLqtX+JNxvGL0`Q>)V>fmydC0QF(;;hQ4aHLv_PbcHj87l zJ57a7f6DZR@GQe@%eZF4r>#N0r@vxvAIN#t{@g>mmE>i#)TA8`27&gInix={+5^f_ z!$dhSfPx)$@iQGW=f(rzy^g)@;2GCF%r)0c1+2zUF9+T71SgAiF)}E*2Oq5ZU5O+ z^SSy~tEU-Gz_V-1FvF*9A7yU4ceB56Xg&$fK&B$O9n#NvMh2C+Q+o#Q`-*!1cfW~N ze}4Veoi{cCWTCwEy;bAiQj6e{0S#mXJUW{Ez5Ml5Z_6lj#-V@20jLF#5O;u_;6LA? z|9(Hzhr6j?^qcl{(d{OUuwdWSqv&<}{OgXcJy5meLhpyFa_h7nve){ltx)vlK_5uRFKf9?H-aNe~Ph z08$h8nZSg@aKa|wSo6b|vGC*XEFd{<7L4fIxazdBbU9ozGdUJ~WXk+d*REyI*2%r9 zOr6h$CXV~vQHZUfU2OwxM)GA7i#x7p@l92UGE=HIb=QnJAYddxS+<$$_OBb4V`c&y z6V7;@jgabCUvV931M~<`MQa#X?i~SHLU^b%>3~J-->7rl^sv|S9A)0PaeY-D6}ofx z4jK*mi~F(lGlmi-HfZhN=H92Dj6kR6!Gt`Hqb3HK5F^#O*_tAkbBUp8of!k#iUz~@ z5!}NV7|)$|OJE_k5F4-t^gF?gig4$CBy-NgMDEJ4O3-22AX3_xwSh;{ZZ5NisWxGk z(IgEAF2gHxev*4BpMKFVK5b{+$@Imh9;v>$9MWFaD>ilNPd#9ij)yDi)yr3m{)tw@ zx-eD&lV%NsL0r8f!Mk+*)4Ra@1Cv1UL4-G($%^|4RL4CzH*bne)j|Lu!7)S-%Q#f6QEj; z0@Z5`|r$4BC#i9pSXmc|;PrJ^Qbp31X<*Z%e#Sso${8^W`dm!5 zxcL6Zzu!bSyjvSNl3V&_4)`t_j{$Ns_3r-Dr`#);v3}=z2pIL`{iulX?dMR99}Gso zoQ5Wb@FXA;((^7A*0t6oH|D=EHMCv^y6&3bNRJjZ9jcM@{>@18oa@OzU1%GbP>-Xc zH(al=2eUs1p1||S6ywQh7 z?Xa?b+4P2oox5QW7GvcLjC<9F@87Re9vCdfg(tzwU847!+nZ1KbD!yll9cc6grwi& z1w9hFRzl)0;p-X-UArW%G7|AA?O|_2K&^|Q7uzdQd$r$Om_O7zLeoU6b;iTV?2$k9 z=@*zNp;m1#Lm+|gV=e00^0-&e0VcC*Tz`)(EN+GR$0l!hh$I`c<0#X?b^UPNq`T_h zaTS};L8ay@(8ru>*2!?hsHVdxB)Xe95BQUmrYzEIp2McB)TJGEHtJ^H00StYJ{1UM z02$iEW~|LNu0CNj>}RDi%QX>*aUDzqrJ2c%cbW4b?U!!6aBpA|54J@CU3v2qtZ$&8Ye%Ft|}d zgjw^LLwFbUMjcHZO@FI*#MRM9dJTlR3jy*L{*!6b0ak|j9NI#HUhN5 z#)7Y|O=65%s$~OuMH03jIJDVI>=|PP6XvTpo|6XB)m=Eu(}n?`e5YxL^++(87HbT1 zf^|ylhAsGf>7@yJhXkQe9*aPEkO&IB2H3H}R!tmCi52ZDi zYdmJ5C&btIBehPyk+u3JpZVu}&gXOT#-D5g%MaAse;0FhdXpo*wSwz9aaS6?D4CFd z`&lExldAZ2BG{#W58d}vfnNv;ya-z$q3wiQQJ#N(H(RqRP`w-^vV7EfND!N*Vck0d%B_wO?z`}wwxZpgY2+IKP- zraZNdBA|~){B7;dGED}_Fnw{P@emGEr9zMmr;9W!;k57gT`pe`nJ#+zfzuzlK{<~a z-lMr|s*NyUP6Ff@#VxkYQ|F4(o@&n_X$G{Y?VGZ-^XvDUJnvC`@($LSflN^MqGqOi z?b8r(rG~Uoo9rc{AF@#=xJ!UZ5N3lX(ItXCxz1RKN^SwBA~BEtm6*gN5f!Q_cV*5> zO~21KL&fVb65#P-LdMa?Ac!X|7Fxp$@a@rg$%N(x> z89nM^5ULu>6W!9PePRcY*pq8PEe!XdLKnXPF**wqh#Fd881K-2tcQVlEHYP57hS;7 zn?kdcf&;1AwS&umXeu)UtbHcoGJP^_4E7)apXhJeAP|%DZW`fR3``iOhN&@~H1#xt zr7o7+gJ=uJRgzb@FzTMTAYF&`rl7q(%V97pnN+khDKpF*<81rb*VqGaAC=BCvkUBqmq>pUJU?$12Kz04olbEVb=Yl=0^x?t?o?lGp02O7L73``;eX74?%w*H1H z>gAgX^BX_nNBp?y<2ha&FaKG+@fWSR)=5DH2l|_6v!3-&V&Qqug4Tau&o$twQX%IM zi3>vzdrjb<5_^}9wVkVC?nJoPO@gk9$3ydkheUtg)HC|UuS@OPrzCjh0rwscC3xFw zqM~LKx{yigAVllHVpY??0}wE6*+%J7Ep1=)jfBJKdm$o2G-DA;zlpyK%IdLFd* zVF-;Gyg>g{L+bBwnR#&Ui6cZ{mcas+j-54{U`g}0~1yZ$a9KVF;Dvi zYGgi=oaxDvClWQ73+h5JBYK(n&RnN#v|hSC4$px|w~1W`q7X`4LqXsflA$Uqb5n=;5rh~3pV3Kfs53{b3M!7 zh}BQsdYp>G_$wnJX%mdC_BhuKcdR!A{l%s}A4Jq7Q3ea9*oY1??|pAy|g3)mZ4_#zxGhu4X_VaG0IPMGP4SOd5|KJ}R5)=BiFeX=nDuct0}H)L#o}0vpeE-9=f0%JJ`xv~GV;sBFz7+Rbg$K|mA3Mnd$aV&94rO|SulC^zhL~NZ9rpszQJ1WAf_z`M=<2O&`zkKfn6B{^jc& z&EQ}!I=WV1-MT-AcpCWTRW!YW(=`AR{|k};b*Y^TuWB1S@_Yz`_9Ni#5ocmahjATe45$@G!Xu?p>VcXW3f|+P;bKh&DS3+Zw zYfg}vQ8lbxQ4IjkS$cmnlT>hC7UUv{fb4g}@;XMz!WBYH8(A3I=?%IgQ)xgDv$UBw zCw8`Tz}?nHKw;+zY-UKCQK!yKJT&7wpE;izo70pJw>_)hPZy`DYwVoS5|O0l9EUNx|hY4G7i~S>tSMO2Ym+tg_s_`Jc78ao}<6Wn#Vb9fA`&Yr~CKrQ$OtQNVmGAL9hU} zmDj+vDl?c05cA|2eYG$ILO92_$*i9<}>Rq`!sr=eyoVINdEaX}HlE!x1E> zo?8IKT!K4*s6g-u{sJLGGG|_5quninSzyXlHoAG-E?<;HjMqXDQY29@CbvogfAskA z^j7uD?OV52gmbgh{5NmjT(ysR^6uTcNVUv0unBlV@QPxz?!a8ISLNB7*Yp)qFp??b z0MUj~qF*mpA2XK@inwgooP#0RfBIxKKW6k2s|(Epn1vP5d|6Dn2UK7JYPQk}ne zR&|SjQ)NG6v&#H@xMBKkQSHo21*2$P>ia_9)yUQA|aAU2{Q!{h>U z&HBB4`}TBDeb2i3lu!MX>EXkNj1P=s!aXm+2wW;*U>iog+P$b}?o9iSAG0nqfA8OC zzhKT5WAlQVIDF8SfGL!^B=Sr}yfW@wz@9}5;>OcHf_4V^qdyD!vj&>uo%`P0~z(|4G#JlRVAFrAKI#II~ za$^?VRsAv^JuL6?LKVA`Y4`QyUPHA~MtA+{^)PyqmpcQ}RJ^LI*G&zgMlDkAwzq|I zr8DjH*1N|jkjda%_rs<_SNaVBFm`tDk1l1azLfy?pg0>c2~ExJLN<|*E?3sIw>|9< zED0{)NEEL1f{bVS+$B5dFjwL`fD0ojP$vpdM3-;Qmm}z6o z1(RkD=0v^)o#~?+7rvmMm9Rx1^WF0_uwmNQ9LA-mZIQAC^z9m>9TgoZE|KL9NV1qBo;t_L+O|u9Ql4ES0FP_EUp6F+k zDd5!za56YZFA4>7%}MjjOVg?@PM6$^c0`|V;|9DaUL1BKboK1#~O3K(HD$ERMBHEaedKtBjarh^gewQ&!ail)f&b< z*ZnQyBhCYp6a}+xYX01yOs+%Nm~V-vFk)da4gng*<+0uup#c?l{eB7UMO}MdTAe$0 z?!XkS%KMa0`IPCwg9k7GMR0F%ojyXV5hnCy#v4MtUm6~mhj-q2r-<(P0<(utRQwG;g5%dPI5oSVD+>}U}%;9*!Alxhr6@B=x>xQ2{eT>H@gYgL*|6;`e zG^B2`Nh_hYcsTjDF0xCM1ZG^EX4sz3} zwP=UH%nmBlhHn%#U8d5esKev#7kq;`0Q4MC`p+{hu#p-F?f;2}HygHb2=caea{8Tx zWZ$Sw$h%IK=b*#0Na`{J3;Te2#9#j0pMEEpg-B@$%tG6!8w=5Be#eI+5B8GONg^Wfkv{qVw7mncEZfpGI*MIgZ7i>~aeVQ8SI@R>BlK+B3jLvHzu&fP;~GcX zi*1yv-alr}jOd6Hy!V{mv10Y^Rb8BOX6DF|Bg?F?>WRwVP;COa-pV={TK>o=xKMGM zxQpFpgD7nAT1|A`?{v-f+-5u&KnZ=PCnv_R@|rF$uP~p_gnZX0OujbbY%-Z*vt7dh z44G}cT*32Xp=Kn@_k`P*vpHI=z!3fB^Eo`PO#{jZm)FVn+@8}Q>;w+q7vsg;8>?q^=Q)^s-v$Jz77ISlcG?e%EcV>=`Mq@!Me2@DP#=TU-@R&RojkIa3pXydQm{M0!~%Ka~EU?4wz2ieWp>CdU@Yxy2+9Vf$7Pq zaqhx)gp*FsoC^*8u^+;>?S?&DrNZ&vu1ZXgkC^JAQ*R=4C9~?7<5_k0DUMH0uw=Ae zIyfF5VX>T{s&b4*t3XGdlH>jtpAZY?r?gKgG-M^@sRrUk>ma8sLB8Tg~?iq3bYCKg@T_-#=T{ci14N z(!c2Iv-$vv9(|^ruxquafrM!<@!v&PCrHHtbRM zzC!S73^j+X=cj1{?W3-Zg|t8ZVG2Rdm7mEuYFT9o-_>@u{M=PW{b#O$d(jSpx-T@J zy%*Z^U&U?ou|mat4$Bg)tgg08)m*+3_`-wo8D75Da`QasflEV`!zkVmU{sOtpfzoy z?Qah_1*H=DRF#X{DtXL0QMNLIKRhpO^kJT*c<{bfO;mC{T#(dYvcGb`)*-pCo*(ix#Jr^D&JVsrKrn%rzD2JpwewV~8$y+Eqw!jI-c2Xxmu`TkTB;hhvDVR=klC1%_PE7%BI&I`Uf2q zwSoomf7|mw_5XE|QDT~=K-zxWmZSN)Uvy$|(g1Ehw4^japQNQX(-^>dN#!^X!`R2q z{oKzX2S73{`$WRmuEeo-WbQ||JUJ!uu z^K;DS3*!)8U0q?hTo_}hsSh|}oM|jgB-rm8Lml{{-gkF@M>L4flg3dS;Ye?Zs!#+; ziKk|4Y&RRu2{SH6(<#R# z4K+WPlusunhe9QqiFgR&5{BeK@VM$wDqL>H4Ws?L`+GXvJO}2)wQ@(-0duVL%L{DQ z8&k^32>*8J^gddz)s%yWB{j+Q7olrh2M^7tJ4{Qq<^f$If4PuqWk=i4@sKA&-D zoVtXo1pKgrqA9W5?csQ2?#BQ;qwR2da)#M*Zk%UE@w3^3Nn!ccxTiGwtadp%GEje& zWu|g~h(^=o(C;K>eUsDy=MPg<7Z*d^-QAnNjV6<3mu!B+Pvrn`vi-ELU+_QtM{oZ1 zfA7Ek^>CWM#}U@!XSx7t*}WL828S;-ek#LT)w)n0=Ir@{gR}ymUs8zvFlVmYD@3LS z6{;ra^0Utp-MG-`Ice|Z+G?~P*7_edu)%@ip+>yQ=se^)s38^us)}*B>i*NXX)a&R zQCs335(c#t&_L_1lmIEL4!w3r#A0E1h0bA&r{?w@1YW@7TkUh>ov0+N)&;AkxQgxY zSn_;5U*T)+Ut5Bz*QN5Enm$lHZGF~qoVqd(S)Gcg-ICgA9^3Xs_chJp2tUNN>}*D- z;vqACO(wZS<9u-;?OKL>5Vg6;G1}I;YYQ#gzV&6HdgI1;c5T~ES@3+qv;ql=WUiKP z3B%Yzv^-ZXh+K%ZEvdqMT!^@UE0NBH2z6vcH+)a_OT)R_+VLnF>MAy~Tr9|7)*ky7 zVbIQh;_NLKb91jWW#DMK296?fwsyP3{Qh1!I69V9;2k~*Q$il(_Hxe3M3%#SMqN^> zW+d89(w(Rph6BWL7g^z;_9|;bKlh!N2%Hu!j@$U)-6;mc5M`ZNn4AoG=EZY# z2O~V}T`cN5tg{ikWd~>Dckt*uL|!crZ(|%CPmyJ!WZ3CzIhXK61?* zZg<)!Dsk+hmei*+dgpVa5jj0Q;dp0C$E0$Wtn6?-MzkC&#?d-IJ;QvpGS@{8!u{DWL+o>R9cRVc2}5($kn8#U5#aQ)C;5k zd{bbzCjud9E)oxEbjO{pt$rvlnI7SO_JF94Y?Gns(s8QR!1Mah3h9 zD2PNrp)YwuxDv4z6&DffL;#^HMmY?HbO$oB{RmK%E9TXWrn#@>f66%LB4oRr2?JIe z%!E+T2li2zmOsuF=Qnn zL~~xiZo4thBHatIjoW7_w<n-|& zE*iJSdbKg+LD!|R-k{f`0R_1UCffCVshS83)EgRBw(HmE4VX^gJRzxWjQzGS&nW5- z@bKyyy*Ng%-vI&-Q5a%8ni>LORyhbxhWMjDTA>|3#rt1*f+y#ke>)ssOmKbu3USoJ z+36)d`Q#Y}<71pSF+N;>ADitF#!ieced#N>yvWfW`M7_$#&kG_6E;Xl((Cq7q@^Hd zj1UV!k}Ai+a<#^II0PEt{^8Cz4!dn)jN+q5m$-YFp_ddmJv}D0ZsvEtBjhyNvVak* zOF(w8bDw1 zch~$@=$jI$2Yr$CbMr$(DS2Fl%k__D;gksRpdk9;9aeu(n&7_RKkHZd__xrQAzfle$qP zkh(89L}kDq2=qvFe!$E(DpZB!jkK&qITZqx9<<#xgcQAYO&^G&lWJ)L(C;b~D;?g- z+D;Iulh$qgQcCu+Ot}Cxn)OO6BCuL6RK8gG5LnlhitzyY9XU^B_Nxwn*5e9%Hpx zqG}{hOGkp}2O(x&|7N!}xp;oZv1N|DevUaFb8<9AXE4TWSD^5wn13&YH+>6De~jDp z94XFFrW33S2l4q|fU@1g?IyzM*%8j$EgYXtaeQ)w`@3sQCIhrDrifp2@ju3BGR3n` zKgMV{z;HOm&FvlHZpUy1KK|$@7>_47K03yypMGi_tE;O^ynO!BL~>_mr+D`4h0)c& zym*8+Z(adTg_H9$Jb(Gh+{-7A9^={b8{`O3g>A&E76$DW&d+;T?`NQ|-XHW()j3L! zs(~HElPeVa9`+fLs0M>^gt9h77&>vb)vkl0Zm`G_IGsLLixOc`<8HOZ_}E7>UkV4K zZgBnP&KTo^FrAJKas>wla;LLPN2k;6p}XIsFb#7E;WO&Coguqj zmDvU0XvE67Ne9ASyBH^?G8m9>oYB~AHftgQ#wgDgGeds#qc&!XrMZsb$mGMti8UpM z%##DL?cq--9570oT24y1oMTlCX1^z}e_0WYAjEIxMo)VYSUGPxC@Q`+k{%RX8)%q0 zzEot1x(TWiA*z8cBYH8?L{CN4l-z>|n_Y&*!v+CkiG7J>{|0C|81zpp%%3S~*&tL! zF6%#0LLQ%706I`ggymYUWwKiG$n{mXe$kRdkXZtK)0Fo0j7+C2&yp z2OFI=DmbI1e}^i43iGS*jv8?_beikeABpIt(T<98$Z!1&jiLd@i&FyxK%JfgDbHH_ zQ!C8RfyDo_^hVj{*12dtQ;t_2sB&o~f*Ms#GpNSAlHPETe&J^dAA4dj4%GtrH#vrI z48$w-15IrlstZb=^4Ln{8X05qHz;x<^|(ZGhL)tFvYUKqXD?m{2RauA8t0yU@3#Ww zXqd^#T$t|*)LR~CVXI`Rimp)5mQj(!eYD*5|1(VFfMTriAw#LnbmCN&yx@3sVD-j5ioEUYtqBgFtZ$vBKZ=o(K zGMQ}@QwR^BrJd7+;Z5Ndre?OwErx@U@$?tVxnYho=h!`qCCA^65w&9Dm~`81gl$$C zkUdW2yeZ(Y?5&Tk>8oF`bc}uVO^V`Zatyvg&ojs0?6>F+2Jn3c+ug=oFCqC4Kl;e< z3LZUrjE_J4#GnX|pFF|M^|gtxzWQ@t#eDsMIHGZVjHGmtBSzIeMrX9a;OHxeBM*7$ z!R=D(oJ6e(L2n8_>f_C##9P(5iMG3hzQMfa&WwX1CzReX3pYy*8^=cl7fF$GwK93u zU6LU$YZF{7*IT%LNX!Vc`3l>Vi$1R{MMH!c?Zl3SZ3fgGQoFGImr1+Sw*UX_?FSJ>`S1nn+vudfYXrC+vAnwm84i2YR+RmU#avc(YGW~I<~GatbgsNAu54^l`j@V8&#Ja zpVC93mNcJ~O_t~eQgX>u5a+Cx08b}VvmK48R-Y|xdVmI=C|8n@+;cOnMgIZ)%nVd<1c;j8`a)ER5UZ6sg}EnngoHszko=3YAtrF z6{}V~2a662bq)xBX_WyNcGWp&Bwz=Oz`8V^(ja4xey?lcMky!Z-+M;wO^h1zh|H@o zvSReh&s9>DualD#LtIf~%->2T;(HopvgA`~Si}1vk@0-Sk|>ISaAIi>dLgUTm8x!; zh2q7Fm%L^gBgjb00SRmA+Q{xn{0)f#7%cWd5Fj34pUZY{| z_hf{{dS+PZgP}x)L?e1}2T7L7SYf%6XdsA3XlweDG{a!b(mmlLaBR|mWmeRP2C@?E zbUIbKsN2qVQtwRZ-(G(ThvGbG4OGB>HOD9#;IH~ie-8QX4y)}3kKcNXKk@A!W1o8X z^d`gXckl3xclx+EJwxDSXy9XdbZMC8UQi(JkIVv1DD~>e+gQvWc-rXq$tTFo^>B>v zc{N~Oc0|!3&REt%n<|Ku5Od>TyWb;Yqaa^U3)WyWa-%b`FI{W^+*c7k<~Vqr;>p`F z@??R=6~t__P2jdt2_?!LSxU$96nU}1a(;uLP2;r1Zo3A|e9p05Ez$BKgiVRqgL z5jp{~E$2}OuHP7)fKGRSs0(aM7m3pY!U)&*K+&9`)tMkG*hTRar>8@t$qI2?;_C7- zZtw09gf))O9$}fkMv_O^w@$F}8l<}d&fpZTpTeaOjoX9Us^T5hx;T9DAInBIoRhm=m|vXqjU| z6$_cNBGHl0kn^7FhE!WQ{JU-OE9pxjMVT+WDDBUpl|9^!+mKAzi=_;Y>rp@I08M6i z0q=eA1Rqrm+T94>|M&(+Js;1%{Ue|s;rRR*`|TEKy2qFZ-OU4SmsBpelFz5@>i37X zv6n;TP4XzX?urJ%E+Jx|O`jM%YK6eB!O!sWdBc9z*Dv|M|EJ&Zcm4hU@JFuezN1QR zhpI}4k+^<-Sf8y16#}6PRBuTma2heF5YGq)9rD7!S7WM5Z)Ol_lDEjdthLQ`5me(^J_SG>^{clDK%n>th$K1Xy7Ayl3efQD8Li$oq zTUu5(A-ow&j@bJ3=!p9=P%p2KkpoFfoJ3ss2V}!;#e3I=D<>zX0QX~~4Wb8paq{rE zg!s51@ji=Os%sV>Ra4^+ofg8NX_wLZ06>E!96o0*hL+IiGCJk+F;O#&zv>8~%uBVw ziy32#`u#@K>gZGqhlFzz8fp9eJyQGJSZ_`N8P9KFvD%treEQL+NLM@L8;a<#CY_ZB zQmanp`N{DFZQn)2@42>#to+Z8pp#us&IqLBNxNb9?b_` z+$?LjEe}8V(H$-(9sKyiC7xb#j(eCb*2qf-dE?_@m1Cb)xLY+yesXWFahJGgtx`-z zLqx3&cDux|%Si}h-uC$T6sx2_QhVq|ee8<`oQ-R$C_tal4RL-tMY3a+LL2S=1le_l zecFTHX#>3_?%-kC*jN^VAa96mwUm;IQOxhK` z`Th{^UtM6IERbh=oSvTH#fuk=x_J+c!;HG3bIibsbD4Ggg!Hx4@UWUdN&%&1x75pL z!YR=-BggE1pBcxPNJW-Q$!L++G-?*n+zTSO+QVU+=pwgmmOZ8ujN{E8&s3`H45D{> zen#d$A#pxq{+(+hp>m!ZQw25^7GtxPyg%0qX$71!wZ@WFGjC{cvrO{z!-1&wsU8K< zIM0&$CgX|uPSfnobte=t127qNk-c?-SFaX$*sL+zq?q4q5c4_*8T?R6lL0|XrJTIh zeg#$$mH!tMR2>1%KY0&?5~$f=Yru8mqgSt9|AwE*0r>Mfz~}LL|ATjbRp9&oz8V%4 znNes}VRjWqX%6-OZAT|Fc^YeNxL0|@! zoQtL&qzQ&JjX|RloXW8vmdJWDRR$e;mtjmBuh?bemd*Pz*XCKb~uA zzva60WtjC1pyDaz!8JB$)Ui>AfP+^_W>WgnmRuVDANnlA6K#4)Ur6&AIxvRWPh(z#f(tBv7$tHc;R4IDArV1=^yjYR-e~C|uM<01ftfb;wi6v;(i%K& zi}0>Qo6N1Up4jubUq+{@_0I)_P9YsgJ_ADIyg%CHMVzRjLgx)(*akmy2QB93C~v{vYve5afrYm#qouF=?(jY`OpXqe6R z2Dv*vJ;Q9Z6VhBa;`1_Ow9E4j-hR@@^6mkX@exH_%=LDMC4y0aXD?nMDJ#5uwZK~! zNASD|+@RrH_FA}EW>{<*tk(nFELi`{IT2&MYYazXx2@6Xy4Y?r>^2!Xv4hzv$0s)> z>YFXn?F!ost11?7-IYO#j)xVJIYo{<3??z2zq!VbKYD@Zvn5_T5rSTf-1YGre&3(M zxu4^!M?T!IcyJ@O)Mej@oh;Ukhs7?zdF@~{Jw;Y*5qBpB3Z{f`5M;Qxe1tb2zlP%n zhd!axLyJuzTV;E=X?p(4nZft4`0o2-R+xu`}!sY@)}>g zjImsoST44xniP4KnuuLxukY{f4CjLg;oaSxF~Xgrj&T_2{1X|Q&E{slU0q(8vCDOX zj`qx`JQg&PYK#Tx>O`0?R=B-;FnopWZf4e%=|o6^43dZ_(!phvJm^Nqk`0==#QDXk zrdZ9`<2t6iAkT7ARQEw0c}=G>b;bZo?STepfK*%1k&s4LK2v=h-z3O#-LYs!OwNwv z>8BH}^K?8or36vqJSq#sJ+@fR&}oPG3;&XDpz(lWmf(+n=M%j3xR0#Zl?UgVFAh}N1rH($fNDEI=S6!UaJ}XKe-(blm(QJk9HS~jIL^O+ zVE8ps*KTym*jLF}ZGNM|I4VFR3T=&UC!MA=Qq*lFH!uC9(ZH~q^~FKJ?S-ihs|ha( zVx|+EMIH_fZKKYKtrhijy9V0jOY<|@;?nkP2TMK< z8TIeCdnuVgt`N6@z^h8ghO6b;qzm?YHt!H+KSIYFQ>)*lAd2>iAaPK{eOO7rvaP6% z+tn@jB9V^Y<1=RzpKTb~x6HHW_9Lb~Y_lf{@2o9%W!N8Lx0O2T!KjDjHZg{|^b&-q z@%Vg-gbiQ1Lqjs1?-zJAf57SoZ*VpmBkV_LbG)P_0xR~^ILx8fhFInmJ^&Z{lsWbQ zMO_-1W8R-Ekvjgtpu~2wLYXH3xY#M=+BJ*gZYOB~!n%OV`e>pc64|gG+h_q0`AD#N zs1dryrc{b$f-JKOyc)e$fVba1LhWZryZ{cH&4ASmE{;yl@x32?f@kvr%cg@r`)5DK zurF%^qGY!}LT5C=t4)PhYYO;yc>T#8+D^+{V`Ap# z9`7Gd;qFQJ;xQvs#Rf@HVYXhOihUGGg?5K>t`71t#cV4K_|5Dd-EM@yZOpvfvy9ED zkyQ=mjI8Sn4~sd%cE`w>uXj55wx$$@H1@rD#W(7}OV%3hehx z<$&i2qBpz0KPY9~D`$t-qbV(8OnKhC9tIO6EPA$gf>s;A1g_*CIR^6gZBWAWUR~IR zMLq+K8u3vNw~dQMH^u`~uj@IMw?2YSAMKN_At!FtkhfZNg1By4s9%r{Y7vm1M7tvV z1&`NDqN!@1uq^UtcK}#h`FXtlroZm5|I=^oZ+|x${Po&GRU54+aZe*;ZL6r;DN|k* z=LD3ehjqF&p@zpp=T0rydmM@?}BAk4BKH9KFzo!qJFGeFOZ+gh+ z=fEg!S1W1lD_zk9g`n{gQJZ!=KyJ001Di?+4Fpwi!kN5omh$gfX2@g6IrL0p4;9|= zq*6laD^wlN8oW#dSVT-mnt_;tUu>VO9-{Rkb}>WrWe8zZnZ?48jV18 zyPb;vm`GA5MsD*^QsXM!zzDn1IErYFkS)0g(6|)cPo>7*8mOOIBdmiSYFD!lWZkuC4@?i9>VWfA_Ebt+>0L;XIt8*zeJf*+Nu^ zxXjaglG+m3wid3;zz{SuLB#yPIy|1prS4YdUU5+jq*)L5p(UZbFCr3To9pmCHc2VS z8yqwo52OMVHPWOc>}!ljk}+>e5u^duc?B=%Vz%7j20LtvmN5t~@0a-SHpNHR8E$89 z(DC~iwL_d;_2KtV@!`uC`0<+xuReW)zxrEG@a*{l=NCPc&H}faJwCmw@bQ}siv0$E z#m|2kakYUH6sQIx{EpxEXK_1ouz9}3U;S6Ti~HL-&dyG7eli2PZ9GeRNIsq+N*sLs zD_3ZjAqL?VN5>RU+98bE2qPD*UI+dFDEvOEFvcpafFK5<5VtEws)>46xX&WISniO3 ze1tW?vQ+Xe$_%B~U{{p5PYOJHC~>o1qwmFdZ`8#_l;h+$!eq6<-m8#*aEu>)I>(=V z)fh+q@l}cA;}W~9!OgP3cV9gq-}-nuXyI$;J)E5b-Eob$AK-j&igne)Z~vnoqHqJ0 zS%S@m(XWfi^aKyHmzHqL+_Us>khGfw2u!Exn#}ntYqt>PSUFIb_mRof@5EUmDN^(# zywc3K#PERV3=A+H_nF?3eh_Jiq><>`;T$P}#0UmaOs6dMaHuXH{*q2%ZZ=C#? z8UV97$1zI-IS(yAir+7Bdwa(SU7V8pdo#y69YHgw9q`UOQ`{KwA4!8SkfB2(ZGoZb zORE(ify3$X3FfnV^Z%o`V+g5em?4S~3@MC6C#Hq=paF(13YS4vj5;acMi7-vgMeDQ z)=0qIsOswh8qJq%bJ)TeR_rYN-P7sxPvd8Ni4^eX^tySt`4x`q{Pneo#u&X8sw^kM z64n6oZ(2tkcsP{2)ow|jk;y$!ffJ+CYN>WQJZoG>el$LfQSwa#xvO zEiFVP$5$Z+?Vqomqg0c?Iu?9z(Bndhm0a*D>0&1cfiFZZ(b<-+WFEIS2Dss8+EP>4 z^g{NNT3eTqx^MynZqEQ{*SgYp$g0X0b=n4M(r$9KKugLQusZ0H!y@b}TnLHi3qPl! zA}NRWm6KTwtM&xf_N&5~2&%)uspXLJECA$%M9A6@M}BhSx$|6jp6#lQU9vZj8XPHe z()3PRCaTR(SkAWf+!MwY_|7(4*;xa6baaBfRTSf7SEUJcPzbkiqHCHV&E$D-0nuhV z%CjKsuPF`Ynz``s-g7~qH_rE580io&s?e6EjNCWvEy`37CsYEPn+2^FW2qb$?J-}s z#GxcJpOK{8YbggU0ckuG`Y0$GLd|tDrX3%>lL=nj+`~-sCaY%zKtZw8SwKwM19+?YXF~R&-pc;%4>6YeKZPD#J76$@O+4UE&N`G%@?? z4an61I^7T_XJb@Oi7=9T-10H(q$t_+Cvx%Ovs+|IfI(K_s!bh$2aHeK zaQzkj^7jHv`yH%bvT4p8PQp_-vk&an#_^<44Gfl@Vm& z`7gH%l#YvKTH%lVxtDlzH^O-2;%0t}!DwhwKi4;Jj1jG!$T&20tB=4NqQI8J0LN#i zSnNt{wk{SsAFFkaFlpiIkIwLOPh%X9GCX?g6q6etspF%L_t+IXJbMOw_thHHvvbsL z5AYJ8p_alLK2bE^$6FU6oYus;IFqrL=I#YY~1(i#-*nLMi;4 zy2{b($ENJ`yWjl~w|6r{-HwIg_a@@qZ5C+C6kq=GdnnUAj;9mAcj1{vI6hkK7}KMP znHxN>fm9DkiJb6-w8JEwSs?+^nYO7^&!^x{h<%bVMaRI-1{AW!YJ)PaGleay<~*SD z&iAxkTrU8}?1yU>*GZPCa-G{IrE%`A@8-ChUE_nRAx4Fdv(qDk06DD)yDUMPr#Lyi zFwJ~;ES4=Yn8-6BA#x7#zG|1s+-jB3iI>*OCZ+i+@HxDEUfAdKVyVV2Z|eHLahzsq za^DSqtN>3Vwf!1NsGyJbJO+)(ff$Z4xN5)w7199&rdQ)ED7RJaU{^l+S2H z3A^&TRGl#l#kpHKE9RqZ$zQEH2P*ENVoc)9LB77)tm(m9dD=bSTZKJIr7V{MTk?De z`KeRHdU@jnIN<#g!H)Hs&qLux<)PU7FN81V5eeNj0Ctvxz=f4You!iHzO<<$NuRLB zIA0VJJ@tE59jvik?P#Dw<5Vm*(lO49Yvh|i7{h^(`*^=uaj`9GjD{0zU%fOr<xEDDL58e2iVS#|J<66tmkm_{x(6)A0zixW+n7F+Li=sWOb(9*)LCeCPRVw7e2t z(O}SaQ8aWsYmyqRAXtT3^KUf~00%GU8?2oOIU>w&6F3!H_ja&)xq%-PC>qan%PZ>? zKDgGnnBP7i2Xn^`o_%tMWar?ta`2=d!K>#OOh%Y3Z&91F&K@qa49~_6R%sj8A1yFn zkKngDNM~Ft1Q`sR8ga|PJ72!U?R`c@yK%bm3MivC-hO<7`D%ubulI&&-t9SvJ6#mj z+CYm^%5_YHv|P_h7zc!w z&76#TJ*+l6>~|FaX+W00UO(Jpv0flZmKa4{v`}JnG(kd}(T=3|L>OpmZ$(pid>iBz z8oU5#$Wzm1VVsL}6zE_+>~{NK{<$~+jA}lw*E^5jTfKbq{FkF?{-uf+*9ue~RuK(2 zLQvyP)dgRTw2~b-cx-eetZRi}c@uQd(IAU4mj|bjJEVEUfy93asCGF2f8c09$RfH= z{%E~D&rzdYg@Uxnj5ZQcVH8S5O8e0)wT^};*O}%qa_!;})j&{Er6L@KC6}ql5KyYVg1IJjf||;H&vCI8U45yM zg=|*{BxsFjr4hNA9Q?nc7G)(7Cl?4#JV)v=ZChA1LZTQ*V;NYsJo8>%V_3LPAz{is z1B)nFqKr6wvH(DgFP#T&V`N9IND1F_0`dNgM-*6D(x{0tUMb{9Nfm_f(P;m8!shA( z8pD|ioX_#ZbG75pidosTiZFIFTdwM|bVraANh?YDVnt(1A`unbc8nr;y*33P-xJhB z(qn`uOUSb~igy4|)JV9%^~Xp{LdliUE1zF4F%2X1yM)m*1kn)Pu;fWH#lmRK-iIMp zq9Do0NxJ{lq8ykP;!qOVSZ`&4|xZ@boMXPU0VYL_TOueHN;+J%n| z;%I@W~`}8~h2=egE)a zkgt|a0g~7!vb`L45j!+WB~X=ftul^$RZ0-GF!NqiF^N(zu!$n+pP{KsUIWvSA{Sj7 z4FFi;Ih`S{)#MT=(mbFq^J|>r! zM(~K|)o#(@g0(F^&qr+v$DnPDaa~|VfDXNYh7#g`8upn(D&*TXe&<1EAJ0vgKbSTne`2<2iY9i;*Op zBm_v$Hx7f(--g_w?0=CUR@6h7?4{(tD{-diY-oGXMj|<0ucRZat5w(*qguAbeF}L| zDjYcIHKNuQ&Qby>b*2V^)PHXxIF1#JPxogdTK2aGn zcl!V`wu2=pcb}nK*LdfmgTL?_$Jiz_Y*s6L_5Jto`tA-7%L4De_jCBpPhR8GMT5=D z9J@Jnsx0 z?!&360Yayx1*efxyy0|=z;n5~zuscK+2Qo!91pX5 zLrnep*WLr_!aSGb$vKL2W9sbPz@}RpV^7fT#=K4=bp!aUd}+6hlaLb)rBP3I*sk|DySTvZ-7WV;;UpfH>y~JObUW5T z*G`ypL`Y;bl{iEoeZ<(f%tCKvej6!ulL3WF8=z>^ zs*t|qMh^sXv~FFM|BAvGGc6_4eF~w>M)L{*^E2&GsO4xxAf$VkM)CrUGq0lOLa&d; zgU90}P(vC5+SXMCd8Fja3I}PU3m!nFXgP{CkIerIX|S|jpAhd%kNBF`mT8k6ix7w| zwjds&SIz678kj`?r3_FA?9a)mJP4qccArgS(-9)ETe7~jsU!!_D7BIDLn9g_L@wsG zSR>Ehd_)GqZ(PyZcNz7Aa+xs~3R4HIEj8O5#M>SCB77#j32F-PNGno5Q6VAGJGVU| zDB?org_`Ij=9oE52HP=!Sq6Lg?#pMHh+`CaP2%eE=c!L|%d)u~}L zWO8i0CmHL4yJGNj!{+Zw`440)YdVGdC+Tr85VkW@3QwLqF;xJiRW!?YC7nH{Jov0g z0y2h@PGA@Z%)Q#`0N$?@WmcPW%eOm`a~%z^W@#Tn_>AUOC9=B0ewpF!`70!wIXZ*) zF&Iq|cSqRPYuZD$j^)B3DJae>Lp1gI!|S7iAz30za%3e%&THQn$cPA7Y2`%9s6=v= zd<78{lI>|g=S%b6=X^CpvI4W&J?bRJ?2hbr;N^8<#`*1h2RGc{OOKB5^Jgs#q70{3 zC-~_3b8HhAIUE$IjLP5i>=<=02dLWD?cp_#j|!vXA(3<=niWP4TuLbWKHhzFjP>ds z*)GK0xP|Y1|Hnx8V-#B#Nd=spALC0`9b63~w4)6D?hxC}g5!*lmsFaV=07!RFA#)d zz%>mqyR zr!0MB;8pxz&iW`i)hw#Dp>v~T{uUY8W1PT z4_XF&bsg6IkFh4fv1qW`ukqr=D-_FXJh_}=7SHh=hYa{#!=ecms}!7oX(?5~rkwbIURl1H~N zI~OK>@o##gVaa|<0z2$NrZSMOi4rBRq;S6G!+pvBi&CE$V>KM=L}-UUAr*?Jr;?Bw z?OQ|aX}OyjG>Ql?0;=qH`I0ICaWG6&ZXx$pCEgzTQ9HAHJ9Gp*99e8SmOSsp0@@L>+8n z6})I@vwT6QU849z@>A>8ieEEMKrPOXwDV<|jxgNySqS{z=_(pw9To7p6{+DdRX$pK zT`M6^oPj7(J#8%~-VcQ*!YJPXkjQ!4G9Vczbl!M&f0RZf>S!C>@P_~eUWJ(MoSIHdF`0{M7@OV zYD1ULR1NIS0_dA@k|qWA`x4*%_V)lHV|1Fm8h5jqak&1bzwNKZ^mK&5cz~o#jl63d zw5diXI_g@g$$k;JT$e~07naLGl&wTidl*k9*zDHut$2zeD(7eCaHQjV0JU3d@y) zW$xkn{tn;$D8Y}nCH|tXpWu1#4(FGB_!MKxSUnM-+b@A#fdTB1iw+sZl&j0n+spPK8AS}p+;G}#`JPXk#2ZfcCsdeg!W ze{hTLprNv$$)i88>5)6Y51!v)w(p|!LM+!A9MmshyCxdzZs4?xSX8Od5reHhhFz6Yg| zPmYYr-+Hq$8URPfC(;5s&!`+KsHUCAm9-^xK%NZedZYVhu%lcJbwYSPTJgjx1)b9} zCp=G?{l9Of^OJ0fUpX1Btjz8xYZ|*Pd z_j>kpsu(z(n3R?#FsQ=9)9pd%tI4JP`^?30YYsLk@CjVj=g9 zi;jx^96CQKiIa}hrk4DS;xv{|K}RHaw8y_VH>DlKuH|b$Gzmm-$SNDEW&+_de$I1I zbfz@MRJxy$Ojg(uyTmg5nHtF;29h2+^J6sDTCU08R04A(Eu`|Je9vPs3K7y{nkuwM zN5v8~3rvq<%dmxT2CRq=9XzcM-tHt4=OV*~Bz(_f2!W_YqLC$wcC2fUI4!d5Wd-=Lqv&DQzfWRr$2xnw$SShQSNux^4Yp2yiN=5o}7aaQ5b6n zOe2FFbvo#V4z`;;#(fX_q=G{&2&aob`;+Gwk9rtS`snnf$x1{X2jSNSaLWQEne5n7 z%9_x=@MiK7F7-7?B-?E;r?!5`vd1Bo^92H5>ciKIg&}zj$3y9TvC9pCb9*cG@2#+d zb~T{hzx0N1W_ZJrzSP0f!3c%p8&$h5op?V);1bUj&v36mR^kcfs! z`70gYmPm!?t2M=z1gT3?&Sx4c&NUiJsj+up%I!8AX)DZevlS$Zjsv%q20Ws_!ETPW z(M@K#Rt^oVE#Ga~^4bK)r^og?jOwKiKIfn2$uo=6RuR|={VGLv{J=;Zbt{Up0@b*UlD|btWXVDpTGA7ji;eynaH=JU0$m$3XRVH@*3Cq17ViF|cE;6C{|7aet6Y${2{s*ol3bOOj6wto+e20ynS zbw^n5H}G7R!im>!^dbP|1XxW72ZP}Ni{-|kNxi`UODY0JBt6j~iSW&DebtQn${|TD zL|RbuKVr8!HfJ$LzC(y{PjtfL0%}B!d|z6IijpO(NJN*wbv*5-VOijwwn?^QyX3WV zF(*XI>(tL_$VEHeu)g=&u~M7@0Gs6s`!K~Yju5b^l(WTT7{RTnXFfL(GMn4%SW4L) z8UYv*$WD)A)M1J5-_3En8lig{!*4Q#?GU?sX9RaD2PSvg_b+jNG(a3l2`{&u9Q2OgC&`z}7|*Z6d|$DjJ}1(LLd@o5*xwg!54_CEgP58q(5?ZI88cziqt%8fyQ zk|q0excEzd?kRrvAO0B69&WHs3yfYn_!FPb5XLUn$qqOB7bx-;+yX`$qdT3VKWUjY z#tj{uo}OT{lwKG|(Mum31;yGI(CE-mla%qMQ zc@HL{VAP;wK}87E$kXEwJn0$Fzj6P{WY-jckpEO9iT7N}sA&A??dv%)6+t9|?+NRR zA|O8#5g_FpIDp7Dmjb!-JsHU-Cr3tckoT$G#9ZXrti&+!H_J6@5-N)d70Hc-M6LO5 zhhE^K1v<~QDHGe}d+_N6Z0Ju@lI9vw|;g{sKz%c!TzK8qV!S`=>==6PzIyw5o0&nI^(=g}t{RZVaz;NVY z91|g2p==VPjQ8yyTqDh6yuSVj7e_25O)$HkA;}V;sj!>R5&LwwQ*2fX_}-XY0;5#e ziP&Db!CeFV=x&RPqYhp?+raU=@LLTk21>0EVc$a;J|G?q(HXT+G>s8oVv{1K@7TC% zG@ZaPoEZnl;|ZMd9^F<4N8=9B00SLgTuuxh;L*rMng+POpJUiL#my>4t8TE_w$V64 z+&=_JH#tt@7Osv%jHfx`K?`x}n+|zbg8&~q?&4D?!OeVz#iEOkw}nwN?6hk1IzGA# zRNN40&1O6WmYWKjG&W_M;cSi~O&Bn-3V@%n>W5@Nj&(k3Ht?dOCnV!xCF!1?o^oz;?r^La?FdByx&A1!JL>mDBgLm9AtFAUE7VX}&gLqS%kRj%ZcAe# zHQw40kBA#f{8$Yj<2>g0RpV)bL4KDGhoWvOACjH?kXYfgx|ZG&JXR|dG?wf9cueO=P!P^PAxo#K+oEfa zlAnJeKIfOugM1OM58nOq4?lVK(J%5M|DRAHAdTdjgVI3F#T<(8Xv#qA_M3xV|A*hL zY>J@adnxY{$zau)7m^1bn8NFt*Hx!Pe;<|-YBXtC@QHE<;55>jk`GA5a4JzS=99b3cBsFRb=vqn9&Y*b4JvC4ml(hLcjia*UcG}Wcns1P4to;pWAo)E`NbXl9jd^U6^|-C53=Rg2 z8nhxnJCsT9fl6R?Mvy)iCP$8A)Ch&=Ak`m@q*_2H&yHEA;d23ehv^!s8v(7- zjxRcB%gu@quTk7X0adu9qo%}FGTKe)RAU5M8nX|g1QZA&qn`#q<&Mc|&{RcYb=LKM z5-#RqsYI#8W{srC(CfzVd0%@Wj?c!Z8*$hul(N~81Xh@udqUxH+`>eMF zfMAEqX^2@K;``69aWw29j3#(kMA&CzWTlH&A8rusJ2*P=@bt2S(NP~{;5lK0)qIcF z8wWqyZSl=7Kf=Yy6wh9{SZ=vS93gqgaMd4R+^I3{QQCF~KXia>gQISP`KrJRC&dq6 z-k>fga5t}UdhVh>YA|Gp80DagwyCt3-8^8?jZkNO?3O!3^ltiXthZ|fY>GoMF7~7k zQd2dsz1icwPEkAWBQdRPQ#?5zBg+$UM_T^jp6TpAm4}M&3L}xk=Eg z9em}<0N?!j5zZb*2)z=6PGCA!4o883h=1~jet^165OrD0evPwk2jBX+_c2@S zaJ{avTdWLWv#eS;JwC;Ju{WJD{Z32+BswcDxF#6MS${_(KGFb5NUfzr>)Llk`CAM! z>RRTrRJY`q&q=bC@2Y?ex8>jIG;?rs+;I-8@C_XYmK3s7l@$g2Kj+Lwlm;2CGoLS2 zDkLX2(DVc6w)W9CYbY#{Rgpgid?M(z6YfAqf*PKeb|B?@&P#0{%;Tsqk8As2G?3IC zr#6Eb&dInHQQBLClj1gFGWkuKQi2PK;2rA#7;cmXoSGI^9vsh~=fyQlgFkNni(J?J z;pgrE@Zo$xFG7yL5RLOsz&5&R04;T+aZzbqX;edRP@-^U^(&0e&jf#{IzSIq1rLoq7cqShG_aMx({vOFZ`$Ju93{1=u;zR@@-%N;}2Aj^7MD(V`W=lH~%A_z5yb$P2ZYU*Bp*NGXpzYb{GuLaCDY zgp4P7aXx2J@Crcc&?gCq@pACXlR+gk5A5VcmDu-0VIkg%QYO&LC^`YyeHfn z8;1k7kAlvrcEp8C9AQSEMJei=bZBPt85~yxO}1ts^-0!~suTxy`~gJiy8WJ1&t$@% zFb=IBs8gx;Ro+{!N!H}p)2Z91s3B=8x2%z^x0u}rNZ)Qr3)o$TB9m0ucD0sBt0cLR z>~j(?x2V%DF8eY5lJ`&X5uyAg@a-Qx$IW$!me-j3-;QED|M(v7PNujV1Aoz9@)WD> zy>YP5kH`4Z(<4+b_V{#_;}86aAK>_CVjS_!<{ksit5t%>;{cCOLVWe-o??^TB60&f zy*kJ17Z30n59`;r*v@x&lWno{b{LG_Mcnf+>i045YZUGtPkJTV^&BmC!gPQ!_I@Bt zZ>GU$3}SLcdL5uB@m4RxKC93lc-W=FV&{+VH5kTB<<`rC#OEX+Z5Ov z4$K;{A7jw#8$q4TYK=kf)FOA85dzW@+itgSjh66Z%2EW8j;2SLFXpK2y1_9AacCKd zTN1TTXC%UFRK74oLe*EE&evjk2e_d@C5!K)4Z}3M&a>`O6d?D^hy}24TEzeWtye|04+UIYT z>=k&PFtHv(B#8ClXbM18tvCQ|*EBBD(!@m#l18MRj+6#*vgkSRZ|dFZHPA!U1yiJS zOISCLDFBJ+JYO9KG%nKvj_m6|8BtM!hDOn(Nec6$Mot|XNdEuO_^DGP3p{cgQ5$V~ z(TER1(Sqkbc%GTu>oliR!G+0Z9+1XPI0wzv+|Nu>D@sfh#=J2WIq$7ZBI@JIV76%v zNhdHuRya*dGMVG%bI_Xnt-n#&S@Z2^+eSl-IuT3igs@%%FxSV)q7ILG*>p%$w1$K= zRhBdr1BqQ6=(($C5Pz$K!p}ukT2d{PG*#V*2J%da_<;YjPM}6Lo+oJv{t)i-;G5$W zX(1BWK8=6P1;C_-b~`Cc8g!{-Ha8UlwbL*nl5xVQKlbtVm)}LvI7V`pQA?gzMq|A* z511a?qse^q2T!rCTxo~xc2N!li886b1|)ZK z@n^1-_r_FKjN<}deVeJ86gSs2?kvGfOsOpigYP|daeBm#a}C^Ji~W8f&7n3AI6ZPq z3E!maVzK7@AWxye=_o=>{=*p?>2wiA4JvFp^TOKaXhiIG(a3~Pd7e&WTjBebfi8I@rU!5S?tg*ab;agw( zGWs1C>m}$=5ScTC$)CG?jF#`=VUgnK_zAxE-5(pm@cZvP!FF+vmS5mo-+TvmcP|(j zON-oY4*_$(C&N$AS`wb05%oWJ#yqQ;{UqKe|2uqE90Vv7*|__bS^?$6GiDrFpIegTb<3bppSq zb^apaCb}p#ofz3j-<+RrrwAm27jFA|fb@5KAr1g@qhH{Q#^(R2>*}vlf|@Gmxt5{d zG~mrw{dKJbIE49?aHW4!=Dr{bQUa(Bgc@J&Q@I6))dCu2vUEsG2zfBA0#LYA%M`VP zlp0kvyei(Jdq6a9(l0Sq;IiQ8p;34*; zZ7~g@LTE~E6c}0VspkB7KRJN4tDbNo3iwjSrqvMi%*8PR1byK(xDGYm<=hEHp|L7) z+O!a;#o&p=tRt$0O(l}4Om9&9h=W$t025A3zNh{?zsGya^N=Posh|LiN>y-45gp|+ zu&GF#GctEXqr59Hn+SKr3Qwz3rYePSq^@66PTWRd?SnBA+H-{5GllO-hO*raBc^Dy zr?^=lRW!(9j|Ndb(^4cMT-q@}o&uwca1vrQUjSr1Gkw8xpn_V9k#7Rel`_Ysa!@iX zC-P%TL2GnKqNAc81*Z6YKa}P=sOUHv)FN<<9)YxCZiL9X-fl7QNW#pq+ogzFU1UjS zlnvPenUx5s5k+Ej%zo<3w;Rc1jzw+Ltl~@(!BnLRrie6jK^C}ANm+>i>k^NTd-!Yr zqIa-a=lJ^1y^E${nyJQc)W>qM(0OB#Az#RqISp2uj*WSLJRais>Phb9+VcGP5J zB}V4$kf}TuF}V{gU5$L>Shk}84t9v!9-O+3z|Rd&pvw2~o79vG;+&2iotX?}ksx7z z|6+gyBCeArJ2Uq)c1p}PxIAtn!Uj>8pepG&=48&BXW-N&(#;&>4lwC;F&H-J`4a#X zw{dY7R>nyy3SJL8OOj^+WCeLiE&Pr@^e51`Q-oy;PfkZTnZ~#{KSJe(*aL8*A?}w2 z?jI7g@|I~}Gwro-d^E&1DrsaTHO7dvu5_%UsHovTLBHRV@gbsDoCDIB%eKNM?5_EC zZFx>75ipfGnhN_&PZvSxBpBm!=lE5zvNV+n6zM>@v+~=i?Gh^p97_|W609*}%dsf{ zq7HOGh?c1nLo`g&g+wWWV8?Bwmy9PUF!xK;QsDNCTn6ohK#?Jv(oDIg*h(|8Cv=X5 zB*>QGC;SeNrKktfDN>oxNR049MWH!m?QgG(zee_=v}B250JK9OzbiRvtDL4xe%?3$%61p% zvc-kIGTUk=K!uD0fs%#%A?1PM*+Dd-8wf*P%QOyJ5%b|ID^(E(&HJhop;`noQ20Hj z8q+;IM@WjfEhE_^8@Oiw(56XZzyR&aCn!TDa1|#W+p!8lz!E1>2^7gqX|W7=n$JdU z6{u)*#lsX*pf8mH%-xDUeIZR*YO4uA_9~;-#({M{SfkuxTEHM7ow#eu!^GL)qM@vN z-;)%9C>e&9)JJ^)$=~swaIrND0ko7+P!#>)zErbcI?{QRHWg>fbr19+16S{pO97vU!1F z*r)pd$I~lQju)cFSKqzF%WLsiN5d%|?r+RBv48#D&5fz2XZ`*@*_nMD4aZo`m*}=b zJbrY6ZY-%Z$|tk*)1XJ>scfWD3#1u_8CK_X!DA6%KnU!L!-EuA;*^e>$BImpSieyc8@20HbhD=opiBX&5`CTPc!5) z_Vtidk>uK`nkOZBu8^&XhDo`euZ`P`gRC0)o+sQHeqUsz$F_~SDBbPN-1TS}6}ngC zz)B1ErFmBa8gJW|K-y8$0N>u+a6A&7$)lr+;U-#I-y{e@qc18{nFiZA;0Fu(u59oPK@syNpGz(Hhx z7}2Zz?LngiaSWKRxAp8Ejl_XI0BwcP{dyh3ySf-KM&!fN~1PGuGGJmE0d9IGpf zux+5zXzNva%hJ>$skF?6_mt5`}Y|QU4$vp>ZFbxoesGSmnUWDnCjwO})0xTE6 zXxu^AV#%rEbFABxJJ!2rm)hu z1@F%iMb0uZ>LRRB7DU%*47VcfjRr-Q7-znw+Fg+tg+Bs@nd#9^WKqz#s-R;O8Pv}K zMXN@1C^){1C=|tH3M&P>U2n~p91VI%_?)|z`JL>{I6XT*M+0eZeROh!_BuhY-^G`n zOu=dR?ZpFLUYGdzMT0-{(KXt`2%R3AI4w}^8=SXWc;``w^K%EM7X#!eYxkvV-)7q= zf-0n7Isj-6o2PO7T5_!rJEalUR!f@sH`^UBwLMWnD>Dr|JV^UojvE?vIs+Votc+1a zjT{xO552ySqPcHC6!3^rOX@OE^-g}D+emYq$yBRwcrUeMD=S&Jtvar(FrcAl?%sB{ zythsSx05cbG~OKhyf4Bj^WeCGn)c1P3EHYkh|<{;5?r}LAXFrp@9FgL+&LDY$yy0~ zMd!w@!yF*c(^R=(y=U4>K}!JD zI1zgHBu}l?1T-!xm8-cp9e#=eh^B%YYAGBFsQ{4lhb#A)C#Dghax9ugkPVf^jj9$! zQ=~bLO$p>SSIFbg38DkUi6^!7D^4_-v;YwZ%{MB{tinBFtb@Qzyn_2|MT93g`DsM> zcitEE>bWrRywqV3bj1~3Kxy-D%po=qG==-&^$~)W+F%;lF7JW;j#N8zdjctHe{kNX zxoJNANB923{+FG*`)IqI?I@N?32;w*rF%m3fMq&x-`fLb{g?Fd(8#op*UotlFqG zT?X6yMB24-0i@y2%S!6eCr79)VRlS8Rd@)z7Mrrrw9*7)G&(}3L&2uVG>rioMu$XN z_>37vGBB_uhz-*WrV67!7#Ue+%DVC%F+D-vg+tUSWS2SeK)Q%pJv2qiF-*ruoPRrh zD8*ej1st!&E~V^qA&a?moTT2qXuj`v*d@~bH7_&llCAkHNoc&KUYw*dA{Pl;>{4K9 zyERCV>rUZ%FjWFk%~TB={cKSW2UcfdkG|8zN28I2VV5j9B3yD5S}qps4xnu1X$iRgqn65E|f zaPF#|Ot!i*X^be6XhjKpL`gWYX*8F`f*sEIeaRt?hGvo%GH#{3k&vMk0t&?e6we>A zkb>CMquAIrbK`|hntITbdh>0{S?;r22atd;bT5*4TMpVu8Ikxi@JN7UT z`D=>TNY_Y*`&gsjmBvqojGOLE^qpo>-dNQ%n0v%@NVCMC9%wi=I2JfRhLDLYl_%P{ z)AJ)EZbQSA&5YY}ns`$*#PmU3IlER@n92$qZ{Ib7>9Z;F-k#WiEXl{~DlI6vn+=V$ys$B;G_;JL6vIvOo_Lw`^tL)9Bq82 zDMG^k8l2KWw0%lU04W4wPb9%5=z@XugGzW3t}6(i&L=@J61^wNZQ?obTK+HBbyxTT zUs4A6#lN`F{GYDt{wsN2PU!Ke`~cr`5#po}u@OQ&v39PLn}3ihpx}l=%{q9rhrfDI zoGdD&phj5XRV5M<+EJ)Jm%ai@K-2B?yN90H*#VO|ht^T*L z**W3jC}JwX{P259V&V@YAqRp;i5zew@UiCzn&X&BgSIVGm1+-hZg_r;HlZ$SQ~Flt z6>_$B#SV@K1F<)?+><;n$%!!KMYs1is362m>Z0%VTT`>WT+T7CzxF0?r+j~I-m%4F`IE*mt4R~)UI7Ds%k0-|oSW*Y(zNfssKReyHY-kc?QgtdqQjzM6Y4KcFQPG zi~`pIBWP6^>EDDX5Z4dS(_RnQlob&hB8`-%rTzsSEa^PS=(MWn6mqUe1f5khwEUb= zy>!L&9MmS=S@XOFoin_so_Vfp=iKSDCj}iINm=%ZWYFR6hH!0wGZ^&^46k(0i z^NFe3k6TwH&zbx7aC--)ce&QA=QErfACvQ7$~Gs{0cwZ?*6k1}>iz%h{ROZrNp`La zM#9EZ=bWypM&Z*iGcz+YGcz*@o>;o@Ks3zE%*@OvhAVZ!;SEU>pMUvTg|*!=p6;sZ z4zskKJ2Jq-!`&DC>tBp(T;>Q>-PY?(WwHa&=AuLx#^_nObUjBhppL(ctrYRVeH=@e zM4ZV6Wg(+xd@nl)fywwHJjsXeSk`#yUJUY~s!+b63CwG~f_iSPCOcr1ry-2*DCKLY zg*G98=f3&YnW7i3p<^@De*{DaGhl|LKN%{R6{5j+PMlt2WMFA7&SkL;8=w^N_n?x) z`FR`-TdmehyjyEeVdXO8KA!*ld#1(qg-ZimZa@CxKmLcm{oB9&@17s>-?&sd+A7T8 z094GQw_aUxk#ut5n70u$Mz`D?y#%uBHFl|pWG8n-OX~=xf?e)c6 zpan7+#}9&O#M@!ld;6LNY$(EOgx=t7H}y1yWGya&_pRm4`yTumqnP&e2@i#O{r zPx4gKhJ=uKqaC^ZF@4TyiG~BXKe&(S^vV3ZyqD+Pm+u42_wM@Y3<}%@1|IK7aNCak zyn~^1?Nr8xFytDB?Ht=}Wo&VN8^v#&^z}$J4jU7N8%>erpc& z`FGFr?GOL|t^hEpze^i0_}@KGzJJL)`JYyVsMM`c+>z_Vs+Wre@4v$=yJ!t!U2yWj9EZf&}W3O6()!0<9*QLkGPiS z>T2Jb_elzc1@iXZYi+k!kh+I&F0Y2??CBMj$8Nf~p3&ZO>eyzIvJ`aprz|+DX%M-{ zGk!@-cUXuh%vh}`dVI%26SXqqK5trl2?<-hTB|%(JbQhZ7p!#J_&mmY2=trc&^!ur zP?(_O-#r@R4Ubddr&2z7m%VG=BYnyO8^E&^)7q4!RcNg-$9s#BG*GQLoI)qBXg30q zxsw7J=BKrVXJ$Wm3-;63v!eK3u4paJOH;n$tGLFyqI;YB%vSn`@zD?9r65e_r69Wt zlyJWW5jP3L zHoMJPA#@)5-i)Esw+cDIx%3eq&gU5JXNs?sw{m{$Q|P&FT=`rVuS!gzya!7+(_WO1 zF@N6ASQ^4KrS<(;DLH<8Y^+YZ`9A9n$2lfg8_g;p)H01WOD`-7CW<(HtJRJHW&Gc) z85s!qUV%C0N%*rdhNNzfh%V(fnb&-%P|y;O#E0Dce>cZ|89V@O#CZPS^Wgri`33xI z5{^t3ge@;Wmv)mbfnDbXhD(c2Nx=Qw@l8VVHL)6(*T@Pi1dz6$5|A)&Qm1gFq-4dg z1=8#Pwgi6yCyn_gur@tF?0%SSh8K^-giE zQ~fgt zQ`pQVt&heXLXZU+;TrvMrKb6=G5|e5!oQI>DNllyhV;AlcU1Qq;I9*}WV0Hv`IFV3 z%sSbS=K4rsCbAp`$Pd>)?*UNyhUDi;=#BlPYAnNV0?hW z<)ZrRDGMh32Z$=(1Zj|6l!pL%T%=x-4thC?2I`;rd)J(y5dZ+S8ot{U?}vH-!qbdi&1bB~xf# zL#^?hOpoDu;zZz+5=lSwmv*JV@U9RdQeulUQNTWARniVaW&^jvSl;peDr2o%UHGs# zrIl8CH0O~~p$uLb`m*TMd(WBAW9+>D`~!`d$35Wy6br5k7?0AstQ~pZBGRfV9)f+b z79Tl|HqgHa&47J*LaWd!9)|UV_rLVOYBb4gIt1T6?JtWa90_Bx44;(!XmQ6mcrm2^ z9erKB71pbSXo_X;vv-46js1}c#UZi)e7n|*U)qh&)z$N`LPM#kB)CP+a53m6bN#wSQ~={J*~|3IG%CySUBiPJi}Wa|iqj=ZAeV+=T0; z+cwv;3v7a6x#f08cqgnA;9Vz|d{%3zYIzZ+(hWDn6t%9HQ0xl_zzfO~(Za(^3gzE* znmoMlTsXz`3s;=9K1UpL|KL6ppGBT(mQ>!1giEgbe$NXL!J!lGK}9GKoeP^OJ}5eQ z6mprz@xIv@dMFeS2&|$VVGg)Xi>BTOU3IuFCF)qAjEwWmKDcK=U^3G$C>*hfac$BG z%c|i1^=o;xdUrD^Ywo7(uh6Lx(HRAGL^eOi!T-~T(2k$cw#D6 z6u8iM@#JKkPIv@xib!=rEw``aAr-R%z}o%7~$YfSS3uZVT^ zL9JI&Gs2agpATtB2qF~IEM<`TRRGL8mQc*1M&R*2svsCq5$}-INy%R3(sp}{0ynqz@H&-#%~o8V`}15@=hJI4 zw{b`37152H=|C5hT&AAM_LB?}DuW=Q@VauuqPeFfht%C+i zV<3g5b(3pzKJ7wD#FE18zvpj$CP#QT$OPupwv+8L_ zia7U5IVroS@zV3P{=S{R|JL+f+P2*IySPy~>i_=xzyJHcIlr8LbrZh4$x^@C*TS^a z()+ti^{ca&eE*BQ_&f-`#ICtqTyj6>sM8YG2y8rF-c!&Z+&fd1=jUq|uaBYfKRN+>JjrF?KF;7WIG?P%B*I zzbSw%woK$%|$)wF*O6uYu6PTv6^%-~AC*3vPNAk~kyqC=~ZI1A!90*J4*lA^ezh zt9g5WcGKVa9K?A?7~w+D&`4$5P#*a525{WSBsf`Q1L|Z#2Ph;KFgZ@7=pp0~#w>U< zPy9E>^WMzQ1SpFB#X_gN@x}IXur3}~Q``(J+6wU-sg~KAE4-@!mBr?pV{F%=w#R-d zw>2->Qt~S#!#qjB2uDzrw0Ji}Tpv(4@Fbu(N9I)aMv8ORSjutNVIPVC{m-%CcS2)# zY>IqiESAlle+k@LhQLtrnKyJ`p#XuV09zGqa}N85gcC%u6A#wVAl!rEj4R%d!(NgY z^4CB8m}{;Fc+jes*XR6kX^S_cOnw#53&dT!0a!D1@KE}41!}@#w0;SmJ1W@qoE9>< zplvGSj}KO9omRT?&)&q|*LM4OPSZnCmq_ZQ_Y;t0RKo-FB2DfHd+;upgItz0$$-pQ z>%JeoFXO&i;>W_9ycpIgyn>vU@GQ)9Lijn>*y` z(lRf`*F-J-F0_6NX7T-mW_o%(*tK&Oe_?0YPx_rAI+d&c?YuyjG zVUwn6f~I?6%|3G6aCc$d=~h;lkHRoo<;1x6<^OASO)D*gDko;$S`WKx>VjJjcT_Pw z2i9(@C0>mI6oeK7+Cl2lIq>kPx!DxCzT6+m%dnJt=#>3 zQgHEEeeZZ01y8nyO-Lt;W|PT0+UMk4qil@-vBXJB3|PrR0eQ{i%NI)?1Pc;v?cy`YGW_nQZ0drk+-I?r<6n5v5KEacOi;~FX!Pfvv+&fM{X&@}5Wi;!y< zwy2t883x5_^BAU(wg#bGBs@xcOQ7hbJE$bE`15YSdAxe@lCeZa1&UQ+C1UC*NGKcv z{BFU=T%d^2wv@pkNb$}s7XBLrt8NEA=>mmS!)ogs zzZ_P(9vYrMFCqPs^^LU-S=H6R6#uB`ul%Z;OQaMGhPfrS0c(uanPFyglW`_*vDW#`(J;;8Tc>N81;;ZM8(fq9p0b2&}T~ z)6cBh(|QPcCMi}i-?7at$Y@?#-%{;ThoF^0)k5tR1OFhjJiC0#-8p_G5p=kNMmOEEHYHC*6-@AKDD) zXkz_`la@vnBQbe^n;VE*?l-*kA*5*^#5trj-Qz-kcqO;O{$N`-8;+cw%;z%p$b&x; zdz}@Jp*B&5^|T)u0h`OY-4fiKX^sV$@-7vCEW8ziS@SHzO5^WtVX4y>xiN=emhyTm zypLD7$LDkQdOt+M3;bPH?c}_aR|XY|NN#h!R}MQ|Nf@03xn;300vVQ-P>84T!#kt> zS$YY2-_6nUP&&(hXFqM`nuHA4x4u@n<@u(Qgg0J)h47m1!N>3c9y-Pk$7B67k5L#o zN6*pm>`~h=hB!}wWU-p@?4=ruIe5plMhKy}bun|(?Dk~@Iw0U3##HB&q` zZv%5rMbWhG%JpU-8fq*gZB_x_%l3%mjrLTeZL(icYJPp1rvJxxRRLhqd=EA{_}Ax7 z`DY)G$FC+>hn2N=p&Z19aZ}Cs?xAognVOUuC%WFmXm=H=?=sNBD4j>Wd z9$SRWJJnie5@O}3BphAXvqWu!)T}WvcKt|L#^SbDU#X;xlBg@uada$RP5YXJ z3XbTR7v7*0hXhapzpcd$>kW$~mb~~D90$I0flx*)_-k{$vBU2utSKuA zRep@ANzUZILQTqr^EpN6_#))_-Yj<2$l|V+0jGj`x&h zUS++)ucZzaRwDy|zgE(;R>v}2+Fu2!>Amz<%KD?Y0@(Y?GBWjYQOkpQpz^5qgzIUo zKO)2t_Kgjmov}%K?9)jMQbara#x+sGcz(XqHn27ZF%7D#rDmwfBm;-RP(RRU;ph1 z<>F2ZHnseW~d-t>~glrnNN;-0zXU;@MKxp4K>tEs3&F}Ty5HJs?hv_u`eEr_-u=uZTNe6{=?f?bu zPz-#QDaFXSHR&B;Ea?@}ieqEH3fX#OHK@F;o4;dxXQihos|;-O#-vb7^h4gX?*gJF zF$MF2&VGqjHUn>RJ!;3V$^t+DO2Bk;V!=gO#XH1UiUR_xopz~Y?$*9Ok z9$$^H68lozm&!>YgNh?H=K_nZZbX;s`7(T=vcm5w8UYe<|Kbrq0N&lnw;=8E1MP{X zeDtgMhARYQ0+nl$J;HNvzreBdH^(nLoCn&HmqjDQ=jKzIZfS0`Ij(yQ0j^j2VN80g z1t>~Y{$oE14Bt5q!-4m~y*MUp(+DH+%o=zTRN8PKM6qp_z(%8jYnk<9ST1lWLYrsj z{aVp)oxo=eDBV}E-U63Jzm`JUc&&CpglDn$EwEw>P8p30`dlT@<4`_$M*0@7*OCLH zx;A=~%G&b1ee;{&3WUjc{ zAh^ND%-3qjr9}-PO#5=b^V|U#$7XK2)dI~k9_Obt^*mX_iKIj1 zL#GqkZ(tKNeF0CT;q2FFUtSSQ7cv`v`7Mht%L+vI{e704?_bySk;OSn%sw`LT3-Y(;yQ(NN`dR$M59~^ z&zPK!fy$w}_?+k;g%t}+oD?IDdGmN1BN^7r=(k*^C@h2k0AJnDll$x6{MuN&Zr{6s zjSV5ivGtud>n3V z4-0i;fb+N}*WkSqpU>hqy-_e=3db@NVd>2)2RqNlk{US$l8rVuR{1TU7eXy1R1zUw z5=_?2CKa_`BEzD|6C6JqP_0D2?Cg zN5}S*QI)5S@xyt%FDeyECw_l7>Ns5A-6-J9V&eHZcgB%?T3vhY#hgY#81KY;iCbtr zqix)mXH0lpY=l6d1ubn&K7t*%$_N}LBQ69G~vK+R6 zCkUkhmRX%E_U&Zk$}O)9J#~r5MHC*USz*B>5D?m2yf|Vp$f^fo4dK#naERvW282#W5OQzOQa@4f_9`u2Y3P-)`<1$h8G7>_#gr? zlzskkTwL~onBUK!;W>Loi%e||PtX>DY5Rbxqo3rbe{!Zze>dJ?DUV@bw8oz|cOoH5 z=v8QJ9K%{xIEQs9Fy!&(U=0fmt?*fThE)Dy#2af=x$a@TRCrE{v}u)(jmkWR7S|?3 z##}~0X#SC|>6#^wk2y{MO94#E-WUCQxbL>SUVC{LSkh9vE;S&K1Nc z3e(QTe4-yERw5i=K^MFycw%sy64xe7gR2{S!)XW?()#!-xCL~$#ebqsU2Tkw@jhS4 z)K+=f;))@rWnTk>VC+|G+nA}L0>eH-;4I7d@;jh8!V{-+ilx8%E)yJgcZ`RqWfA69 zLaVKT(l!c~z=&s0#tn)P?;#Ld;}tji63c=5!TnG!QvenC?@3T~aml-rvHWmi?CQN5 zo*mxB>U0hZ9H-sEFu`fUW$Ur06X;_E%{#5yC)ZrpMHJz`o#Ui;F8~W7q|4VHWo+*s z6n4eI&u+Hqe)oulT3V}Cm=vlp_0iXirwXMM!s0mM)XS7y7E&vz=?SXzGrwyA(l^AM zM@2c@#${NX3f-Jt(eMszo5Ls-QM}gYw3o85EXY)>EA_Mmx=@rc^SMpa$?Ti~+}%FF z#gGS}Y=pc8eCPd*b6pn<$1%6EA|IuO)(RDS6c53Y8ab=Gl)K1dh5#`P@N(W44}krb z(!qE0^?5&)B7ck&Cu{&?E~}nUTl@tGQ`*J3#nMw+c;<24t!cCJ^&gKZMm&3&3V63D zB`m4ddpF#(S|?+Sg`IkGqf(i&w^{k_2mu0c#9Je`z=_inm|WKimUvQ~lQYrPSE~do zKfmiFDU#fnK6MPt$MHPeCniUPdMtktjj`dKVV_wKt{H_&*yILq{Sd1#jrT5g$T5mh zunoh;*k2cFIF7&3C}Rj5t!lWyrVPB-|6zXjf6eqg+O`b5@8$O4)8}vBJkkND-(0Wc z<=>3O`&@1AMxa}iw+L%C{$B}VIOp9e!1pE9hvfVK)`C zEX}nkYNL&LD@^IE7?6lzBm*u*77G-Xo1>VC0FJ!OCkl;-Vdj4H8R##L!4rd$gM~+h z!0Xl3**y#C&!Ft(c-qQX&B|lkg>T4frXo1m-tY{YwH5oUsc-seU@#Um$DPUzM-?7m z8{rNy0%IZ9YTl*H(T3RZjG^L6cfJf^#qqNJIk&kt?-NF{}BY1VP0i1Wl?jT z_}JMu#?SMe$o4#n{N7w*D=cM*;QHZ{p`atq!4*HTlMSccmus^ z)$jK_V_67zc*;VdeWCF2nmNv;2=86+H>`k4`m{&-&AE6+~f zmU4;kfBQXC0O*MC_4e%g>bL&*qnH20SwQ`LiMt>O1GzDA5{T2i=w6YhCm&$zqO_=~ zoM2qIWhWPE;>4#T*VPS&*8t;(-#ukMo@24zb6KkKF%T;Oxg~BGC}_lwFDuF;yWDDf z20+CEc$&4|c_0oKp4fmv{xJsh9gBTL8o04POL5dacNU-(|KYpWL|EWPyuID#N@ejK z0{(q-Z%GYfkPWxAuIdElg_Cf&5?$msAYVuS#ui9i{m7yb*EOzvzN=AdWK~RLDhlBUlQawVZP99imuJ>f{1wZgW(yl13d)Ecyr< z-o?09Afv{tIm#*w^ug^ckm-Z0NG(b8y1D9AbNi&YHtjWDU$HC^)CpuhDQk>T#zkR(CBQgx8H5Jc44q!sjPp_;_yihL znX!DiMPW9(0bcCf3+sBM*cNu8+YovZ>Ff|>fB>l~C(%>m6M@=$C%nKHnqb8t?Pa+`cv4HQICD6_p)%&N3AO zQC7DDH2sSgW+{P<=-o7y1cE}teie?QaaDNnT)=1VI^=qyp(iQXD6w3HLdQnq-ns3Z zk(*^OAj$&BbB#U=7jnItVq6TYIgBU4uhuV+uxQ0`T;Fw3MoeCyl}alC@AbyqzVSWL zjzHQY+#s>s@KFDEW`*LnrtjglMWgvVY=`}ezk0tv{(aS&H|P9%NnCR4uPPsWP)koM z=Vcub%v(gemZRx#2!Yj^a@PrwJ3m)sX?(_J$gJ*GT&Kkm*3u<2jJm& z$Nz-^_?>H(Dk%T^)@MQpVZG6AK72>lVN&j3M6(bO&p7%z+U2VaJPZ4wKt*zNspRrt*VMa#oLfOnX6aY*|?->MaS_@rRL@RsufJn$}l`R(1 zh^1ajb`lT!5~<80&*E1$Oh7$^7td)MbYI7jPb%6_ypGcM(vI;d#HP2!_G^LZiHg~c zPXZ!ti!q0`TR$9uA)w;R`-z^n_;$jBOYxpUp7Xa)H3hK9^5P)KwPvS*flvuTk<#)W ze{WSzbZK8YmKjT2D;i@h{O5*B=KUyJ2#0`ypxxv9a2)siK6?eWRLD;${xKw;Lvj*{ zm39~yQUyZq8cHTg;foh92kYW`CW+!V3j$fYzQRdR3vV`t@R*x;Yp(aZ6kI|G%>lU} zPI8k(F&u3(zu|c(oFQwb#hSPe6$5#OQsNl5jsxDqR9Yd|37}m`?&=^IKCviKSdWN` zQjUjJFWaA)EF%l%oK+F$hu#;TOY)-KatwtDDijnDls=@N86O;@SIkTi+MM?-5;T9; z04y}NOyg!={MFOj9ijX!oc=%TmJ`s)F$-j9bz{=oalfIhN!REC_!&rUeF~R=5EKIt zEvS(qK`(&RSkQMak}O~jXsyio&V0ur&t>WJ(bkccqE@SgU`~93iBH@DtAmL72Ao>C z;R6%^LKKvRW#_PFuUs$>C(m0CWoyJabKxpf&oN5rY+=Qd1ZelD^0Jw@o&tn-g%t)@ zd3^h{2ha`o#XVQ5P4V^0&O$4EcV&!{wv+`x2%vPP09j!n;y4d*$e2D3C5!&u4KK*; zlkGWUKxNN9bJ1qsp#@ed&oRCd`nlEv?zB)GWJ=6?VXm}Tg?PqghTCpNAGgS}1rX)A zS)@+y1Wm<rI><8cJ z%kGy_gIk)uP{AHy6&2J*J`6{V81}2`PE1#KS7dtNg{pite>r!& zZ`x3nLe$Fw1n2K^iwvsaD;ej;IRI0i9-pm389}JCrm<#}O;kuE z`tMRtY5#@KV~XhAo%KNs6_&;~#z#a(u>)pUr69W=_2WJP}`m>G0JbR@S0W$xpBM#(_$vF8cqT1M9Ir`7{ZtR^mW3W zcS9d$C8KC8%P%kKoZFA^P76;#SOPywS#uFuxafyva2n^=2fQy_o(g{j!4N=QLznEc znC!;!;RJFWSK_py9u>b)P?)Zi60uw;N|!2+ICryngu|I$)_p0J@?JQG@!UvzT0GTz zF^<9$6vNd!bxdJ4Y&ERpqwernBhBe9bt%BMfyGZdm*c1cEEyAlZ8H`^ zz2_n?v^E{%MTiIF#7BMy#+HcxJQd~S^9h~KJB>DWcwKG{y{Jea;AX*ykT7dSVYUVQ zhhV$goXhaOJr@qzRNsJ)$K3n9Y@fy^?Xk42Ma{Ub3c!)9nxPcz79J%@!yN1NTLu)* zUjNpwU<`PF(lV>~2~gB)_pp*2r;y8E=dbhE8DXmF6u_LD?6~G-~!=bpCo-L<9DW>mG)DFW~;avXSZ#SF2IDHPb?P~h`Y~OnS`hW5JfBO0_ z&Xe!opcXkT+$O%v7Pn(@@TfnhA^o%N0|eq+OBi~cm2q;xO6L7@ZaMM?E8dlBKL(3J zWk^1+aR$q?$l}M6;~Y8Nb;~kHwdkd* z2$+(StMX#=WZdII>udaFvD+g26ohmiAM1~gv=_-*TG;UxAf$7-VTrBhePsreBFUno zB`C{W;H;FTgwNIfiWsVvsTw#7$#}oL`;OmR4}bhFTK;Ou!H^p{H@5L=U6Y1LR-)k( zkP#ZuC&fL>K)4rFnfHV9ieu8IesiJQh>k}|ZGS+#ql@EE>Z0CdYeAK5Ry}XF*gET5Y^0oD)(zh&;DaKiS4}Sm zC)1W{^-JS>Z3fnAtUZRYb`p`bR>|0DmO%5pB1thNhH>C8YhNCM2+Ej8t$%<#qd%w3 z70QZR!uvh^#ohk+zxZ4z09b&Zqm6<87fy%cKXP?(@iz?MRrRWLQF)a5Fg9MVO8{ zcid;Q@p^j%>KY;qExolBt=bNEZ=(L}9;MR+bfHb9UNML&bE|7#08A`rQW^_N84Kxr zG>cR;%%mIQ32>pqnP=5Y&7Mvi$T zR*uP@C0_KH+_-1T4CA39N+}||6P4}KUIk!r{)L{gipQiFls;7mqW6?RMQ}adjbr=tD6rT099S>%AcU3l&C+!<54isr7f&fweVQ^J zA~}k|6M$bVg4IAMZl3_;{QzXN0%+-T3cK1|3|;cB`Fwc%bL*?fUoeJc!d#m{!#VuM z*pRnlgbwrYExsEjKncg&VG6h&PTER)P+)NgG6wja{{!TqaHuGr#`$F#aR1&nYnN%m zmNsW@JTUgG0TM=n_Nc6AJcifcd3a~zeV2J<@v7VZ$7Zwr3)AOh+cH@{Put95`o|x? z-2a8sH2t;PwLjK1N4dgX35Vu;jEX;>RF$U4;p9%kylGXh7y$ezljTc+Fo7q@w zB?kiBadL5A8xz0KN(oz_Sk5X@XbhG<@|D-B6qe%E#io@za{*Hy7PzYj9Rx^Noh8xTcHZER@qaKgrss$o9U^%i{ z%=0IZ9!kMxSZQEQXK|+&j5Zga0 z{1Q4?I$G~o-WNx$A=Bp)t_eU=6Iho; zBd&+)Qk3Q#6)s96-;ZbN@~)w4`*Eo>@z;z8m0rFNrIP1%+*u1Cr6lE->!m!f{vL+H z$MRi2ssM#&;rU2^j4d_PzeTqMfzv0|q%e$f;G9tTrWT(}y(?v$IcLhUUMZ=;P1oc7 z@%to=yX`wuSUWG6Bc@OX_6=W_a$EQy&&qnE_lY%458tYg;9r>A{Kuag1%M9xylp>n zGyU5C>vuo;haFGHe+UDtLE;P8Eb}r;QOX*xHh}xtbkSzX1X7Af2NyqrTFdw?6X2ZA zx4xLxo0Zg;q}SZzW)&RA@6}M?I@~)~&*AYfO)PdBCr4NWkl>KAFj?a0KRUU_APV6g zTb{MHcP-F7f3&t^U+Hr)Px)I#X%cYU7hzQeybIf6ZmU@U=9x>PQ57sKg|UxYgt)%k zT$}}>=STd*0*lp)rN6nyQrC)%Fk?F`SmVej6j=tbti{=0VG|}M_3K5y=b^YN17oyh zb(c`tw4kz>g$SoKEq$6r%r%Q~=CZHe_fq(XwHu2w|k;1v0_aMz)Kb?!x6D6 zZjE`HzIL5QVv&KOkYpTi?LdPmiEIh`(!AoI7gfKCau~}dx?29mj~;!q*Vm2C_pk^E zmwCZlFF|uCT?h`X{qrJM`r*-3HS3;B=EFjd^%Re}WA9+C_|h>&UGK(kJ%`r1=fuIl zaqZ7b!8^qjpHjA0fhlEi$<>}>l%V6^EPAVhZcBsvj*6doeSEK3m?}M0nsc7>7k72< zaJZ3Uo3oPS<50>S+ixp?RJeohDHRB3Q_svsh+%PzH`-wz=q<==g4?@!!UyH3kPHg` z-R3TA2kl`FRc{|o+vAu_LK9g0$t&HB zeRoF}tC2f=CijsaTNf(V8YtWmn_a80nD_df=_URDS<0FvMOldL3#XZah~Hza(iJ)O zS+{_gv6H5}*BIW8$63o>?W&YFEQFY^Ud|Kz1DLr^xxZZGiMtmQ6nL~7F+|;|kEJjL zk}H2Yg$ZGhb%Wq>!OTr7fB7>1ziW(V?;Qu6b7I?HS;7c=CUIb}5bTvO&AXG(keSkP z7q@x@P-ae)8tC}Q>Pc}cGej4=wFTrwFV&6|G?3fXT|bv1UQ;_^?KQ*}SRBB#?Q^i?qhtDD4P6bTx-YIOksDkLbSs4Q0^O;!uMHK@F1R70 zDz+~Eu6Q^1;C|H;Q1NjDo~g@kc+Xba+^Eo^wDEU0?s<&iPS4ANW%26r!SSAV3M|B1 z%9Tsw%ZptW_*#})M<{QJpI@6<@=V3yTqj?ifZC4IgGYn5bKS$yHnFXqS~!gL;VV)d z69O|<|7a#f_>4X6FJ+W5u_yZ+4p(VuF}vv4FV8<@Gu29SglEGN{M2$rj*pbj6ei?uB3-9fg95xWTaySRY;g$#d3 zbO`QYJY1rXJNF$-Z&aYO0BUWP0+s8R-yYBT@_Im~GmkjrKUWdqjD0PXr8|}@YphYm zJb-`2jQ1l4d47(^2Q*nVT`Rmb=~)Ch&Vof}kXwt76vnp4Nn{)NA4O+>@LJVAUmaZ3 zxn^4|ehI)OP>h?vSI>9cmQ8N{Z%ct-3$@Gr>60wp(Eg>M>3aA2PV|SY|1oj3V8obY zVY1+-WFXimqw`v6xg!Pk=t(m*ZJ#Z7ttG zvGh-&UX~F>c=#13xO2|avYeVN_$(YOZQD4 zG%oYf-T3|y{{OAdodQ7PKCj!iU%vX)(=`19r|I-JF4ia`*HM(ZA%NoW3HegPhVbWy z7N@K=CJ6iZo)xl@0#hcb`v+-z&1Z(GPgkZEbHXU=1MSp_OIwB~pcKD{b9*KRUkfJI zRx$rEK(ltt#r7E#=vLAro-31KaW%aImQKaxJK|VPL@ddyjpDRwzLO!6VaW{(ScQRS zV=>^~DME*{w!GqZN_a9^PSUfo$eZ7P0T^Ihg9)ZE*^9|ITGb2dARctAsgyW8A9yRO z{T*E|{lqkL4JtXAbGc0*SQb_3Mw2Uw^{3YZc(P^^9t>C8<)cAb=HOnB4|pW zdmn*}Ja+>AP({h3^vChWS7fK_3w+cY6suiW0>P(87w`qWZpzMOHQNyo>&G+JK!vEx z1QZ?4zcba*?1cGK>=tsION+~}pT5(jZykR6DiB%#Jp^z<1O=OY<@rbJ+dI#aOYqGe ziw~LSrMZ>;;7bpnr`Im3XgzpmLaTs%Dg#r7h{u~Y8Ac?5UlmgJGq!nNT*F!7vG}3f zRQ@{Tz8MEYDZ?^W(JA(gATlM=P!;4vR}TtxKzhacnOB<);T@D9-T4(2;(3@ek&DsB zhlkA!AbdKk`fvyv-P&Uge)`ELmFE>hWEpJwZ|qMoqJ3K6){zjeq$eZ=@Ii)6I09%3 zeaQEvF(Ajv{$h-;)x#=fo^>(BoH0L?7oG+0=d0JVH(~viv0wZTbmd|k0yHy^A|B$N zd@t0%vxW+h}cLt;$RBf19uQtDj3xI}iJL-M;z3^&kA< zpS_{uero}+&=LYMEL&8Q(8cQU6yS=(n%4<~j*t9eyzBsZE_g9c=ms2%bQ>-35k;aJ>E2IvvlIb7qRNLbdsY4``&fJeym3CK zwkc%Mc<)qZn6$574-MWt|1nXWFw<(pU%d~&pLxQtA0hMVq*cJ6HbgKhGobecAbH%R z`|a-CTU^pipkXP?4KAAZPRm&Lp*0jnks3V#lM6U5w1eT2dlsx)-$|qyY4JxFyVbfolL;w=O6B8&;u8QU#Xy%T z%Fw>NV+;$Vv~ujQ_>Fz*^{kZaZU$M4Aq$m0W3$^pYFR9{)gm@A z8!|t}{kfj!Yw5C;GhX^(NO1bAP(-xA-G^t>y?W0z1>%ijIdaO!sONbqby>n!*IG?t z4#ZBFQJ_~r>ujH;Kl-_NcL3Ym_^~twPCNMwrT$?R8^-y@6Q?Tz8{jX>lK|l139And z8)LxiW6{owbClNFafubn8i4X+1;8;DY4cL~h#x}y!-S`D#Jce|FeeleX5WwodwqMu zv7>kq{hOeqKky)#)$%x$q?A4SzZ(CQ)jplfpQm3lO8CDphj^38-wviT@9@x7{q$N^ z%)*&$JmWK{g6ZP}-U5qqF<+U(*We?-ubd{pedC>93$ToWeE{q33>Wf!r2g>^3ny47 zM8$h}UlpM2XP&|hfPyC_He4uY&)^kUi&@#(pfD4cXRI)O4ST3;qa?^KgU_V`z$E@W zZ$I%vU-@_c>C4^Uf9~La0&iazvl?0M#p1ygA`vXLE=SgdcxnNQL`8)FE0F7jeCArk z*|Iz%c6sElZpJLo+|}jd1OB6p#)(hIDXaK;Xxm4oSx9~Er?za2a}53zkWD3WCAi2% zcCJcg3Q{F26GoR;(wVjx>Lpll>=0`AJG~EVgf-%|o^ZdewIZvM6&v2+WX#TXuPdGs zr$WG{(VuJSJvkrOb^20n9ds!2otgD?Jnb3Hyth1|Ye=mhGD^yUNu5%Yk$vEQa zUJqgJeM(77z^6#kSNFOPhbJgy_%!93+~;8mB*cA7{h9ZTXAcu$f32)nAI-42>xUT4 zDj&=n8Tb`xVO_UiuPTSEhSlY%|Ey@&7D+}3j ztSS`QX%9pbNwP{dS@=SZ>WGhELRRN;}yU0VU5T)$k4ElUgvX}A2(wh zao-ep`V$NJc=pUzdYi3yI>*KQs^Y|0KMr7Eie3B!)g;j3*IR@V6tEcunh)=~IDJ6M zoy?Tu{Q60J#Xb-$6uKT_1|~BT7Aeu#(+sEM`6m}0m3U45O??)8&GV9bE_U0Xsc|1fCR+d zhsFosOz=o zm&x$nt)w?1WEIdTGJ)!{c#oHYiWV_Ci`8shJR@V$y?GnYeF$b_dMF#>8L&S1UYb<# zxfH|F*s3&EfvJQt3r60cfNO>Ns7DkJ1xGsbA{~UX}q4 z1Hpc*K|CNT4i8*YWkCkJu^3u)P2i=aZB;5#wuamG!Bon<#hL zR`Cj51XAT3+G*wu*AftyhbMMRzK?6jL9rf|I9qeJITFxysq|%7py;9$HV%4cmnuGd zTDNk>T>?1-U1YjD~SdfgluNH`PQTH-lvDkJ^HW|F$Hi^~B zzk@@7a|>%2zv9}Tai#Ck+9lN)1NXG@ejLxD!#>#xS6Ka_rCC4(^8k_)QLUzbD=Eo~ z7v{Aq6eKK3V=vZ+_kjh9i4%`Qi0+d->!EC;KOXn4cDf3ZfGCbbxywrNb6g0tnC2MQ z7cI2ooh=0n$DBR(^>bmB^CxDtSkbU(baCe%3;@>grHh#bU80zj>VE zn6Re(rvn+TS3>VjN(G8v&&~d72b43tEU*-kzf!d;m5S0J!&Z!Y=DMUGMU9Im*;y_* z^gatZ*GuV25!G_lojb1O*jxq1;yxCsnyljxSQWt)Jq*Cgv5m06iOrBP@O@5tCs)-WjO-vZnG5@$7t${qez4yyLTWy-G=ET^u2hLYYe- zx3!z+bFsUTK74vo>)iU4SV1r6HmRVjMxU_$>Ghj5EX1DiyuUoJ=l{#kwE}>^`66t$H|t+M zO{c%tyvY0mWf60LSzG-{+~XBYVgHgFpn@)oynWrSS$>;yy>}^!FFTP zX$dXUs@kx$Pxqrg3{U9Y@b7d+@~^do3vU#cCKZw`jeT8BfR);Ll*%H~qrmh!%QVF% z>GGUX@Qw>>Gyxvqhy^PChDrigS71>kGHb2WtK#HbPvNV44j3jy>XBOBV{vEUh=oq& zZznc{^8>+g563{1v}GdfO3CW~JURR?S&(_igO44yH5PoXi510lV_&;JhbR(iWv-Mu znWCf>taU%B%(1`sA0Upt&E+W&@BG))SjUN0&O^1_$McqwW?G!7Wa`3E%$ApbKQEM8 zW4&9hEk8U=a8rH7SoOSWF({lDq)Ep`*;N%o&Pmzop7d94*T!bt1u-2mcQ&ha!hAk< zD|PkOPniLEgu-=Xsbh_X4+?n4ITjsyZzx8rJ5_i@`6`W*m_CXTu3*Lj?~2Wu{vV7n zx2eM5t?l6NK|-8C6I_N0>jKF8-WPpJ+xRYTh6-Tw3`2+Z=9Np3+h30DcrRE-EA6ae zszR0}TLHE}nVc6DIc+H2kx>!IGs@^vc~g=Eh%$arG~b-PCWaokC(48UVuljq2W6VS zx#;Qp-dCl`X=jCYD#lYyfq>Sl$x_OkqayaEOsmnpl)=15)}L9A-JB74X6Xs7OYDxjHCmPQ;IO)gbJ1F#^U}|totv%cj9HsmM203@e9Pk}cKEo_U5AUk zG(6ed1jmK;FAE~loEGTZep}zk=zH!{NX3|~$I;eGM^~VO-ycO$53RkhK`@2l$Ip-YE^N8v$M;gnbY*UQe!WI4zLhsN7rUD6Dnngod?FWVQCbq%R1Hza$S@8r zrt}+&Vv1G^FV|4`ITli8U9`M63M}k&qdI86dEfd(@7dv4j5$jyfa=n_QoJ>f2iIkR z$4wj9uaE-oE1XDzKMQ}MWC^~@y<4gye^c@T(IP0`pT|;+c3mH3!=jSsX#AyX}Sy#xXh z8P8!u0x?GkjIyBOS^8$yvqnQOazw&7?R|LMn z^^x%8dRgJjNyZ(=W~jI(uZ92>|6+bT<1eq3^HQa1p`4W|BvrAM9K}<7@cu|~WPASX z`9S_hZCzavLvJby^-&6D-eksRb1K^5Do)bR8B^gRoFf~e6Y{mJDaj|J-s7UYw-x~OPev#PmYn%}hKqbO_sa*DWw;!|e}XgA!i#v{4@+c)o~LKaI#tK6ogY6bMlot`zk zHC-&EdJ9O^5;;E0*AT$*T@=79Tr9-qh&yS|b>ttt)+;6w+Oe8E0)IWY{U2O}E^*b0 zzK04pm$vodKeN(ggzYfY z@Pxi$H_s$kYf|BSF-k|D7yU5~jCsGD_s3blbvQmHuFyq72#cJtB~zsqJTdPZNU5+M zL4x0CZSJswJ%;}Ay&O+^@&pO>noUObF` zRtdQ)>xF&`gb7~4^z9?u0?!8@gMiKVNBAXNQ1AL$qalyn7}qHne4n@3P(A*4rZ2#@ zWx@LbZMe98aUK+Z*UftU_vQZpR%W-Xn{2rZ9VEtN+J^vX(5Sg)>F^mAKi6=v%Tmhi zpLZa#oYS-l#KR;m?vGq`(cfof;Z{B%C`((^D-oH_(M6BJwxpqymRLY|a`5b9ME zW6~5mV}S_gkVj)WmeZ`TV$xNmueJgV9GeziZq_^;DkoZGO!^kWNS6}A>>tX7DRo*+ zy9G!q%T|TT=P=AstXJ2&X_)lQQ10TSuauwcUzP3|_=xvaWy7s*mCh_4wcjanFxI$YHJOaJwW8Lp8(4~~s-x4F4KR*PL zV^jqsYc<68#W{Q-`udP}!}znzlC+`sD7L}-XLxh?2yB`6sCx>gTTPtThcP7~lkAZxRA%EmQ8BzXY%uT-y0$L^ z@>0pNc((vNm0^CHNu)kJr;2K@1d78m6)GLUxe@R?;@F|&X*Y@yOUZ%)-?8<*Xx9>N?YaT!AJ+TLgHdX<2WvO4dpAw2O~f$RWzHg>S?qx;4C z#(5|(rKN(4;Mly0%nPo|vEn3L7XlY&c*O@W+8a+mER(z!y2|Uz|Js?>xWY+tU7qTXk}4QDGt_G;(KVJs1lc zr68Mla;0mDalNcgC%e?cEdnwB1sb#f5f!?|KtC4}I<2PF<)qcWUKy(&3nUhi13znT zbtJXOZ~*NpB@uv)l$GmP#7xtZ^^Q9S)nZz$E7S{-yHXG zcCK3$8Ws`}|EJ30@|>T6#x6tvV{ym8*Py_x{(&myYC1c+!t=)V`#%Fg?t~^ zSm6!R`6S%u|fpZYe>lm)4}=mt;*8=#M)I_Wbt-tpO-O{f=k~lIU6dvR6IQF#ux`Y zC;PFm>61cf{N>oZCVcN&Y~n7=-)GG6dtSwBfQ)afpeYFSl%X;D+%VLUccB2Erht6` zmPZJZwSn`%Vid+=PA#(!_zk5Y#!0=k0~hgb?yq0G*lyo`VH5zg#V^`6_y2$M|MN$m z{=#ZC{Un`VHb9F=@#1&qm|%-nXzhf-zs)tXZdpFZy2(g4SECb`tR1tEh0z1+RZOryxC|OBJWU zU|~iCiRzt*3@7HWl#bJxmUO$V9)-s|pBEEDuzs+*_{1yV`_o#y+FZ6sb7}fyNpMq4 zvhmSauDw~^A@fx}7nR(yqEj{^5NbiAp9^ip8E@eutxDpo3HGYU#mCO^xM%Ueq|B9- zAkId`Cujd6Qp`=f^_ENAj?h<09MC&f!9~v7eQ7A1cL#Du$))(48lB1E0fDsXC*IUDTDD8TL zb}^t@M?nvyW1HXOO+dkEoKqC(7K&BfDd6ofyt~Lckg14JmXKK z-v+N^*3$OXgrghP_240Isj9qL2>b5I{lh-*NYmb)s z(X^IQu*P8Z_f-}(?PPM$?gS!jOMvFSSAp6q92B;vu6LezPVRTR-3+)P9%+anlzAX0 zHD@P0o(lH2<=$tXVTOo*;uhC}D|N0ksH~6LTwiA8<%(0_9nF0ozX$A8Sha{&cGMI@ zKatjG8S^f^=Uz)`EOdGnd|xV=BJ^D(Wd3UL0+?5br3{7^Z0n?(K3GixU7ad=5+R9i zC@UqGc-Cy?td~|X=jkPKfxpqZu1~Xo$GE8)nn->#As$sMUC^xrM_fPeOEFIsoB_uA ztb8(Fnk?bc;t;URC#=|V#cT7U@!$%jl-7%YBCcGvM#71@1C5k3JKE6W==vGUPfC&kV0g3}xarg)aMvRt6BFnPv`a&dju9mlJROnq7&Jii5W zP1q+~0>+k(IfR|~4cENVRC({4bK2q8zV@}@29Lam^`2Ne0J=(r6Q5^`0Ee{&qkzAG z@yf8e_WPpF#kC|xcXt>ZSoJBIOU?}xl0poHI0Fn<&O4w!_jNlCc0(YUgYX-8Zqj-{PUh^&Ey`AQ$J_!)DN->$Fpo`lEhc-NBSe|7f2<@*1^ zY+KxhU&QUlzWMC_<2T1&m|yzeZU%CFJz>V*iUFZbv#?3nv(ZI$W08|3liw!N9vS%> z1bnY}jc%!{tLTAqgDSi?PPVJ3#BlGLEV?2m1=bO_Fck*Zn~<-S-Q?WBWTkHv%jCOp z(<|Jzr$C7e#9Yf-s_XM}pU6dZ;&AP<0XEarGXsiZ!K!9^N`XQ}t8UyU3q<6w-&bDW z;w=~Qf3ql50vAQW@3`9ayyW6ux|AdPpp9BiW-sV=_xFUxF2I%h%ASa*$MnsUE_2#l z+>nV|NF?Hxa(;C^bN!u+cpe&v6R-!1Vfptclof3$C5z*;JQ-_cIuN%NSF#}B!D0w+ zL)+qQusYj12C+q!!%@)ZxxdO=&U?}REJwX5TAmeG>Df6RE33tvacK;+GP53|0IEc> zeN<7MWr+tR$u~*-yVyX zeF1<4*E!Ehhh-n$FuizEYlC=C`J&CZz7gbXWG_72-XuI{W$M#$oj0b?jdtOw}(C$b21-S9*EtWwr} zOm$g|XCjl;ndrw9I<~6s-QAxFg=Ed6P5idBRM;!=2Wc(`t;XW*>h9|ZJavFHLns33GtfPQ%x z658Pt9R(C>(Gu{?r%+sMbRYoTQG{xR;7$Z zl58yfNRd5)io5xMXfGW+J@ClPq47*tMxDMa>ER~W{HTl0Vg>=kY zz86xcHbM#)mVHV+=TiHEaVsIuMr)bJUSua=c{8W6wgb+|6(9lA7$3Zkyoby|D3ujf zf}6QlxQz+~9S&QCkX0bZH8L7F2Su;+KhAMnokraO1-EIa6-KK(_u71gghzgnOaSqokgb?XdX_CJ%kD34B z^ab3u4E8VbHaGuQ|6jlN?Z3_Gbo!^RO9x4t7pkcy%H-c(I1s130`90w@i=*GE_03- z1gBeHwEw(SXW&>Y`W$oTm`Md9q8b2z!wHO_h#~C60vmx2$DI|DP|U`u;xk}T;CtZ1 z${Xj#N^s^mh+>#QSsx@YBVh^X#U#>0A<>LE*w(tIpR%HicZ+$DGa;g-mHjFqlh!}y z^9(-QA?sndd$X;Ub^H^y#{%6hE%lD zeez6)q4}Q_#^d?AhkeGvSbNHbNTCV*CP|S>2Jfp9$XIH`ii`iNRgx)&0hAlxt-?SkX@G1!IVPd?NG71C{k_-2)XC z&fTnN%b*38Amyo52bneTwZEM$(f4%CR-|dfYd@K-(hs!css{kbt(Y+9_Fh4IgUb+K z;20UtRXSXjcp$zMwXFXZcmC$S=R7`LtB^|}i!8~m!AtTGzQ zWnKalGBPNvFgn?`lqNcdao2N{FHc)gdg#06gLc4bp_m@ZL|WjT7~_1z|GfYH2jjld z*9WX9aj9|>9@5-78=vy6yJWBI- zLLi1AWchOrF+cgc^a^>6s+Z!i8(ah_p4>n0@qc8VYri^uLANan#TR@-tNyw9Mg6Ug z$K&5Ly3`7{6nh;DnRBn4{;HuN#RKPz-%4p?^zq$vGV`D#HQ{=>J^5_4oXSUK(l|LM z1?x)pc=5{I(lHkD*EsS{K@kv85S(DdVtq`Q;_i}#Xwi#xn5?d5wt?OPT;}YPzF5>d zR@+Jv&VWHi-D6_ z;-96Z$g{C=PAOgWZLaAkMb{Q|8uwWiWr{Ml^eBFp$15PnsTEL9|ZuK4!vT8puWIQ5`C!gI#llyW^#Z~Ix`onnk?#w_(zuqFu zB4=3w0z+)qU&Vv@BycP^slu) z?-AEd`KZWN;{<`3)ynn8yH7cfUqt0a1#rn(QHY>&&CG+aLGjh|R|P>UR%_U?LskGG z0zwO1kK-j1l6Z;vQz>5V^Ku5rU6>ui@2w>$B32=M1xQejB*!#oU%z@)l~1w^R6GZp zW$ABN%>V-R)U*~poUt>d$FhM5;kn7uK~ZD8RW*=v*;kDZ@F^)?X6kH);-WF*8lG}^ zGG!Obo$==X;9|tWEXaPM1ebv|<+Ch^(kJum#j+Uh41MZ$`oGNU*UwE~;BCtS{Keg> z79E%>ki5_+VK%PG!4>pXU1a=O{|y?rN+$)58S1)#=Ujb57sdA;`zPyvA`C)WRYND47n~l zoNjW(f3e+Dx%G2=?-`bC`McxTT=?aZ2OKLbpsRe!daU*XAD`J;SCK%d-(8Fg{#(jD3t1 z6}QzO$12?nVWn02d|0riipo(>U)0vZXMpY`0W>b=S7;JEPP`oVR>Ae0X3@haZUy^#E+FpfSgEw}MjJ(9dIT+e;1jT`on zb?|fZ=l}ABRsg>J?Qc(C@GU&Rf8>+5yTAErTKyXX`3+b1<2!{YK)rc?@%+shl$OvD zxHjeL4V|q;Z|rmYmZs0~3gMkDUqOR<8IC6r&A6x;_`@>493g-uaZZabeArl;#c3t8y_2rsKn*-N%M_{am!6i%0uvON)q>o}q|@91H%GU|a~q(h4J`%-i5I z8`_BkX!&U&E`(AaFgB{pSAmwXX{|>jl@&vOs^}PYD3nCMEr4`BbD^04jyeF<@RKFWGFc6C8hB+>22CcW6VZh;8iN@ zg9mKs3DTQ%P5+0<;4@!)&T!bip^v!MFU+6+$n*u@wm2_1&Uj3D6(DJ$)6GZRtjbj(qK7srJ?Q>X;0u#zbFYwZp zz(-TraHC$B6*27THI~FR_trv|8{fDdlM{>R3>v#S9%pysa~FT&|GJF1%9*9_k;%#T z^2&3U=XMobh4OMCH+XK})#{4xvHf+<_?uTE>ra+8OANbksfe&yZ{cEDgsA&6@pWrU zDkAtPAe1RYQAM+ujP|iZD|OxCvan{T-e_T#NJMyNRX2-$E&>t$Vj)SwvddCsUWD0M34yI}?1Z%54o!zxz_5Yf@l z6iZdi|L;+zSj%lxm0KUzSgnk=!bf;1Xb-{wE)B_+oCo~H8t%DxXU(ytHHeiR2f#8t ztk6I?`FRGa5=c9%?XXN=i%vKTpK+iYd9B;O@KXv2*IXXYe*R|B(xoF_ZHs&F%d-9WH=n)y<4^8?_H;V^jknv? zUx$U;c&RTwe(o&2V}vN8lXFjsh~A|nSj~@fIjMy|%Wf~S6>XeJWeo2Oe7lk*OlxYr zVsNpz77vrKV^M@+k<+c)iyZjl*N6WJo{#S%e9zTx|Z+mbDLXj@LcJz^gPkO zS_Tz<$@5SSd_tsjsD&j=ALrq4fsooWOON*%>bqyo9ZuVMMhSxik}c|o^KKQ^rD|cN z?Un#E7pdC9f>|x~P~Zw?pU3xqI#rBjEMmodTj1J6;eRI$F$%1G6?c4~s{~bf?MsgM zEO7d<{-}!F@#Hh0I7W&S-@>Ga^6K87fk_sudpm;Tk`#x;80 zp1Hnnqb<4NE8QK!J%P{`AgpYh=EQgQ%krJ^w@je02(+y*P#&Q?1%)TNW{L!lRGC<| z!hp3e?19g~et$NERs_>K7lO-~? zI*!A;GC*`}tZ^_2UQl&#gTkAjJf4*tsi6aiq9{hVMo1u@0M^(PT>JVk1M@x{0+V}i zKdzC5U3pzThnxK{XeJe)=H_Ut9+?SHBLch7-ZG3+ACyL$M=gbo@1~ZD|5&WG_Gw|P z6vcqjCzbH99%l;o!TIpp^K<;{;dp%crBDEH3x1ilZ+zwQfBOIagO7f8z25x0m#Fg! ze;i|BlhRal{30gFWX=K)f!jjTHmpSJf~yGd+fkJM(To6Vkn2)&k>pyZLlmb&aI>iE z;@AD^%Ch#DclT#Noao`>xUnp8+&?AaaDn@j_8PCpr^TuG#zUTvO>rmcc2M z@c3C2w)dB6+7wiU+ablHYHeBhd5;ocoWi~sC_@#;;lCs@%9By1$@s0fXh{APjT9s{ z7QgyI*Q)K~%J#=`5oh=5>7T+jR;nvJFxh62^<~I}pYWM?vcgdjFC{hCe`BtAeXf66 z^EhAc2I0>>$enJq#8Xg0?dM5Ipzn?4V*TgNj}|v_p2&bWx8KKkZ;x-eR^T%;Bd#5;;3OU{;6!~~EXh-2RlnN9N*6SxvQI;-$cHaFzoxUX7 z79{wWZTlPkb-wxU`G5cJxBrH-hWW40+F+n3_|xX0^t2k7?)Vt$()?SP5pFH&S$;8X zC8$oh=CM4dgy?Rt0Om=EU5*K?tK0Oui-~=nv)>)f%fFbfgZDxKaHjX&q|nTR(exga z805EzcwCy4@ZC)J#72pkUCYs3)j&uJ$OvE(ZdjC0roqU9C`%&DVEe~CoCZF-q(J9z zh55y+$+#|va<*$VddP}&6`oEkdP}$cQqwk7Q7-&*saz)KzH+xs)-1L1+?N&_?rjv1 zMS+rYI@ibt7N^1A1kOr;*0>%PfrUlxLvDBN!b9V_SZ$R{=3SL;HR;x-ze9EhC@s#f zWnD?=>7*5LIQD%g2!WmGy9AwXdU@Mf?KTjj5GzQRcSr45A|_*=FB7HsX|wSnRw@#wS2Rlz__p z29jJ_+qUCg*Lz`;;{RlT7&_XGa9Cc4QtbE*0VvOg*(s)Yo+1MZAjhuoNR|%Pb9Gi4 z4rU8*{%)sIdF%WOc&kUpb{)mEu)d-wsX*N`wq+4y&fZ;_+L;p1c`0itj!S-!D1l@3 zLwQIs<#)V+yc-n32*~1Q>HHU;zWAkSn*Kf0muTDKj{OpDl=b{8r_#0K%bJGEo*@mIOs4JzC1_ z-)v2V+mHu;GT(kBaBBsgeSI+5mWh#W}gnc=ihV5Cb$+qIKMa{L2B@DhxtD zmq*QF%4Cn8lQw+#)pJaLQT;8dS3#5(X`yXAY{zB+tPWG|-}3*@R+(7_#0?DriC4&4 zb@%HOQitZ0R-9*ZpaEW_I!dsW3LIBJ)jyf18Y28o_yN!}>)l4f=d=+#h(bvl;0J&u z52K-!36rRjB6 z_+T{DIyXHvTnyexj4|4ZS0MMkxDFK}vLHioAdS zh0VqGubjSQ+ZJo@%ec+&{N-=|{>MKvFD`%G({%cqEfC?c0H%GqVC;5$&n>6IV7xR} zs~1TtEkux4b?I!U}z936{%yIE(&a;!uz0^ZK_yDBBXrruHtc7;_B;+O?} zn)b(sII-siMnad1Et2cO8rTyG1Qse+I8NK+jy4+eEhkqH8-mH)@#zSXy6RTC!g-FU zQ;(+30rtz99hN3%o)?2@K}NLR%LI!eMZY!Q$n-Z+cxNv~We&;W{${z9j-1zH` zjUkdl8CxozN3kDo1S-~Ul+g0|6K=WWxlSI90Fik^irL23umm;AI5^)cGMD@PefOzA zO~;$deZ}*MoR7F^>Fvqm(^ee4dBA5{8%jZE2fRmX6^7kfD)TZUNL!n!f|Wr(%#(z5 zALgUEKwIW(8A2mmKwofuj085q3H(-e1pUYJ_RhIJAB&Qi;+uy7ua?&bAgeO};RhcI zJajw^{B=Y06#hx74o|Ic%KerCQwasMxo2Vfo)U)JrLA6);h|I$ZyKQn** z_s+udHgHfyJVq|;!!e)^za{k1x^*E>o6iIYXDwXN0l>Cn@g0jN3}ODiip;K9;WBO*+ z=yiRg;IKHZlDNZFDN)AWg}KFaeEOctdOFFikLFKbUTxNAG9E%JXziP23EJ-@ZqYS< zr6rJn3$VoEoa>w|VT9||c5F@CI)lyZ0tHevz_EyUKP(cQH+7vwetBtSU900v!} zjvMmTll--qqtz*Ma#DT#3 zPLauNtrd7zWuhauT2|q5YXsx6vx>{!5;K$bXikK8$7V znHxAaeq=x?No5wqZ_mcLgbWglWtvn^KEXkI1}BH0x|F}6Ojrx!Vzzp}a;{k*Z;0sr zi~4W$0T%GXQ(erQ11f!hhV=@JJ|G)lRp@DZPu+jq@dzQVfwE>;Wo{Gi5eu7r2z55B zTq$pL*YjKNv9i;p2l`%2nPZHD1^DWRUlrhIpJBj|-GL>oz>bh<vMYqg8OH^+; z-#*^iZgcE!!Z+X<9rNXMN{O#15OW!i$1T?>E44%E=apR z?*e;e*~)ujd99oXu9dyVi5&D+|&v(7vdC(yfe6|$F=jG1SD+H7GNeQj^6|B#aC`D z{z2FIvC^kIeoKJW7lj52cO={xRX8KEu3Y}KxABsNNMEKjV4Vi=>wGreSsn+_?set1oh(kWG zBJJbD{=zJU#2AlQy**4OJOkdJ%+XVbFZ}TJm-2eM`{_Mw($K$^+ zBA{GOXqBclezLE^c#<_PR7n$c06To>cB*!c} zuDh7%2_E_EClw2=T3xeQkt|kuS~#psgHov?gVKB8f~R#kzH?XGSdppR?=5JY8(%{% z{_$=L9Yt(1`sxrR?^&qsTlh*fN|{`iYR&`FXIz{1`CD}x9B&a+osL@nx%#(@*mvQ8 zDiE@9jU{-HenJ7{`WzfDd+!G8nYex49LACsx#7eZ^m-3fQwx-aqQsagmYdZ^Kcdi; z>t6Ow*Wo*D<$hgr=@}55yGi(V?y{ULeUpGL*FWJ?cq8jSC7I*%Uv&}p{DpH_Q> z{xQUa@WIt>e12&mS8!@5k_vCrY72=lKDdreKINUL)<3&^cL-3&Ov-^u@j&4V^fkP& zO{rCI>Ya>fleW?y3G?QMAH!T`bqJIj3WG}HmUS_MU>^K%vbDKrvBkE zngRi?({K^i(cQZLNM$n@7~`ZY;Knrht}rkz3|J3gnf5V`J*qYD_G-rn_WSw!&6BI? z>zgOj@4uWU*kQJ6jR~^DgbgZw6O7!$jFkNgaXQj;J(H2jj!IHmf-{zXckN>l%3PQT0n|( zuaC!wcOoH4sGJKYmEB=DCE@O(8i~wiC^78kINQf}Q!44Bih~?Y>ukK`vL6=AZhEB6 z{II|?9CKeTkn-R-y2fer>GK7ksjz?oMz2G_!%8mK-&xC8!W?&c)H4vyfWP!%Au!G> z#Zjz+f~IT6m`9(-n_-__VbJchnoCb!s zj!76Z{uy`NzhY6`r!g9FRNTOGBd_Qd8_}cV`pT0W$^znH7k$Hgp%_H%7`c$oz0aS6HEIVUVlKyNY z3>p@G6}w#Q)>y*`NZj5Qp~-rgj{{ti;G7f?EY6Wjs8K8IjK9sty*}Jc7u&=1H~#DV z&@}!2r?VGeGyQM>pC3<$(`wqT=5|b^2yTY!@9EWU`kVYsKA8S?fBh%Z`%kdEE~n$_ zZcr1iN4nj^aBba@s{nj(^s+(uXR zJPEH##aYB~7c{;S#gx+>|NWU`;N5VqN(iLD#Dy3Tif}{mo?b9@(-a?cm_ za2W?IDi9d)y|THzZ;r3TZ-sVv#>FwYIVak~;*xut+a)}5t+Qy4bS)XoUe5~J`;q5p z*;zSmSY)E0b-BVWnJXRFZj~WvBYju_7X|A2Ox0?C=7t|YPZb;PGv2E)Q~_qgTDxBd z09|mTABNI^5Rqpccex-o!Xfb?@O)Zuwf_=}D@&60pCW!KTO*`D?>$cU&aco-^umh|=Pmz+@K50L7Ym=cS4hcsu-=rhaSlfa zz6)H4iycy_J3>ZxzO&r^OAdRk|MKOFbB57;U)pL~BsKkI7TpW-L%5Qyk=KfM6Tpv< z40wTgNBawFu*-JBabb9+v`oIE-c`Ve^^EXWw9w4E*zn53KaaN^VFvo3`YXc%=Tg24 z*Vu~o9N&Awu_zT>U;5{iGII*?5@Dc)8G<$$4;kwia{{kG*PoANecQx1Shyo4wRyp@ zjrCXv8-KoYLumh}`QM+OfBVBPy#hc7e7|g8`(XP&`_pgV{q#Jjer+BYA7V+}-|eI; zHNVx^=1%my<#%`Hx1Otc?M+!qTaNP{fkM2P2|F}&$vDPf@^}Dd@vG}esBS)Ke<~Ow zPPU$oyT@UnUp{W9A9;2;y?8uLf9b22)1Up>yuduHhM+#|?q<@X zRSx;e-Mlbd%-7mYhjXdY&3RJqUHsJCFE(RAA2kz5y&Ly6-i!jkGwS{pZN1x)_Gj@R zo&m+?gqt7Cz#bQ)O2b?3bJ(4Q=3VJ`WkO^a=Z>>YXCUF}B+7TcwQW`GT3eSK7ltlY zV(eBq9I?4guJtA1)Nm; zx?qZ)0MU3DPPyMl8eP^m!awU%3mgEWF7J`9#Qm)N_*jO*nR-`{msV))*QJiDw0Qb5 zYaozf#a!a4;22#0S)E+7bh7}8SEgZA5fSB*bNP550jK5OqaPgXhpYwKY97J_Y+~%esaVP-tm<&x^{~UVtSTx4qoQmOc9T)zC z3~?-!`-i;<T@# zNSfi}hRL*%o>&491c8;n-hm$9=Z>{Dw@7u}hEll>L~w|8UD7U)TuW5HL`0^c6)%^2 zA4NkdRTgm<%mna~|G($gEAdzi7HfzjUC^}za3gXZ6qsC;98!5+m4hKXRCFG+5b3|6 z(CB*KnnOP;MBKl0M%vWa5>H@XWMLYo)l!cEu`#Dxy?ppcTHZU4A^T2ud=)IUl*&2h zJQm$TACgYRKv}b_;8*EbOW#gi9*I%!tH-~9i8(c z4Hf0b-&u1DZB*+YkJRhU8@z7N3(Nh0vPg*KW+>3P^urr)eqq7tJTNB-QG{V>JQe=? zscD-2Q&ZayJOE$5?I(Wh!@u~+i~TnMV?dn0=Rx~#9u~TSKbLF+qAGwf{}n$Bd?RhD zRx&_9tr5V2u1i>MEl47VA6YOqRj-Q{c(#a)S8*JZ8UgtBZa01KY!9$B{vrg>LY=$b->mDdFko>SApoteT-YZ`rcz!?pQ{hcoo*o?=jS$#y4J!n zrnp8LLoW5vf;N@Eb@d_#5zksmXeVRwz1H& zhOVa{YG3Ug`#aVmQ9eTgoo6jPlO>sVt}P*2J7b$`e;F>FAFhBlEUQ-rAUmDgv2y%H z$b*F~W$Y76FE8)Ky$hvPcLBke1smn@r=Na0-gW#IX2=}MYo{H<{a*$Fmi|hi%ls@X zqe6*bM!AB~Zjzmk#=bhe=6b^u!}^1gw#;e?Bv?2!LLRaSaM#xljFqqxlI&Q$aHoP5 zm;a)Vq!;Fzrd?KonroRo!1Wo&n-TJm&basU(Z?U3$+EVDs0ay=4jHjjl*Nt1aSrPU zMXLgIzBw!9uTQUAd%7k+1Ni%k)A!M~<>9{{xBG|VPp{XTZ_EP!pED}$;c}itd>3;b zu`(7P{@(2>Z;OUHwABg=?Wesi-t~sM{2W*6io)^CqPIanv=}Qajo%tK6dnEWcG|4B zroBDlTDzV$cQc8_X+QnVzkW4+?bFBUZ~3?Q+Vt1?*0bq@=a19o>cm8_01?*cg%qmP z@!#*v|Bj!XNwy=G8xoDPi+;PkoQ}q0=RQFo;&L~B&G{Q*?055dBLpDX#~ymxL8i1~ zvQ}tFs^Ej*sjLgO7A4LlGlGTF!Y!5)O+(-2NwMa484H&BTyQvq*3T2O%>QqqxA3R% zWF5qxUmm@=&r??Qc(1v*12nC**nRKoVI`EeoV(lbkiz7viqg`0H*8RVlIpseY-aB3X=eqdo zRcvw!$amZEJ~n!=#=Gy`;Yp&cg&yKBC}dL6nwals6Z=Yq16x49z*TSM!3`yH0nH6% z;&QW@i}QRigln;S>AE#+F3;nzjsCe*Ipr@{0+eyHp!T-OdHX-84A)mTlj5AX=}mF?;aWD#u!)ExE&znw_^=50 z+}9j0smx}iIWa*)+!ymx=oUjC0u)6@fjJb0k(0eIzgSPo!bQy{N?nU8>tj;LaD3Kf z8~|gHSFp&tuiLpQaL3ZJ!f|k}A%=Ua3ySB^nos!oOzQz+2JtRVh|l6c?3|DB7#C`$r>+gkR|?|l)a^pMPpp5VIcr8DBP0^gFV2)?%Z%Y z0>-S~$vDAkt^{q~ia6x?jpyeHxfVi$8UoBE0BCsyIX^_X1!f$R(E%@t2mu5|5oc_f zUc1(#hUNd2_rHQ*)w`wZ9)&B~UHTXrTdMSNeT4H+;9k9cjXDg}^x-tE{;mV?a#X`N zTzaaWwICQ4Qa1rdOd4rPT_lI=Ndd#aLTk>wgvHD!qK;C{DuSV6v7MgG!uLRZ|I6)k zda@Z>_LHxDWu*N)?B-nmZ+$TCceN!vLH;$1)|D>5t#tv4cioKzjJWotZoo4E(oQRw zcI0-ClU$B}7Z*V{54-8=mWlJof&}VbAvh+sRshdiwK-yjp}6ZOK!>@XCl^!Ni{_rC z?ZR+QDcYUsP1`CjOJ7oGh5t9j;P3Af23UWzJsyIJIk7x*Qq{uD4jK>#ls5r@zUYSLg z_Kxo@+@>>~-_O>*;n~?|Sy_&?ziUt7f&mC!X+a}A<7bb+r6Mk+OQvXa|1cyKTOpKH zScB`NG!>?iAA<4VoG3l?J23?1*0U9ME3dyTA;U9NyoElU&Q^1wt=#!srBq4U(N+oH zz+)+~Y`fSDSBj3j3AWecN;z#~{&(LLLBcM8@Z#_9JT~TB6&tyBq);5gdrVPW8HT8Y z^s?Ai;jbkoVyrK1+*g6@GccDz#V-kvQ2wGkPT|`xT>Fh>F)M~S`O7gXcphsegbEdk zW#m2q^U7k_N+QH_F0)yx-j_l(&U1cm&mn}Xp`ct|p&)BqNEwV$D6KH_)69fN&Iy~r zU*5<6WWLu=y?FWZ_onZ|Z96~s^!>cuTulF)H;)%Tb(&6pZZ)m`CRok8M;Ej#%6RH4 zCCp$&7&buF7B(Fh8oQXYDPJ3`b<!11k~AaXRd@1n+hu9mdp|cdwj)gOuiR zI&O)XvDi(+YjD_W;f>hb!+OvIzk74XM3kNG?V+?R(rp0DFd4@+rd3?RPM|Vcm&l$C{~zdkkiQ#rQt0RR&s6!c17c7SD;PhgqY3 z=UBZ5xj=*M*B|^}&UbP8CC`HNtCtC}T$F_^6hM=%e)da8s=&>K&7!?z?%PUwQ{Hx! z2gct>q^wLQW`g_gF5rxpf;g9SV5KVH)t)77auwV7zf#Gxi4-svzQPQ7NJ3p(Y-Pg- z#VWi3F4&&2obtjE=6aKH@U~p-s|0q|cJ5-UNe*{8*49O7nbl_J+6u_E;epuI%q~zM zRq1dE#)>S6b5J-=>(4kLp4{A;9kI2q5}r}+-k&pZa_JvVfgkvM~ofcJDvlsl_gHwA}jOz+R#g^e0)#QBGV+oqHqoF+#cCWiCrFjP$|HIu7shzH=S2&q`t=1GrRNL8*1|)2qbr9AOp$h0#`1J}pk7^-N!0WT~+jdCcCl$)&}gYreYXJrCzyU$4tR z$ZblWg;OcloO@T0r~2svP6gGCb0|9V{#V||8VXn#r$E&hbAh*?dxBE|;5FJ4-EtJY z;bBtf0iba6OgAE#8`dd$b`?CeMKK zulsvijXC{Vnq=M&xCH=o417U;r)emL{MD=f#7D1A&kx7ruWYuP z_p&BI*RLxZyw3_;Cup?d&vdG~3LnbjCSTqZnDIMEd}%}J`BqP@smiA?` zJ-xQBI)1zW`V<1eIba-_ULZ3=+Bke2qDOe>rUr| z`1#Z4y19=K9$hFb26ZihMlJr`I~Q31hArNa;_!R!Kmb+yy`(%Wo+DPfGj>=Wcd=#q zh2M6%t|xS8QJRd$d36Y_zvHc5(1~Js_pqjc2|YO*?f=L^)$YP7x@EtViO2 z`z$wF-G6@A|)DqV7%2Fb1X^@TB71}=Y|W2 zLxJn3crZ4?5CnP*Y^TCtc7f@S_bEQLwK^6ey^kAt7pwsI87;Ba^AL~~#mU-hu3QQ{ ztU@8rQz4$E!WBCoAqi}R%ftikbEqSSz%i9;@BET*HYl`>iKN%hQP3BGu{fxPIIJx%lJnMHV!Q69on(_=W zmhd8pJDI%=GInnAqHsBmiw>NA={fQs74n?hBiJ_ORWFhtPPVK4et6ehBlUprop(zg z3A~gouy@4!p-pDldVTL1U@!`7+BU*XZ`Pa5PfpYHpP0VSHQ9Ojai4k?Xj_@>Y>@n5|BbSwym<1AEBQednbxz7rRH0$A()6H7JoV4}g#0X>o zVmtrRM*4(>)Z;uhg@{jrGVo=BB5r{!w(_&tinSN(%%a^|fpL5fh*?;n;|>Q(;c7h> zTje*~A~=g@Y=PvQuAxBDT^ZsYdRXqq^LmX3kh%pA|}2iu7b*1#7S?M2&yT`_Q!+`&HMR z^f>6cwZdTB`_i9^fecGHvA!P1Fj#b6T6hG5WPlO7@ znhdb#6BXRUyk9Wmn9pG%R?(KE9)8GU|V+8 z;Aq?|mC4qCylf~zKRJJXbNazHZ7Dms*nXe{Ow%v_pZ=eJ_}+1|{dWqOnx>sR>+t-G zIIq0!+I(XKCeDGw=5b7*$Nd=?$Dj+$w5Sh&H8qNW2zJU+P9eamWAZ5^ANQsX!H-q^ zk^3`InBbfB(CQVi7fZp&;?bldOkh0xN`|_7Z9=lEIaD|2(=|oyjIV}5S$YB+)S$>>sIIXSXvgrh816mTi%Q9$`C^YH^gEO zXY!lqaf_Mj8Sr`eOJ7zXCjNnnwp8p1At9Te@3MBYpx#{GwkRjthv%aj5}}|gW)t^% zAimB+(Yn90c7R2Y0Jm*;oRpzuAtQy0%EvNnlpD5O`v6@Xe6r6KTYyaOna<;Uy2I7F@cC`Q2aui6{cZ2-6V_|>#q zpy;z413z+Y`Wq!RCHa<6#NE4UFN~b{t*-Fc->B(MTgomN*Dk+5cQxaII{okA-Fq|y z#`TvK|4x!G1^P7eW0G3;0fqOOia-4#n%%s8@A(kIy)-xeN?W}(B*yoP%kU}D(+Zlq z=P$>M6yAg7wdW6E7!`F{9*1y0-p+mXzD|unRI7aT zn)ZzI84oJTgo=3o_rtp)fcJiQ!3=2?zLGm&2@WizgF^ZADOSZq*ki#RumzOMSTXDa zIQFi-y7TYdnq%_n#m_-s+TUll|3QO^eQ`2`AK-k}Qvred-A~T#{N?Efn+m`m|M4ID zt?dUJg5@XY0d+fD8UOl|0z!9RDS)d*-E}%qE6Rz0<%qRa*kJxY7uMtMUO_euZM^#2 zT&EPYLI7HyR+SqQ#Tcb7a$MqCubY_QT7WDWY@C{y9_?Wuf_xm7I^k?IPG zq4?Myj-}mMuY7n1&!1n0;#V;^?c%_vjrF<5n^MKI>vBH`ZYoP7p}#W3!~5lLv3vVy zk;168s}-c1Rb{Lc$b^yQmL0Dg%y=dDnk~g;qe2?bfn(C*I4XTlq|q&%uhc|nYWdr7 zh0UVi&DEY~g*v>HFb^r@f4Cl-T$RP+Zs#wuNK)u5xi{aVlKxTtDsv z+}#hXAH!1v)-R_ zNQEK}$PLaVcEc_V@udg=hr!rZf^J;W~v$_+Ds;Ph;no=5c}RzwHMK0Dz6QA8c-vYx$E; z9)5DR-fvdZ>R-0G*eF=A=%*=qO>4iikO@Nj%nD@@zPu`2Q2dt#HKsG%f8|o66&IsQ zOE*Oi%l8bR(@UVWxiXCmfw2Tmp*Wx%C@e-CTFVTfGGgIcs{r*9&ZQQWcU`d@fk4(a zH$Ht(;C*uUc3xymxx;>r%!js=E)_8iTXAvvqTjQeSpc<4GlxbXm6T>Zt z?zKE~ZogcB)-X7SW?am;MsCcpztBP~i2?jB$FYVms)Sgn-^cwSRJa)e@({#>Ph0d} zc-A%8Fn?vlHGaA6!3RV5P`$At%%e z0UTw=>)rB6X)uNK!Z1?`G}p+*8;}j*!Qb5Mr_%7Yw*ln>kB#?(5TR}0MC7Z`8^JsZ zbOr^jfWx;C@Wl2Q?jx#XpHbRbJQ>U&&Q}SYg*b{!9+6Uw`JVzhSllTwVHe7eCyd9t zGxbq!0^X4fjwqw1#g$5^Rc;Lst`)-{V`ehtw-n$3;9Kkd=ejW%j4Hhy{?} z3nAczVUTeh)(kE?0FUq1wr9c4$1xS{;eUvEQ0h591)6Kq4^oT|;HaU?m_M24jSbq$ zwX88Bn6i*$H9OvV|G#=}`%gNV+J3NY>9DrN_5&qgR$~9)Pw#*7a6DemljEPqpc-yE zbCY#{9gn67o~^FZZ&nUuEpOa$(!wrDWE4V@tPBCjAkLE1YF4-+%ylz{`rc=uPrG9% z@)I9pgbNRaipqsT@3am8=Hg)+j8zMO(khm}zyPUr#D^w-8Xk+01t9Wk16ZqIq> zy5#7Ws90k+L^iR|(l)FaCOoc56b%Fg|C36F`%wXHdwpK}db`mI7^vUlkv0!Y>Xiax zX=!r4BrOAoXXu0es;+^;%&<%gQ{3?%eE0!!1atI0iOBmH8D)VdID6#WxA83?DM?zaR4tYyLD8Bre8rrBYVo zqtxB{L#%{rR2F^Q2$!-?+HOIe@(GAZVLeQF9UcYyZ=^fs^`dq`&-(A4`{5_&&)cc( z2b<#`m(dTlzw9=b<9+hc|Ks=m>?biE=Ry3>Sg(%=G)YWc(D^$;0M%5dW61Q6o)YUS&NxId%(A*2x?Gz3L1>fCQv;t>J>wh*Ck6dD+oL~Y*R z>;wOy?N_vi#U=og;fLzVUu<)S=1EAHaL>S$6@u}%Vw}TTGNxSY+rBPej(UD8%@IMJd$M9I>vi=W^ltE+S*rXto$Tk7ic&%s1QEPj+^8sZytiteyC_-} z4G#*7VB_!~mMcUGoA_35kZSMGXl{LbYs=ylqH3z_%Zv018x8Tb_Y4?I>0;blmo z@B{C`=g@^nN5V-bH)PD+wUM)EwDhM^&(ww#Z zgj>8n*WftA3UMx&*`g94u<$|V#4t@veJ6 zfMvQI!wz7@IcTB%lnG0h*@JcL(Pj$=IEl1k*nc{e=dJ7a&D&!PgCWLC`@;Pw&1reG z`#k~~*Pvd8*?oVxyEN8&5@V1n6lG<&K99yp0psk>=;0T$OPAkwy9X435dwHM${wS9 zOj@y8+e_;%SFCAf5hRJ?9d5(pt;gqLt$zQ)gAs@?<7o)l(!yG31vyGb9O1}zoReS` zagLBE?zp5Xjw-l?T;Z+&NdT34HI${pKBT(B$Phq?^xDMxRuIEszI&{W#AthqsL!cV zQl-K7-~Zsez=Gqj|2S`xz}_kl7;Sl6=ri;F<1@G|^c1psd?$V@E8AmMX;v230%XOx zT26*z78Ur8Dm8jfXj_WIGFG2O&;RYu12En}-iH=%KB4q+H={6D@4t6YE_cLQ2!K2Y z0caUh#Pm6r{P&cP?se2d5idn~-efrczRsRCI51_v81W z8E5vdFtcZ#dSqsM?5Rg)_AfEBo52m2ilq`HyW_-;ReFrWI%{cFUENYZk74Vr?D=N!EaUQ(yZB=s{>33$*v_|%v zVy%Zo*TwOvrI7)L&YRAI(Krc2B=DtJ86FOGl$`H*X0$V9ji*{9G#S?q}fv^T+s0l-L|3sYI# zMr&HMQ5BLhb~fc>aId(8a&F(_gtJd?aq67cg1>Wl?(5jP&H_f9%y_P(=(j5f)JUYs z+vd42p;8Ry#y$?5z+w_rKfV3hF%0Ho_!_uI?a9~u@(!5vx0b{e$HEJ2Fye*&)J=zj zT^(Nr%AfdA_VCFF$uk>tA(ry{Z~!aL3#rO$Kd zd+~GJ{#^ezH-?k{E;8f{-N?Z1x%M;Q-_0x^t9?__%{msF*Qnk*DomqrCK}&oi{ryX zv<$eJIZ`)+TN!A<9j0CRCbUuxowq!XBhjiEI^e# zweGgswn(Of`5lJh`5C_W`5jft``oWZw@3iBMgi3=g=FI!USo41yUvS)w5m}{QdfbiUW4!j}yJx=v49xYu zKPD&D%L+2>MbrVawL+|3`(tyV5+j#CRTq;Ro0zMu77dx+NMAsvILgohrY&R)BN7QH;S7HN_j^w0=`D{?+?pJQ$_2`JtS--a2@0J*WXTCm;6 z%;U5!yh{KMj{M31mkYuqMw$Z@OXA|jwk;lOv7;%@!F^Rx|J`hrtud?Vx&!|1HcNK^ z7*cl~ocmKhb$AAtVCD`31{!AAtB$Pz&C<_V;p|z&Lk26h`mHJx`=mhN1qs8>dv1#& zNvm#gdUlSXYsINxz*8V)nTwk>gGes&Awiwv>hcQR(4p>R*y3z{GuouijPZ!UOgzY; znpkxm|8K_vdbbQ9m|D(*>Qs@*QEHDAdz+pSY9qCA6DMp2KXNY=yvyx!;c@B8Xb1xX z26u+tU5DTO-O{rzVHut`quuXWoQFTP7?%1jJg!oRje7UpaUf_}koc|qupoCr($gvL zPaUt>WGuHf-omMNXm+R!LhbWza;#`5ec(HP3JPbmt z_+r3;@K2EGSdX*IYYf>44lCTbWPs+IibtY*|X;HjLizJ-6WT`5I5eSMdH+ zmlxTV89sxNyioUn4Uu9FAn!+{%S|1={Rh?(;W>1`Xw=8sFyh4Wn2(j$hI1)V0hfpV zX1m?~#)q%ha5ui_7%}6x8(-cyo@FmDi@jghggg5Flnv%RCQ_af>)3tas;deHo~V9i zuY74*`ynh%Fmi9Y-1~;lgh|DqSI@2)w2g?2<1!VGHc-hWRfs`=*W6K2%A1|Fh5YArJ}I}3pqRVGA? zGMhcm1cAFX)OA@y-9~mh25~UH7$J)+TxjOF|gSG@0 ztGvO5HOukLQ%~dYXpT?+?@y)Ac0nke76lg7CS}82(^%ucErM1{i}M}t552z!uWNjF zW$A?`@W`rc%+y(0*9-P;2|z)>Tz0nZ|99ZWZ5w5f{BXg)R~x6;LzqiVY)OrEK-QOw8??g)ufO#c z%6`Cu;&FPe5(lVh@J;{!{~{w2aB`CN)pvYWx2T#Ld7Yt3B?2x+YM+!=1E0qgy3i+R zY3Q`s;K8eJ;o|HR1$cj4;bwV(g1QNdOPn0du{Y6u-?oxV9(wLeS`F*)-mj)x%`1fY zbFu5q-j_*~iMmyi)g|&{&Wl;|<47RtAlE6-UZ80dP@AV9-+%CPQo~f>!F$R9f`e%Z zo}~p{@VxIQbsks)LBUd8Yrii0NtrTJsj%-Ncu;4DRsKvowUT9YG5rl;|NZ^_mvJ|~ zoQY8jAugBpE6q+PgaRof8Xr~ql}*lJh{{jG3F z6Edk{c>~U#K>+t@p&I|&lX|9wm7fcCuCjXzAO zEk-F*KR!Ohw%y>V<73Q2opEuqOaT^czWbrGNf8%uOC9er=Hp(1+wROo;m5+u!tQ^t zVxL5;LY2@O`bNZ@;qMA4IlFhp=6#!xXU>QblU=hKzGpb!q&VLb3^FJRG$n$?bA=4^ z!;@4xD#{6boQDTTQe*7I<4CAkKbT!EeUDL*kc(|yrL6p7xxv4^{5Gb2i@e#OLl5ry zplk4nXOD6G%(IvV^j&0AUaw@rRhHt|5DqtiknlHAwryn1+&@Q)9RK|4t5{xKpilDO zK-N{5Aj1cv4&U>=-;Md+OUTEiegA2<%s_+tAX*rD7;~4eh?Ma6AQ9?XxqD_W5E}(2 zI(8E?t<%7JO*{!n3p0~P1|EMxRjeFo(x6F)mQ^__D@`7x60`cijP>e&N4fee=<; zaw#v0;)gQL;%+|?^p8AE)EUWDc@cs>`EIska#pym4TdbesF(;BTHzy4rmpM7Vh0NW z@nxkvNn{4Ae`1-{+;ugmhPdJ}!$LzmPQ$X?-);}L$v-Sb5SI63uT~^8spEL9PPf|y z(1vFIJk`eK6%fj2Borz0>}OnX!+tb_YsOWA@?rAWj$S=fOD+lrN|CW>!68i821F@K zUN6?T)%R~ZSg9^c%;DbqmAFnZNQa=fUE~2@LuEJEC4m~j>Ehh)O|YT@UB!TbB(xf< zoZ&~&hXsR_wnhEd;~-H zEav-!)<+mI=m>_1yg#|X@Y+D`c zTpPAhCiiD?Cu`taZ@{%_Z6De`Cw+IxSnJ)cgtq~OY^x134S}Fg_u=$BQGK2b&Ws}2$CW%Ew2L@?C{+Jm#Ye=mn%%04UWqm^+5Ej#`5A6 z?RWowWc?x9P9j$1u`r0;Y$f#NY+280k?!Ai)~4;(!ArSWZ?R=?H7fD=>;m=G1)hES z7&jMBu-ErEdg&f69zQ_!@sFV_CPFBZ;vIZHr{tk+B?(OepGq(rGW==u!*eT=U&v+i zemXfhPS4wBBSNN)iY(OS9(pP9k9Us%YClJP2D$N;1yS`qa zIj~x$$jl;K-V#FPG}uOIbf3p6BeLGO!p>kIk(B2t{iUz3N@Z%s~b$lRZu*oV?OL-Mj4? z-Aujub~RKjJQ&@a6j)OfVICpq5CuH(GEc*h-7Io zo_HT#Y*LU_#LF!8PTKy~()S)+f3_F7-_`=dm+IGQUyA-{2Q`3H_%f(9j$^%1eU#sM zwGs)@GQgZv9RvnnLal$e6)k%3!2|4<9iDyam=l?TkCN}d>l$$cQ~Jz%?-nGaapBfN zet0A^sQn4@5?C)U(5@C3=NbO@|NTE$t(}!iV%8q%WOQ2~NZl;@$%TtU!BTDS_g#rz z1ttNrZc{y6ZhXGZZnJc`%Hlef-|fO7&>93TFYUH)+Fg+MpSNpbAr~J9oki-vp$HD- znGw>>bj;iK72bL09b|ojtleUNQlf8bqE;RhCLj_!)^v4Gfr5(9rjzKRr4+{PhoCZ{jN&cVon;_-=gF7jGo6G?C-tS+hC7HoA+tggkGjayX%tf=Qqx~UpnuBa z@4x}QAzMvsCIgx*Bq0=v6|uce*28v*0UBz{S_Yeak+VgoquG*bg8d5bBJjY+sXTQR_BMFP!X#NSz*4QfP$q)VCYV zj}BwseIko4RyRP$+oi>Ju|T!tzdP(t_VE9{`TyZ^agDMlasT8V&Mz;pxSwZ0+MO%8f3*xb>84-Z-}VW>SF1F z?_g4%+O|N{hXzT8b_2aJN~QOSkeDFmk_snr6ZMvaou`R(D&ZIQ@J9v;csqq!_vGFu zB4CI(kZo%nq9z>F=z%MF??M_c!(7B{G=vEMFHEl!cuFJZb@ zpeqa7W{XJNvP`2|I~PXli0tjR!81~zYllW6D!v}J1J^Sp7@rHQ`|%w}bR!v8$-`rV zY(V_JwICTkD`Ox2)KiE$$`Ng+?h}@1nssBYjXMI;=j$ZkbldvOmk51&&)gV3d&3}9 ziJvJ(HTcF(>**h~ZTstIXXo$YZhRGXz-M0z3Gi;*KQ7-rzo>t)$g`>+hMxg4F04Dy zuwnZiMXwCdHltRebM|T7ZPs@&9-9*oJ+50o?tl^%lK;LZU<=j=?hog*LbYr-D^cI#(apmFstK`XilwmwXtQG6$J1eS#M-K zlNYT`UwB_yN5JiVMqO-*2f*P8Hfxqs!aqNGe6R(wLPh<6 z<&wxnA|sAR6WmlamWyi)Lz{wxZQJ7N>H;rzNrg~KiTtjCAaL-#)6-LYu+A^Zfwt*YH_phUPX5kBMbAJX9RWVGOAmUb|o>w#%n5eK(hi3`=Lxmy*_a4OsTnDJ0+yGxd`Q>+KI z=-9`f4|%oKBt^cBv5 z4~js!;~y_m7+adQ-3D$CbPapHKZl8sqd<8~S_60tvtTR(hX*Hk`{6tI5o4B zA-Ck?c`9JV~{`ddKOZWta!ESX8Mo@VwL&j^z>nk*=-lXr^gjBGJhi1k%t@PC$ zOjS`fA`((WnZpo1gEbpIc@a0;pWEm<>+`D(lmVdH!`Nre8hQn{Uv}}c52B%UFVvxs zG2>^8q%;=VCiIHB^qJ+VLbZ5^XXhnW+YS1gYYdkUfz1`lgZ;#*xV%|~8l!}Ic#1(tXSOdE50QF-AMC`ry?b*V>Ch{{Ax=3z59aR>iJsSz=;2K!KgO zKO)UdCgy^O*eN{)SuR6}p2)Z2hH!qdsgD``JPu@mG>{Aoijn6`X=bPXCaNECe1YF~8eAQ$0?6c3}ZhT$F z^&4+I`1!u?*G*ghQr8KZbVop4=VAB*YyCTeG6}~IUJ3|Yzpa#Ma`KcHy!v8YzYH&I z!Q5JeZfoy@dVD#lxUMYNdl;q3X1nbzb1Mnrt`h=4Xs~D{&cQ`AYT7C znb;<)mFQJg;KUiE!CY+RqR?Uy^}rkh7FRtdQK^nqm5pb1y#I@^xK)Rp8-|0>`i6KyH#MetN(A*z#9EF7;zu}u;VahU3>1=N^w#rbeTa4X-9|0 za6q-MY}gzPW-YPs^fFs2Gt4GE4)+S2%=S?=)JB+MHake(?(A^5cmEljUtHsb=U+fy zl(@KAVSYeCpi@*;hj!awQLnI=?BU6i$9VDCXA+yd?^_WrJHo`0cbyG_Z>=2Ic1CGr zxmzbhq`&~yn@K)Z5W+S)6Y?C;m@w+e+e~xb=YEytt=w(f7IED~`r6wg*Q91!Dqj?_ z3Y6;BEz{@SPMGadZE0MTw#*_~=cb1OuU$F9@zDfr-J)Jx;knr{HtQvZ)ivhL3I$=X zUTvX!`@ov}X4$PCVcTrQCyDDx5uAzvEPp>d!qw$zDy!rJ(KVuA>`8~a64JA1=Sa7M z8cDKFL92Tp+CGtB!x>RBq6lc|IW7B{^o~& zQ{!tLcO<}vxEo)eF`s8OQ2g@cRkq6W{MP_XL<;J5o6ax{YNfHeo#AW#+%@lzoNX2? zY7qx5jB(o{SA;=G4r`8gFP?^o~=O(V8fC{|_@WGxJQtdeh9q%*@QpGtJ#qt};9A#E8tG%VM3^=iAzA#batHh~p(kmfFLl8trU7$<_!M%U=I);-8frNMOI4=AW zJuiec9%il_ivr6V2guiR1o4Q+rPvG7C_SL1NmLB@5t9B0i*qQX zMKwrry?6%BMx=Ae$8T*9#t$hH1&{9$Oc1~%X*r+63c!-rFe@Tbu@z5#m(a3;$SMzm zxBQ(o+_<`?3uB2!L^GKvv~0Bm+!y5fRBLI@i6qkyoRXDA1Y4UbxMVzdp~vb8lm3Wh zegCfd!pfqDu%>Sc+m_Ogdv@v{l(Hj07+}9FD~ofqyTe@TkT@Q4|)Q=ev^s zH%31!?6u1gj7DSp@Q%wd8jZj4@$q8m|4h^z-&IJWG*Rh4tQ32T)CxUBz8dw zP6TR%C6PjXGs^BU_#u!LIGZiFs(bM05%R2n=Z82wT_Es1^x_a_r!(jZIxjLlu8DNr zRFZ%>neCOciFMa{g`#mKLBEs3HC@X}(E4e=)5~uxbqHp& zd6$5@M6O`q50Z$1+cQr8pO(iAv|=k>BNWXI?t`WIo)|9a{e|~12UP61`%y=!Ob0{M zohoXL3UF;AhuNV{31CDNiq}j4NYyD8OJ~8@1h6pbeZh)TUCDLpF=?+(>e}`Dt3Qq( zwsAQEg3Er`$K{xeqd$Ijn$5F1bCrNw!eh0;l}t|$h?te$2%p(He&d~GY53R*7JvNK<&C3N*I zR~g`j{C#oolTv@mz$^3G7xl4j?(}_nPW(VU`VgfuIv)X{b&}mI;A{MblE<@xDs{9vos*ZW!PRZUnPU zp*}_dld_vnT&JEslg9CwEQMGqSWIHM#dOkBYz411&$z(p5b-HCj!XV{j@Ms%o!9+h zF()3yHoQK0ta0d5Y-(qF8&PQR+;g|Evo(e9Is8h1x^@Z3rt^g`1Wi7;|CrqUv&9OJ zPF9Hh8lGu*oz%qwK#gQ;2Ood!Z5%EdJU+>>SU1S)67PG@3rHPE)-$}8wIUR_Rs|X? z%L2(@2lMk4>a0d+d?NL2&Fg}51hQYC{Pqhv5*O%{ye>+>r{NN>BZMvy&zR%|PTXm= z5nl}P=BJJUfv?DsHx^+pWlIMe0{~PGRPmwX<1-=mE1u37Oo}zX7 z7=!+sNMpD1|7-YR9hW0;7xLx!kr~r*_}3nvl(V|7zuNQs4^zm+4;9JJAlK^!EFA*U zTUP@O3DAMI0J>FX!(N#V^}3Ix98N_-QmC4mH$R9U0pH_-n);6$TGE20y3oBwsfBIJ zAg!PqD-yBX8o5qXd8;${5$exHPQNbzKK}cn?g7wA69+9>4%ueIz{DG_@bh_$+Mg#f zn*o{9sth(P*@^=k`{Q+~7ytu6hgE?hbt#kJE+EN^^hjvqnpq;J$Ql76^!vKo|D?m0R?yfV=Se7eORq^_MeZhodL$KKZ4-OZ2_0{`0SuSukKS!BwP;S;(Z&swowPnpJSRA_q6r`xG zR|_%~9D@JW6W5T&0b-A77V56Yyv#}*p04oP?IQ-5bvDOrzJzV(2>ceCRR+`6FaTD0 zi-*TcWbHAs$}w#!n6|`D8sPekYY5v3uP^#i*bp1{ok)H4ScULRi@*<=C{%gL4c4P- zW9v2xrLJ{VKEI>uTKG(QEfX-0^i(m6O5&KRkdg5b7^(g#J+o}V5e7asRl{>iC&^ea zI!vsh7$HTRJS2lHGop+6Yo;o%9E>pAAfXZZL_FSA|fH8onN ze}YyRDN)GJf9k30*x%p5?sS0O))Y2K@m)XgI#!zksB?H^RW}G7a5u#FP6xfO0r1c8 z!#*xY@X8N-KYm2V<@jfNPrduh_x-Q#^?Lt1MPJw}_0?BhgC18;P1EwG>0T#~_1OXt zes+)LW0AeAAj5LCfDSZ>EMwVjQ%Jv&H}aa`BmSF}gs`V8RX*=lCThB4B!IH)FD6Dc zgF3nr;EZyr)QlJTP*)!8f~iOwQ>ciq)e?sG-0KdIsG}7zBnip}{K+920!ndI-Tv;o zghVU5*Q!~P5md2CzjDsvNId1W!l7Q~BF^Niq8QQB;^`l$4>?Q!I@~^ePu{EO<%|CL zR_KcArJ#svNw|DTh77?{1^cq2(GYiQX#qs>2&GF9)F7rT399OKV8dDjWOy^JT$@N< zBl_)rfMs4VNH%4QDl5@*Et0myxl^mF3RWr_+X~m;0w>EA&T8QMUV0UWCkvG8H5O+x z28On+a3XX-R%p~&uWcHxG6T;dTMRHs`|uiz{ewMPv`%+-V0xHhu1k3(@6o&{skE`p|$vHhVqQpnBnc>>b4t6IK z_zqMW83d7!*7E_shx>=8^jGk_28*-DFjbBL6N?q+k8QHj;_>+cO%UO9mBUsZCQ*QF zZwPaJ57Ws2fdQ)wel$ccIfw6ptQVju$Ow_(O(Clgi9_5+0gNkyCn<`oK-9?rHx1h# zyq?4_Kj(9Xf5Vi(Wg^`eVBAj_@B-gpFzBJq=UA^Yq{9@OP)|C<(Zds1e~pj5_!`a^8_ZT`D4QJlW&vB5 zFii^&=+qZmwv-+m-ocgq9UNZY#f>XB5cT&^R2Hw@IYi+An;}@Ouub-F4~D_l+y(vz zeniIQ2tNAKkGO2|<#_3(|M6u%{%8J{wrQMv@GnsAyl{r4G^d*CK@gJ1E8sFIZ40Qb zys#Q?lnDT+_I*{WpS~JvC>ReQfKUG2uqRh(K;=&{0|`+EekU~4nQjCPSEDW{s1LUv z_$*%w4uD90?oY*jL?$+n;}t}qqU-8 zaVGx$ESHl%Uswd|HCq6^=|C*1;qke}vilpi9ufChKj41mNZ1DWvKIv`%E2n zCNDsddg$MY;g6-K70SGqQc?P5r!dP>*{aXZ2mR(e?+ByFGujbFaBt# zCti;4eeqjf{XM_?_xxsK%(3yzZv~`>Exm3qFiNjnBsZCDt1*Uz0$s@}LY=EWuanhm z0||JfO#!f?O|CMWVi(#pg1V&zYRSYS2t^vStf&S@uo8QHg4S0At{|j~9Q`=u&ARCT zhOMZJaAnd|t+XJjlKawfsB*tWg)pQl91+MCs@2cnr@s1X?4u}Z1rF+pL`(Xx7HU>w zg>k@tt7pAb9wbNzUC;906#n5pR9aU1@2$ELUc_IhzQ3|A1Uq5DO_CLK$xVu=(-Baw zbaO#jZ#-t}M{JO#EyMjnt%eMB0{B^K$^-!`3a7kw$L>?AHZKUgBqgl%fYb@7tmX)4 z)|4K(giVR}Jb4YC1ENv?-Cb`Yu5FFdW420*j)}fig$X z*0_Fk7jcrp<{6A@8<-lCK9JdpfxN7o*2IP@-ZC$s21788K@-7iYlJRAM8iIJiw4Wp z3KQ1@=PDJ5MA1*m>*As)c#^6Sa9dTvvX#>!bt`*oS+y7qN2G1~eu#$MJ14l5VBpH< zMDROo&=j@>se8S+592$4sssB)FmTtOk0k2DwhdHnH}PT^wuVwn#s+aeVS*N=EoQ3< zFTMIUPS2M(Up%5xW>Y)Ai5V*^WxmAQZ@k6x+%`aEEv-BoUD$H_zj=I_~ zsXRM`n7R)xXoi93HAYNs5Z9RHD^DP7tB4430a zbOiHFjvt+IIlkf#e$5$x-}W8f^o>UVzPhgKghC(rrYm8~<_EqST(JLI*8*sgO0)2z z83^l!WkaQ6d7fbzHtgK~AVHtMw^G6<2#o>#qOIy?qW~s#X`>=qA*fyMr>;x1wDR5X zr`t~(wNgs&q=}Ul2CY;mSC}i}T9x)#QZHLU*~0)vUHrrWQ4^dC&Tk=;2$6^td07r7 zOiX|{XVNO*G4VU7WwDn316Di$l@+eKN;zh_7P zQ^27wtHI5N$(8Jo>UW&yG!+%SRheUyZfO!jJOx<#FA?_oXjG24<$@D=SqX^Bsm0|b zR(XNf-@1+AWPr9^W9|6Tt?SvNORn6CuK^GdDENujZsXqJBOE_EhAkJ^%uX3pm-!l# zzK8zy7*9WW4Q16Jj#AvXb_0vE6%LOcaaDfu_!Ofw#iDFbMkdY)$}pay z5%VAFL$oHuY+bPY?~HiDa)rb+Sf4)zX2<9cVmz@w#pH>r7)-ZFqnj^;`~8U*U&Yzk zInK`)3^-Bh(}(}g`Yk+j{Q%EA^9&*%NPLSY54Q2Xci+N%KH+(IcsR%1+i$^C1})mo zw%G-^$9U&EpTU)b10;QiqgY}*h|nKS5v6^ko#ukL&86_HMbBg6Ml`zz13wP2GA+*P z1~zi5@d8C|QNu^ofd6h=(Dfj^pF}5%h?Ia+^O^d zKl#UfKJtz8-ydPqSiJn|YqfpN(^I6LL0-=B?hk($RS=`s zPO&K)CX;bn{+nU#dNQ4ce-f7Qn)m(3LTRxPlI)ybiJt zG|)0|dIlQc6!614hXtzwwr%AnL>FF!Osw?BwM<_z5xJv-loI8S~8s`F1em2m4JJpNh&u$AD+pSG1s1Ykt{t`-^5+SWAjxu}*1W0)8THLqnk z)^Wzg>ei@%k)pU+ws+VIRjyOkgf#>Yiaco}!CL{B>VI^RjS+|w9@!Rwt<@<}L{;2R zQAd>Iq&r_>?4gyMMXD6W$2u=r{yjQ8L_Z1<7M_UIgchyOY6ZoJHm;K3#i%Us(krjy z^!Nnz;vBYIQv@dRTP)7+&*Fn0`h2XGu6I4aWU`I@{VP~4Gn^cs;;;SH zzmC;%jer<{hUn};9OC7VehjY;)e-h(C zjGz89e-iG@W(>YNy9c=c@Q7&sXPNdWKW<|x)nCQ^fb51V`?u9H4kB`b$MkAup6 z5i5MWjwfM+*~u9eS&qAhM_8_xn9m*~4S{+&M_?QDnhMi#j3_qP+i`+O38uSOu*e(C z))}l9Ve$A3#-Z$qi;?!#<1#~g`xSUWfm_erLNu9TIP9aIXT0_tdm!%BSeFgne)t&Y zXG>&dhJ1aFx>%#iU3+K=4{O-!G5_wLymk$t>A}Q(#9O;~e13+r<1=^&ar@p0HpM5f zvv=)wUHe}%?BTEAM{Qh=VAyN$qdzXkAN^B*=CAzr-}LJrdY=E4t!KU{G@+u@J5)Zp z62Avr5C!7%G|j0mfZKdU-V5WKY>_t}zV`=T#@+kJ$lVIrRUJC4#p%%Nd7FF!H@Sb z+#LdukN$9sUaya|*T-bEg}McSfloYjjX=Vq!~1BgP%>>}adJ9G93}AD7I9!u!{XZ2 z1D4or5TbhX5&DxWI6XXKg5ZZ9Py;~?T%Sy^fBhP6J^up6lPyGPg#Dd;9G#xQ_&t7Z zv?*C`Ct}|hfhOMrtnV>N_o5W1>k1!#=?+HY6_i69lQJYT?;ON@s-Y!(Y?1Nw%@{<^gYlNf`bkI?B=gfZelg~s=AyeRN^vBv$! z579%5H1?65pP*bX5VQ@RyS0t?eBcE<|E~97d;cnCvn8%xdje<66%MXEfx*@m{{G+p zM>u(KhHRa~ubhgX#b|d2Z@+yT_KgzH-F*o+f~T?79Kcou{3PM`d^}%ZS#9uWeunjG zjySAwGCxJrY!Jsafr#5lgJ1Tue>@NexOMYgut<@WErwfL*gv?Ax-oe12S0|lUcZOK zI}iVB*!I2-z`w(f>bM-i=HxLh$B)hU`v3DE{CD5*t>1F5uB)%I*8T$N)wi8(r(qw^ z56M60W8%ow@@FZMnG7l-GusmVYdx;osZdtihRK4I!VU7ef`YBo($#jQW-VPWS7N(L zY948dJ@SHE+X#wZ%iWYAEr}Mdgt8|Z1`SL7{26+k1!za16aKw`-UROuYUP1H2{Q7? z47gy%)Ai7!h^1xH^h9m%g8H7v&liCt!9l2WtRAm|9i?CIDLt@T%}3g|@9arMjHi{A zI}<3|IijiZUrUOlf+GRXH=X++INvf4ez&r3czhd{_aii@u`Y6g%WM!}Q(IEK&d%pJ zFB=TJ2w8`XNUVnkhsRiLGL}%!=J#>*;31A5K1Ahuu62PB7A7x&`2u^-TtP1#A?%M) zu3EJ4aQNsk#eD4S96jW)4&zakh`k!ucE;G=+QIc3Pm$8KShF%iw!-=R455iI98K`l zv+uyV^lyVx=TU>dCQ4Eg*RC#NS^FXq_w4SZN(KN!${Ixllnb%7)@2x1RqTTxQ_ z)^pEdYi9@TDyM2(KXqG#DPVvUQ1>(U3L6ne%z$Cf_&IoKxaP9gv^!uWDpA1rjQH-eDYzqn8U8Tks0VXmq zY)84x%Yvo+(^-ba`WVJb5Tzx-g0ztQ7@K0)0g~S;3!q*>Kfdu9pZ{ zIZ@N9&U$&Z!Yr?l+8Bdzgtarp=~ei|%dZjCY1;~qj*no96@og4X)+{Xix0p59b`-l z2V*8PRo%Ha!o%M7Ho~-z7vA}9ycXWUi{JD8a3ZGTBzC$4Og7FJOMLtXJ_=KpIJo{4 zvQ3Q;Kw$$c9GGH=ZG$X7Cjj-y8+~l`LySj5Ccg()Z(y}ZhDHt-2f^OTm<3GJ|t zu2eRzP@^zpkYX~DqzsGljRSVf=`qE?Zkugpv3_ z4AMS&g8`m-;hk7j7T^0l--j~v5Qi~V*$RvKg2?wb-*^qzpMM^bNyw;_%8FZ{URweKvd(@H(r?LhukShz|O=aqSAtr+(e9{ndE=m6wsEF?M&h zm=J7V*+XRw6%Ns~d_SyflgaA6f{&~M!Z<;;nZs*Z5!zWU$anx+UJF$%Wpy<&Lel|H zsY6l2dZ2@2C9Nj0-VS^;g-h1X#WCAN=%q_0JVJqu^txd(ElDK*jufEE^De?c4Y!v2 zE<1LOkBoFoCLfw0vyDeaNZ3Pz9#&b2^RsgpTcgfbFr^bfayT4^Gx6}j4?d66%wTu_ z8Y@>YBKf@)^e`BVFdA>6Y0oHv4dTQ{5T-c1{VKlXgP)7{zxQ2u;hi6XF%kB!J&CjPj5KCP z9Zl0QrKtC=T>r-5_V<15N51rnGyIs0%MtwIU;E4PV>>R#fBV5#G5~+zi$CzfTL8W? z2>d4?Vmu6xD#0m$GosdcGlC5y*oyL+xR511k)HJpEOPjrI8asc=0p#Gh}1j4u{kUgu{RIs|t4QyQnFPOl3DFU(+PQ-ZaE?YYz(qXj&h>H7Q%&JAkKxY z``&;bd3fPN@5IaB_uZKGLhKA_DNPXC)+p_e=OGN0ElUjgt{oC!e!RrMYv2VQ(E0>1 zF7p!i9zMi)`+$ykWhEF10|Hr@0A9a-4dcN8o^3H0_A%X_Vl3iElo?A zY(Fpz;EVHf)V5{NTP#)x_}W$ke|*8!D9ghW7eRG|`z@-L21;j(4D<6j+H8dYHEdhs(WATgvM+omuI>ym+L~fDuh}*L3@n5` z*s3C^=V9AX6R!mL!Y}`F{I~z~AMn=U16-R7W#4s;M~8Df7~IF{{d-tPTS&YSR*Q40 z{T)3%LrpqwL7?CH=_ACZ#23Ero!E|j>~C$MsN}w|UYAVHdPzjDhitRHI~WFEH;RKl z_Y=SPbMRv~E=TZ5bpkHOpKHqEwzd9O)V}{El;%u?LdU=)D{SHDx3U6`1@X_IBR%jM zUKsMHtf~R9u-Ni5s+y~0-gxRt1aMTow5m#a2@D2({=Ui982AG$mk!;#VNeq;uvMWS zx2ez%H~n4ZPo7n&c>J4!UXbpa?|8yG!C_fq&>Nt1^0>|iJu8r%oS}k2uRkJ^ysBA6V1Ij+<-|&CmMbh4 z(r?YyEuy+b&jB5WDYkB0M{j$dCGg7n1jQAV#d5hO&pk9Pn#%FybA+jf>DCz2=?-8M z2^3yHJ^3)A+8kX8{UGEuwmTi-=JhK$IXlM3KPu9&ILdO6bqu)FrkK_ONzLng&demjwG+3S-Tj zR4#3tM`F7z{vgD@xViN`%l$CnY)d9Tg-1sVxQD9RqAF{kZP|WUZ!ChOpfJ&Dvq4eC zm}j|IFSi9ymk3-kl5dc<6{|L7tInei3~NF70rdtL+*zeb;|N>EwFGuC-oA=E_m0?` zkAsjEmD#4me6b?4Ah|L?$QPjEDdCga{O~sgYF`X3G_Non&uLH#f_EG5rr}(h9|ge|d(s zaa#XN6xkY43+!LNj$5~$!bg7Gmt*BbebNzEwytcPKR%-#ylEQ(xe^zYTmmrZ;p+8$ z496oZSCC4GBxFQ-dnP1r+z-V(Cuo7IJ9`)nwlEm(!CyYYe0EL`dWV!hJUYbE`R@0p zRDElz1~(6Ov06Nd|K){5#2-IC#$>vUO_5=-$q>#LDBrw|@yQBFaws|qQH=f|6$eVs zV3H2F|C+uEqME6`3KfB-tS*s)=h+Y*8urDloEMShjl^GLvnGX=39S|LDRJ#&dkWR^PY}0!|^TX5Sd90!BfL-Ep5(#`&tim1_q$J|R|z?V+j?o8g1~Jv=^PGRv}i zU6t;0-NxWe@G0>o9nwEen4r|en}}$ZXUM1_jWDml&ssK(yC(R3CIcUpYaP@+wt^5h z#uGeq^EssbJ;W(6q{X!5c?_MTwFOcyAhsy!g-AyOy!)Bw@%EcXIJ|ulB`3a)XC9w+_zeYM7hmccnn5flEAhNS2^SHh~>@D_nDZNb)x=s1X0yXSrep5P{YL$*cP)WR-+hoY9sP1BS(d~g@W54l+; zItF#e5>N%ghAMxu((VNo?|aYF*x%Ykzn9{}AO0+Oy%+&m2c84pafMpKl8P4C3Q^BP zWlL1m2BT;MuWG5#*CG*zMkl0`m#i2Veny74NoXEa*_O-zNnAqlpC_=>l9`dOK%{?= zPT>jA0%;uLiTxeC>$#hFaOX{47Xpz8aeBUn4OT)+JKG=(6U0t+G78B;=%)jOUVxj| zu43rqb^U<2gRSWnuUX3Uh7M~Y236DP2wCf~dJx4i5%hyJrK~P{=TQ%77@!vf2;v?> zao|P37FZws#I?y9^oRYf8Uz@h!Z{4gQ5vAwtWj@Pc<(b;@H2nH7bEX&AxMT8I4%6g zkDOgI+iY*XbsPKp`@F{P-+zFs*RC=FeemERo_y*l96dT>HQ?&aXYhCb{y)d+Y>CHr z-iF^62qPf&Iloi`EV3MB>(is5M8L%R?0g24Evc9^6S56KnN3sCwm2T7SUJp4(ZUN7 zWMxCUWWV!ms6d`Dfua5JgmXrhzWx+d)}XNkMVUN5L{n$DfBOv#t{d!Je+K8v0ySEe z_v`r@ezQT)=4jARMY45ZVtA;E8Z+nCm<*gu^7(SL`g*KZ-;PhJaXEsM$DhP3fXngi zgF*jgukyYkjKa@XVVy7txmp#+HZk=91Doiv_tJzbpQf(GL)>q)EU)EJmaAK?^hJkV z{Q24cb)V0hPuq(5&}O~n^QulLfH-L-2>nilfI5DB=VDij!H}x#sfNA)^=i_jG?0qw zp+s=OHHe83-^=%e5o*KsfLZ{n$dC5f-Rm#N4hLKrYCAv@03*kC!C}zI#_s?Ft)gg! zfpZvyA-}VJPc;%!c7gQD8wTmoaKzVIK32q?_BCn=2zf{q!@~neLE!wtH}$pf|5IfJbvD260-h zy7O+qvOWL>f3lV29Oh8@?7stE$MbeHI7lFLWpLNlaNoVC(H{(Xjw%4X!4UKLLcIDn zEkakpC<-Q;BNL(7*~XQFE67$ey!44ZJbdsLUV8E4eBK>fZ9McxBSce|yk=PEPG7!< z)xs$hx7>wwzuhdW`wryDQTJq4MTF;S2Kn7wHn4CuEXFNZy za~2rd5CjY)=>RoyG@|Lj)oBQnuB{kCX0cbnN629b}O``d`pA-rUO>HZa*F6PLK65Cr_Tn(~MohIn@#HF#{Pw?EW zXOV<4lfLbPYc%}{TVg4=YE6430u<=?60BN7yuq|TfM>u;L~l5RRUl{QF(JdER&b{= zMB`hc)C1Di;$(n2j97LLgB}yf+BOWPL0h9{LQtXD6o?Xwn@?Uxku9;eJH_>@*Kz;e zUCz_lVusbDN7yXa@I8^x?IkhiC-P%fQIaH}#B35obke+f?Et}5!_}-XJAf=NIY<3I z0htQ;ROSb91d?=FRuM9}#))mP)?nRLfy#naD+Y3Rty9*S%##ux{1&=W~2=kIT^uy|;T|`fFBM^bwY2U)u%R4p5M#+WQg%!Q@52k^<)QJ;gyN<*_p%3K&o%NLc7l5g21wd0|Dy zvvB=+{$A!erqd~=y%_KN@Q1N(fWhto=9>-9XXn`4-6Ia;=;+9O53YW*oc;^)V9W0gmgd@8S3F6rHbCQD+eg@HTV1I=%`b(TmyIC=J%RW zJ046%0?%M;GDRFDtnf7LfX7mXFe591D2o}Y5(wjvNv>cUa^zt_(C$V=u~@O| z@QeJLs_Rl(KfcGxk+WfL=_XktN^(|^jPKDklx9Mn50qfy>$4h{!Slf1OD5PNIUII2 z#>>SD<53BZ-=XLB|R{9@}qUiUpR@INwV93?80_bGLz#B!=I%IUx0o)n}vak}MoI2nIfdtmJL-m)k ziY5xWt}4={=Ce6p&(F;=b>CBi94(7?I{A$z0}SHQCkM3OZUDLYwq92;0Ef_=JfN19 zv<7S0223W>)DS!cXpk1)1ZgV}yr>KU6-Q$7LeKUK8UViE%IfL@CZH?}30yGx+D>O7 zSFHlY6KL|o&vHZBClyXl&s^`90Y^oK0B{~G%gbv~wKHIXM2PSq~-2+~SoA6mtM z=SsOlSU<*MU5XY%;C0kVPiUen5qpU941r-=fW77Uyr8jAS>@QcGIqa*@^Oy1$Z=!m zCX%p+Ac$CYZct*KRiv2O^%A=~yBLqB7!Su7_6L|w$2dPb#hp8EVRaaCG#@ zt#sKYI9r^cEG=xikBw zJ9)&x_@2k)Dvo1TdWzibBjD=;-*-t66O2)R2m_BGy{7C~HS8)Gt$Oh@sIy^PRvV&| z0+z`N9WI$5Mjo(e4O$amG}%HP_0fbr2ICQ0z?|B6rgaXEq? zI#KwP8kgh0?!5cUf1oIe-`}?F?;8$%V~ycWOjj`_1CHgULpAeTmCxlW=R&Y++l#7v zQYq+qjv!LmYQ=#!NgCt;qQrO613+$8s$0NHLrq~5@bQ|+ZJ$9^ss}wNr{Ca0pI-F# zr469{&(?;C$8i5 zmtMqdagN<54p7!TtTQKoRAGL0iaHtbeMMcftemOk(^8)85Go*nb3&34>ZN5S=_h=8?gsv^H1H)>U2lc5io|d>Jm@@4&)ED4& znY#*51A<={%Zy1&uSdTKUa!3N10U#;B3S<9bMReYt_f}n3kHAwjf^K_zOQZ@LHhH& z3xHG&twy5}H0f16f(i}1BtpUJNq{)%V+ATmQt!e_n@bYiip&-sxBM;D81D_SK6APn z7JeI{&KjH^og+S&2)iN6NF5A(cP@lF*zW^D+hXo)$Kw>U`G(9PrNIV{>EK7a#%GS% z5gM%W4Q7iqipnUhR_`IKDh0;3Ve5a><2(1i@rSl0J|)KG2wwc3--%DLaXJ3ycP^c9 z(3kw`ul(M&wZ9J@J_}&*R&9EvtnsH9^ANSqzzSJ03owrqr9PGm236_~5cuYMv_e(y z`fB5XX-)7_+vrUx=xA@I>x~PwuWcEO#Yv6EDh*#>6a*2n?9J9i$NRTkMAZJdg(Uzk zP*udTqEL(S>lK{Ejf3y!jaY9=?0GVofwn|=TM?+yVc>pJp-qz?eqRL=N|Z5@@0UuUPj`ebh*bitAoWwn@-s`Giz+5@m=e)ql z*%^9UJ`7yqm=h)L8J`#d7%~{d$`%2#O^(&s41P^^30KlhnWHyOkPcD=jzJQJ027`R zev|?x;IVA&?865YB3VvPdM@Zjyx#T?uHgFhC-KCSM@afkhIWA)H($rAuiU|l-}eLX zTO#C;j1!!kpTY|aN++5#7$Wol_!e<2GTMVAMZoAEpqIudi<$sNG!{Kq$!SCjK=c`i zAK}L9vn+WY=+OWm4g)FY$04gJjwxdV7=dEBK?4E9ZSoBRYZOPE`;1PTWmkD4&V=Sa z?zynYd5v%KoZb;l+wkwKp$Y)$wbE{?)~p~nAY)-E+f7Ub_+2XY>3t&_1#MNsh5>Tml4H!S>{)K)x;5|SwIt=tdL@Y%??+mYN`MJ#pOqXC+8REbfYy=ao2E%^B z_Dk9MR5Yv2_k_OpO`Bx;5C8G^JjAEYxE#T!?g_gb|M+`;!$16Ef8kGmPutqxneGe6G^?K3EkZ;!0H+1W{Kq^*eJE)1mU!`OjDniIhiKJ`Oz}xu5fx3;^}WSAifk zN%Ey#pbmuWp8{N+X|+If5CA3ufg~@o(ldazG}^k-Qa`_=8VU)>utrnWsDqk8U5$$5 zbvXls1Lx7=RBVgM0APXxFi3=Kb%aF5_XaTn@fIMM&bA(P+YLORg(OI>jS%5IElY0{3no!ek|US7B;vvIUB=#-`ff+4sBy2q_#y#kupv3hT`h zckbWAaO|)gIc(iBU=Ml`o`3EZSI1RrJL}^{dhJQVl6BY{;F)*62jBGrF9P)%qoj|; zVusdH%bJ45H(}tE4Oc)|U_({K5wg{i9uxr_-eFB?;-Duh^JP(BzFeUVH>hf#4t~V5 zbnT*?o*4nX1B{hwN*FkI&KZWWs6zUzR)Im)i#;OhEip6n{%1SFcuEm2OXhfle2IfC)kPh}Rs<@n04`s#ZC ze$!Wd^;dppRoB1A3xfB!U<*JT`8-b%?A)|3EwZ@{H+9U@n--~pQsNgdU_-MVrB|sv zvFiWx-%|c(@DLt;$eSHYu0@tHpljJMU@w#bOHs;-Ur>-BSKq8+NQFT3_&YRz+o%Qr zL4(?tX8=}Z!?LXYuh|0($|Yaxo^w@&CT@WSk}QQjbZC!XDTo)rh1y@1GP_adL~WZ0 zH{J^SK?RbcI3fTq%q#a|28_}LkZ?fYRtqaF6FFC$b2Q8qJ-l`29uURY+P#J(9npodmy`tdm1RwE z-s$liCr2~fzk3MN804!pQs1J?E5v?;K^mYp=plD2TpLi??tHbvbM-( zuu~~qG0tJHTip5t$*yiegc}m%T0qA|p&z9}jZ6!6$`kej{Y6JVt(Lj84z_Ag*sQ4ch<1||zY_sxWgD^Y$& z>BS2Jq9PJpS|O6ah~2RjK0C|SrP32s!BDCY)Ox5e7$lhPjIn!dAM<>TjeFdI0ceV>YX zus~f}Jbe2QZC0Z#8wT8RQ^0^pfTNCbF4+ob*!mGro+M?wZUM_VDA#M4x`h>Vzc~Fd zd6cSAo{Mo*RVhtXsGLn%b6=uJ+3-4nGFvQ^(ZcyJ>xRc-iIp)h9)w~W`Pkc=V7fIz z-nJAgA}BD3v1tr$zjc>($UOr@zLX7BN}XXG6A0Q%hbUSPvt@y^vvVYYg>Ojr zV+ABhd<^%d7+$%8ThF}{!@(4Teu^g!w*So4z3ET;-@g2d{`wDX_|)Alx4`}Ha(sG> zfA)QMZUgvrKmSYK{om@k{@rcczE9EdZqp#G03sJ$35w#1nf*@&>%b3ODU(4{t#B`D z{PW*T9Hd8Fm-5-VTD~}pCo;pOQ27K@WuU@E{Mm|5F*m=fK7ff!2PTAI7POV2d}i(K z2hyX|#DoC3)v8wZftm)X#c+2c2Q*ki5Z6SY15nx|-?Q0dOq8Uj+we14SqVJ`U5dzr zA#eKbc{xT8tpF?e8ubFO7Se}qEo?_et6MNZ;FE?G7lkxj5KfBtoi5HTlQW?oia}H$ zNt{vOC1sH_>it*7;Hf9BVLa~RAHMQYjIZueqWNSsN7!?sLkoQTrB`rtGROAL6_^K) zkfeR&d5Oj19$tC%ZJf`Cke&r~1KK6Wb&Auo1(vHEhxZ;}oc8g!saOhM%x4UO zz3~WTOZi-$%T-o%G*C_^QU}Jg9@;LUYT*(w$MXkH9?vkoQlUQ@vYgLSzvn47gh_=| zj9LOT(N(QNVn9Uy!T5&BYa3Y3yMjZ>aOo;Hqwz>6cLqEko6Uwi{~#o?o|Oa`4{_LC z*S?2~cHn*(6O`%sA}+)PfPz>df4{mr!3W>}PW+SGFQch8c;?y;&QDL#nh3Lbj_?1j z@5dsm@qhYB*I+CwVZ2U^A0V%s9d(1_^95eL{Tdc$OXTY%s`V+Nz#>c{oIiSqD_8n> z$A{mED)zB19cZ@xXtvpWE3o++KjE{V!l(YY9Kq#@{Ina+cJ*(Vrui>bRsHTT41bHR z(6vOYfttZXz-vqbG~oEuA@2beP^n=pXDgUa`|tpCHLUMf6CQ5lQVYe9{pzOe0=Ebj z$xX><@b`IRr9&D$3#9Z926EH+sdwvZ0UUO~K&z`RCM;Z$vG*=K?6^k_dH!wzzQ-jC zRTXRBT)vC?`~%A4*2+ky6L3*dxa<28@lE?w)fG@20TTy5@Y&Z+{0OI6?Scx+)Y%5~ zL8vwh?lX)iJR|eUxpbv;3I4F)u`5Si&RL*|8NY*jUU45ySrPrsDuTlz7>gUbI~XJ} zKJvw1gdhBY@5ZKBVP`VJ$$SMrSfDZqR)s@-J20Xsz!~^BKiS~;_=Ltfwq2vG)_}A4 zZENh02Q1@9(`__CA8l308~})%+uV4F&{!NE9U(HnWYkB#m?Ny61aXGp^fm_53DpQ& z1oS}2n;b`v&RB7nogLHnz>f@~B*f-)h6on>`&SSSwh@iCsZ3~%yKZs<0i9Fe&S-)` z*yH#1+fo3egCWj0HC}z~ZG@A3c*8laJrj_bU~Plx&J;nQ%95?HPykk+8f$qyjYk8_ znihFmqVXx8Ak_iiL&j=|(m#DM+p23#w5hPkU|%;(vW*E~0|?_q%&h1q0mEy6AWX}4 zSca-3_n*}>1To?y#Lgf=wLit){w~fRtZ?d*tiYqG)2b-(*280<{}%RMc?m%}f*+)4 znu3@MTQqode2%kuj-$gz$eco=qe!miFin9N7O~eN2`zRGb_n!oJ@ZFBAK!XyZ*m`( zLIaf`U{9Z=QU&#C@KDF`rbQfrhvSI_Q;u_Q~u&Z)ZDlyD|tF13v45rWLs6TKazHD~&?8U} z_gc+K(z~ao>YuTD2yU?t71nj72<%s>6AS1ho_J5=G$AymvfZ0q2u8B zVuL6xu*z!8H?H&@qI7^gKf-2SO22qMBcRSWo%qcHK~v(17jEI|bGPuWk9AA(C>xR@&Cx@d=~!E{rgzX7x3yDkq=~@0M%P>-$8nEhPNL)M3fBatd~=5(O`DE zLGH|sq87t(N;Sas{2b5UxQ_R~_rnPK6Cmg@@e#^rhNw>Aw;;oyKXHzhIXw7G9KAT9 z$kNgI4B;DZAl}-+@n((5U_>Uy&h8ek-^h3b6pHUc(OLU?@O;pdg4LF)MY-CbO>=lm zEK5MxCMqMXPJH~E2|6<^rD$5Y4!H`qYGd8<`sZsJS4r|L(qzE%C+dGG(yZhB2R^PJ z>|wmMg=<&#P_JfKEFNQLtB){&dW`yi{7>v&y@98nc1dwdoJN1TjURaN zWvufCXJ-pyI!sfN^^h$pY_bKO+1tjG*LLvat>^x`9ZtWkw&g#0eD5V(j!&-1HSqbSfefQ95wTXS zYG`||0L?K#-NH;Y?wAi@!gn&n#f*7?Yhcx?rjsc?^pTGs?DrAIE{GZtJ96%O zam@065*R#n?Evq3{yB>Ly!z_v=sTcUwj>p>aaEx#N8oT2!IC}*jWq-)uFjWO&(5*g z%wgIBSg-Khwd=$)Bs;sXy$OOS>2MQ9O79j({1}te!}fj;r*Bt4O&e^o6IuhDuQF73 zA0nA&=sh~YjVpT?^c{PlbKr}5X#9Y^^D!xz2JXr6bd1I9MA#OsBsrl6(m6MI!|T)c zm;`X%<0$4a(Zw>1C~pi8T1D#suLc8RL4aO=fVdj6-`^ii5!xC>-ZJ@2-<@od-Uh#0%1HNWa zMgKOA^SJj-eED?M1D_({cq!b7@0 z6#?Qtq8>$hH2L87Ry4gP4!%zSApb2gz=5_5)c*J);$K_|MX8XgeSsG+AO}eg(fK)U zT|dCcR;YJ|*xnjqd3wUOz+h(=4H*O?8_Wcxrn(}(o0>Q4dDDHiZNng8BROt(Oiox) z(CQ;%I1= zs&)OY+@05?7BV4O%x0LKpCRAO;Z-Y)y#^op@RuSQqwN@MuQ-3pkc_B!fOl`o)G ze@+pi^>T&#cjpLwpv*IV=e!|3mgYl+6IG&e=7i@WFA9QQOHsn48{>R2r}eT_Ea-qq zje>&7X3Gjj=^Q!B7I45=RHz$CE@442AKFrnN5qc=1{n1dT-)Ep?CB?Qetd+7_ikft zYovn&e%hmD@bRO^@D^gn?3o_QHb5IjXpJyIHtQVuW(Bl4s`VkldXB9@`1hWE?)mQk z@SSgc^kcXjpS~lwJi(t)<2%>D&w0m}{q$e%`~Gjsvh2M{k}!}F0}zBnS~ECCp$1#J zojD6%fPg0UBYV9>x%4V4%wQKs{4Cx8`)MDmddc5uGUO9fc)?d6x^h-Vf+`d8CMttT zgDL@D_$d@P34}qX-QE+4Q^TOn$2q#>!Wc;3zKsCs^9#}&Q2G`(m$Za|3MPf_Caf~B zsurkn%PgzA@2=9nQW*fyf`K;-A`wR_EJkS$PhHu;*tZy_3F%gg$q3i?_YqHakXsK8 zJSG87bO$Y&5Nt2hO{4Rr3=6dh=J9G9CGh-?vC($E{sz4$X8+kq@KVd+sb_d>&)&p(In|K9ILQx$l8bVSy{a=pO$;#_?9J&5X|ORjw2 z=8Y{(MmJ#E4DWmX8B9l0q@yhuKZ0eOiB5jJRw#Z{S48&5rorxbfDeDx`|;?(1FTO@ zu~}`{5;#0RL)uHRSZ6GG4^x-8jd)C^!+)R=Q=Op6F^UY@05IYVDKx=hiW<)FDg}uG z)|Km1x%L3IwgO+UBZGcl>9E{X9dba2#RaQaf!Cs~a>@nIo%3L^M(bNx?%LKr4SUgoN5DQulntHHDp zRRA6SAzL~9iW#cn9PfGV>c?*GKK+LQ{H2e*`8qDgr~e2pPxNQr_}H7@@|S+{FaFK{ zylI->W{ml5MNy>ctmn%8F4!%XD+dHr1U!Shv;fepj$7$-U!dr50~9RB?E-L+pQS)K z?Y}E{PMJ)tH@JRX9+Dshq%NnQn9QZki2ec$?+3n&ko_wIan;_ ze5@=4jXxd?$POsu9wz+(va-PY-}`>HDAFkAxfdZDwn*q%zq7N$_pMh;T)lF|1$_n& z(@RlUpoAfMKj_#d%f*t3SCL6V8BwfA(DXZ);HjscM7CaGdwUCa@7+U|7Z?o(+?Nxd z8V&j^gBw^}J=kW+zu()z&1arLnvCE@DO&g}>&L0kIfGi{qNUvw;L6S}cD8qL_{_6- z?&({2@q4}x=f@|=iw#>Jt1Jf^AdUk(@zfrYL7&GQh9DEf;UWfch-Ysc;H_~FBkbeW z69-tY=UAMb;p!-W7YtB0(uT<^56hC*+665KYEQ5VGw>Y1ujKE&fE6~Aa0m|yJRa(`%HY7^EvSVqH0)UdwYU+z587l?M(2F zcRi0+Uw#Qymb3M+*sO4Lct|}D&sFFm5ywJVA!!{WBG^pEH~#R!?&J^Wu*bL@pD`oI zVR1P=^Tyx%Yk%|@z*qc|U-NtaX&8pTb+uake09JJX=^KLcOo)Vi4HoT61aR^ErnZa zRsWo=0kJHG_Vh)P*ftX2FUS)Uwcf4xRZ2=a)??7RIAy&Z;n5ZyGAOMU$_6*vb zORYe}p#Ta;!yzehJ3G5{W9ug=gR1p?3gIZ7P2^fDCN(O7Y%P>($RMDPQyi(I#Q{)^ z24B-uHG@CeR>Wkw^7PJd2UXi(I+9Xe}T6#7i&pJ6t(9z*}$K z<~4Woi5oaQJ0V5y9q)W6mM)0_@bt}_SgbZ|8$@XjRpC<@$7v2MmMf9$4MPzxDuvSd z&Re&bG`{cW{XBg1`+oop8boP?`*-e9U2$)J2dmXNM!UPHTA-+y@bP+!10bHJ_&>h% z^Ktu)*YL#EeQY*M2I8G@irh;P*nn2VMEN^lr?qTD`J%h8*B4vCSeimN3WkORy2GRaJADYNW(jwe;sc>jT!qWsv^$>KPT(Dp@qSsF`GJqdP zn8q;!u$tNQdOd*KBAn11$A&tSZ}2kSc^X)EfFZHr;z zeEvt+os6(O84zv1$yUhn3fp^Al&cKZeZEvV2(S!1Pm@9U9M90bkFBpb5-f-xcEP(( zmc#yZhTGy!P3w~iU3v^VI?4< zgfZI;gM?y8fwkD#-p1qeGdz6o5c^v@I5|2bgXiY0TR1&F{_mj|{86_Sz~%Ui9l`$I zbzF|i@gM)?zxaC}`O+`@2dm}sH+#PSn^&vVttg6EZm#P>fpOXcSE`c+aw+ALdS)Q< z0HTA=vUH;XUL;>7Fvxpa*b6R%WDRH)g1yd)lrc}KZpw$(V9Xn?nD`JAApQa#{mK~> zWK~bcKYk{dSO|42t}3qD%!LYsViTmQAXL9JrP`mav{iNQf{P-c(!kb0JqqMlgi=T> z0F0Ol85s1_K{qcx%m2>0R#FZD;5Cg{zXsG(h#-TB8D)~AC|1Fm3lg-PLv9zPfi0`O zm9|_c%{&}%{|vTqKV(oeqPL*>5Zrg&^^qHZ+;pKqdZc#dfT%t)Arz1METarFgL6oc zo1AlB*Y4P;m(L1;C+C?-hx?vwTZ=Ijl@&b(xF}80vljip3G0k`-hw1$yCH0;XU`S! zaPoq9|w|D5!`0(%$2Uo7Z^CL9%l3D^( z-ZLN*rKxIBjZFH~N2uE+qNop>`lQpg?%J{~WrK~Ouf~OTjODS#am;yiMH>k09ss*&*%|sU%B)GxEwNGe)+`~z#sXX z&-sGCTbAW-0`MD?BpugvErFsZK}XU1fCRMGwp>-~b7CdztK4o!l`GJTQdpV z?laxK@$~!q5Lla5is<7m)8nv-|JNP zpzQ~JoGUJCscXPv6{@0a+SV8j2M9w-CbM*`RRXaXRwh9QR1BF2X^TODhYVb`$Qx_r zLYWrCD#TgN0L$JogMF)#v@APoLSzg&B}8-zh8y)+;J*df*J8O`vqWx1hL~-QIEwU~ zustD+2Ooppkl&TZ6LJO1{ZFP-gn~DM~9JkBVJ^)q;F31+3@`{Jm_ zYQygC?tIW6{E09O{y2cct?eCLj>{3e@WQ)sVO);O;mZAo#^5WWsP{M9w)u_5;Mdnp zgUEtId+v(huNy&RTdSV`^6#FkLd6je0*I3LH5!m;J*$CL)e1eKvN4J17Fls21;pPyyqpL2hJ807eVz~_~|DEqE?4h8X_bN{vKRYb9f^{5vG z@eY#QsbzE06MO5ya3~%SL4fgiqKOHAI)r@`3T8tErbZ(=DDpcFhBBuR4+nmCUcZSr zFN)-}=v#s3|#`l>2_ z5dd9PcfnYsXPbsP=?v&V1FsXRF#zgFS6-&$&PUpVzfj7LxxztfwZ*`mDiQDm#RZDy z=c-DE>6HD@t@;`UB=@ zf=z%_XV3-ZveG0>&l8Vblepnv2+wDLX9?UT9)Q7QJng8SElm!+@S=nVS~|f2z9az6{e80Ua_3G+d#{F{$mb;0Y?Jh;VKc$Y(7R5dKtW zIo|MFbzD^41?{_+vXucsEqu6NEk84Pd% zPhh#q*VVJgLnr*cJ3HIZszp2KyQ%`KGGds+!0+al0XK^He#KyLKkhg!5&$Z>97u5O zEN}s+RW1Xr>%mW^6EV8+r1ZXAESQ{0rKeDOC@T`8=@4{PnG%4}ik3?EYO9BzFR!b0 zu6T`0aF4VqqjRVU5c&NfeIW?=)V2pJ0TxnS+S=ZNRw>f)SgQv7TS<~cH*K*nSrfkt znX|g9I0@rI7&}osCY zv8SsYsW6y=CEBKLI_lj(>4F3yY6+dehDvo2tX%;x4A6zxxN1LIq+27dqWGKww>*#E z@uEC1fn3s)7s{R0c__sDK=czN7#j&*nndvRsx2Vz1(c4cU_U@T34B1R2a-7P7$Y7Z zeF|hnP1HZj)iPgQFou+=fo{GG-^c2JWul`XPF)@IHSTxOei(4o>-(O5KL%56foP>b z{U4;%&&q;32HMQlUDZNV9(nBi4z4vo0jFNliBCnGFZa8!GD2LGX9mFF9tL4|E&~OS zc1B1ZlbIlpzP(fnV$KJxjYGOBI;H^wtj?oYV7E^2ij|fCbl_8wC(bdeN)nKHK2^g% zkYmwmR%b{RLxGZ3u5(Ij9~?MF1#N=4uZEAW`TYemQ6T5@YY}$>TshxutPqt|$@k7? zb7i~;Z846io>a%7Yc(t42uLJ67_b zlncZlJ#C+pL@@*+iqq*h2rDAwoVO}(z9+R;;ECsubHy_DB_BiDWubqP&CN}!i1RUdmT+e218+HaOh!l2Jpy_U}j7?a9_h~DId=(2Y~&JP0jZ_=^MVgxg z?u+)wA#c9oebCngfbUmix&|yj3}^tN!4(rBK|hStZkacH<=Sg+IZYD{3|i7x`~ibP zfkG1y_OY9WW#|jq362?%a4sb{gRj?M45mz4O|ab5*FcZ+qL+b+GD+~}%9$%vw+fY2 z^rlm0lofOs4*B@mS=Hebs6eQ+KCV_>awA|x!(hcEOXj-^hK*7Mne+&jz!^@pDq_Ta zx!)HHaL(NG1mCq%Z4$5j^g{oA!+DVFi}(flD0rUX9BWx!SRjFx(pA=(=byi4`Tw22 zLlm)`uj~fCc07)WU(n|W0#u--F{Cc0{gl_DvPpVTM7d@IxB$+1jzyVIf;+D%qZJ;` zn{BC$!D~6}u3bq4?LPqU=V!CozsCO$<8oY%z)6u_j?3}?&j@_~UylaEe_fX47l&c+ zEAu@6MY2-rqY!IhBAuK68&I9DZY6kEtQ-h`K2XY+D(|tJ?@6iqVoz4w?@|{GnN$e& z-~z1<1|9V-gd(w_&jA`J`M9zfBybm+AjnSv2WpE#!Gv55%KijU*ftDc8r1lCdOX^H zm(OTA)O~c(=U;_=82q@>?^+ld#D#9gRVWiBnGYW_h)QR0GGH}<@7Esl1*)1J1B1E% zD`iflY7ln`g|75lp>mSnPuit|CSBmVz9Q zKVohqzYBFxl0!|{q#eY-%&Gvvd(>Ev!L?`Zl<0>aX{D<}b|W^Z$&?aXJ3~7y*7{#{Y%AvxtslSL4%an6XJzQ$uVFA<&C&Rfw z9WWM5VJryqx~OX1i^P=VLNXhC2BZKbq&UtaOfHFo{zZZx&qX4$=n$Wb8_A1LJ+5h} zXSsf2;-}dcNznQL*xV_RY;{6I5(OB274S=7l3WJ~6KNk1ud&1)Zde?1cC6Mi;5XYD zD*)?!m^;ABH34`S5)jvqczLQz*B2pQx}z#)Pj0H4~W6PEn2d$1B$Y?as;n0(I&% z+;r28|J!|b>U1aV#TQ@vu6hZ6dA(S_tX{ltf>fgvEU=hC59u-z_^#n{eAgk&^8g4F z0_ikJ6YSJ19LiQmi+UTcbV1p$Jbvf60L@`%vb`!$BlsCb5Q#LZVLkWRW#+drAy|5u z1H^pi1<(F4CDD8|a97))RLPtGo1C|=_95YlG$iv#m#l$BnP7QXQ@+bgWF41u5X5$# zIQ3LfOk6um6H@bL9Z%U>?vefgO2_oW`AFJI(9Rzq^&YZM(oDiQA)M8ch$$e=v8M5b zxE=+8&|cuDa1s!$W67ikKyrM{C9FwG<1!|g2W|Oga#VX{5+>$DTS);b0GKhWs%Ji$ zXSj|`DsyA3VO-G&Y))l#vAb(Rq4Aw_8B;V>2P>?l&sY34mZO!4(h0Lf);{BI%ogiG zY`+pe>-R)G7e8758$VI)p(mbva?+{O{}v7Xf$H>sNDo!}#saKwudHofT0r=vCGo!x zJ1m>4I-i%O>eqO@C$!4csuC|yRr#oF*`;ka05xsuYQdT_VFHvKAplv>nrA;Pz_*j) zL)Ot}i~uJ4RG;&b*4|9h$&iqI%k}13GAmZ|pO>T@Du8ytBVdDy+2Sz*C2LLpf~I~MtO+V-rCcQFBt;sdA*k;G@Fe-s zSA)K}Po__Xq2YX0*EF)+p((L~VRASmvn1yLmI3AfC)=YnN=asY3D}ONAo&%h_=vEb z=nwV*sAzyNOL5Ia9K;8s?blh;L{wzk^PWN6Tc0@@P`ASj7)^5S>^auld(5-KbAon( ztb6pqS{g~Bb|z61F)6r@^GzPbe$6X))EIxN7}cM8>7|#>VFLT#rcRxP|LX^S5d zI9DG(P^#b`D6shS0)a0c$MLgxu?H9fdZ=j6ubek$zqa2d-7g;rNb+6Z0VKpDL+sXs z8pfAkFSg}42qGa8K83^>mHUBUZP=c9{Ue>LPES68xe~D9UJaxGv4C|_<^rf0>yn{& z05sijEC3g&yuKecf0)FG`3ICDEo*|HKZx-T0gW~f#sg63ESJJWJ31B$x?vCk#Ei-0 zMS!9Omh?~;7*$!v9FeSa8FMuxam^KINW32EeHfc@Ve607yi3JD?m;rt;arI-e464? z%zAq}>q<687%I#GDSi}3I|%S*ZC8e685!0106Z%AG805y&%MMGpZU?xMvY@uV`JWc zFYC=G;|Y+@8&kqL`hF}o$vn{tkj|qiL!E+BY%`~U=ADG{B@B}1fpPjwTjzp(XBL$r zA+-nxNe|r2Mw8=9zgoxsOojUW#-vlH?gP;23L;*fzj4bgxBNz#2i~ousxPXS-4_#&~ZB5EDv=O1}03u1H+xhXIdq zK!SP%zToLsm3}1hS;EQE1^_5PycA6V5~HDa6#fBVVHEVcw=MyI#`yp)*JLl_=h~+Z z4%m*fm)Y#B^oNSyYJ!4!uGiAQ?$MXt`~a|~2`lU|mpU(I4CW5lC@~XK1}NzTAJugn z1d-YSM}E^U>qAJKwr|GCwIlJzISyZeXbmFSs`eL9t(m}F7!RM!A7&zJv}5|+_FbF1 zl_mEL^{ngho3-K72owIe&-8~jf%Vn5g5z)qrQs(4BS51s$Y>9M8z9zK0y6>Oi2SA> zo+a(|<^#ZMKi>ZBd1akV&#a#Y%`wJ2)tHklB3AJJXG}0Lj2i~;sfs-KxmxR=t)ab& zf=K@#)Tz_(26)&yb)xFqt9aR!l=dwpb$vm-JU_p*Q6Fvo`36MW2dew|OhZad<~5{j z0H;Y$R7SI4j3I+jy2tK}G#e?d0a3MKBA`J4KKlV8)xYNN=Mc0FN|DQTOpD(i1nz`t z=~EDgu$TkPa>rPl3!nuh2me%0|F#c51vD7}^UNh?k`&_sSQ&Rh&L|i(np?h&iEBl= z&ss27rGCI169?-D_)#mL^#H`M(d(hl*f|!h3IL|b0`LOFkh%$P<9LA3HDLTYQ!3?p z?-GZfaqADEdY|#(=mr?N9R|cX^BomDrWvGYRsHm39)q^7k*?zen&=SLow*9gfIRor zx)f}KfdP!GkBsHa=`-Ai>T8E%N#D!Z+Hs6Y^9N&)8DxB#PcT263-e|ziNhusi%W5z z{-mCPU)aB}`Sa!2w@s<#|4-`FX?O!Zbe%c@fZJ8=??>zFj~4E{U%j|LuK?q7>s@&( zs_#S2b}7n(lpIjwC63D0jC2-1F=pOcE0H#vblc*#Q!bXzsOEXGm)$nfoC$YyR8+#| zr4RT+NmIOwvzAgW7!GqH-~n8W-B5f;H8A7h`k50TROj$%X<;PUB*sbT9LH&==DLgv ziJjk&Kx0k;Qv&m;Bz=&5?HbeN6jBnfEh7w=t9q9?0g(0dCkfAb9T%rOO83UgABkB1 z4J3NV5J|3Sk(w4FSWHTokuV!D0Bql`dw_-pCI$@xHhmZo90O0(I_yUy!aZ#BJpJ;^ zq}1hkP^Its)G_IQH}}&FkA^mKJD9$j4jC0w{5Eq7S^yn8uU$`BX0rxjHf3&nuTVUI z+@wZ}=TB$AFeI8-W-$vqRlk3!GzP!;W^eXpw{dMM|GgooQ>URne4Q>Kx~;;VZmS&T zUsIs+IrYN+?2dUG3ajNqLxyMq9@01IFtLBg~EhyW2lh%^tNF)z+% zJ`nq57$8dvn>LwovJbWYN_{Hbqs;?Qbs%J304eFT>veOv^7DNg#t@ z9ee!}FhfiOp(Pn_C(|Ew@yCQWs?KNr<-AtiqzWY0z*Y|upxO{JvlmNanl9 zQLsENt0ie;)2VY9lV6|vVhslv3HH^=Fa~HkI3AFuRsg4?+UFi~ugsC4y+2xna0xUc zJq}6qb3^_tDy738&lU})1m;9XNY?H*YMp+iG!4I8t><6wbV<-~&pr2EYGdlui5KM0 z(h8*Bsz9%b4=sIWwf9riO9OySa&zYF8RPY1cQDQ9ZIy>s|&+&Y6uk|4@@ejT$ zF#(Ot|F&9-U#oHaY90R&+Jd#3d#6s93Jv{%>~x9KL#NN3{kBQ90-E=$7wKmdkbPRc zVc#B*5}ca~J$3Y>_>Wy$4}VJ5me0V@fWq>xIVRF3QYOFIr>Q_~g0bIm*h|GWfMsM~ zy!fL+j(ylrx7G(V&v8i~9A5)U`2rGA@z=FwFzAyK!#FeooNO0>llFMm1T*YY`@k`P znKo|r!5}DoS~w?#l89Su1@p%qKu&{5l>QMZtLu$T>Dq8#I8P zF_{<&i9D72rfaMrYh4b2>o6r8uYUn{evkp*O*TEP7&^=f|0 zG0t|XZplH*hJ|#7x_i!x7;q6lIjRAZk~OOF*n|NPTh#8UaJQXutowYAWIM?*0(b){ zRKtQTWQkuIpm)5a<8ef?j$eZ%i8)8D0^?(Vj=|EifE9qtagNO*JgEBxBBW+ZGy`nr zB>;qJm=?|L$ZwdD_Q~4C9B^R4C9Z+CLk&wZ2NGI}b6>6HYB4dpwZA!o zCJgd$d1QPBSX+L>sF+xY7KSTDkhn&Y7_ILa&G2w-|Lv0Sf2#)cXOBGc$fQ%J%Yg>| zK|6K2+-PI6@n^hj3oyR&jc>j6qst!sNd?lMR4?kc;YE#<>I*&^f|vqmI@FK z6SbfsH!)Bo=zUA}n#r&F;e4d`L>mBRmLNtG05HN_K+z@)ru}VTrS@Wo%AAHtLQi&% zr@Q)0dSs+gO%j?hxMZa8RLw&>K>A(wvz_BfCksQO>4bim3lcOoeCEh?0aSA!K*smm zkJ=OlbvR=pngNKo|0Y4F$WsH-gf~v~sYpybrht^oZO7qgxH1mOG}vtNfNZoC=2lRP zV{Qk=rs`k+1VA};7s7<$Jjhs6!H;ux$xpy~WNpXvML*_l@IJDgHRL(qx8{Ip9Qt4$ z2p4^zn5W;Zwfx=duD||IHp}Ku@t;neE+-oLL)+hd9FTEW|+R&=XRvp$r z7<7moI1Yjr?fWF8p>K{+atBCJl>=UkODPr*TA!|4e%DNLtvOb!>jk`{UN`fh1&(O+ z2gq4I*n9zOo2l+^Np0Q;5R5v!0eBo20d~~?Y)4XO>=5Upz6ZRSKjRdzqXk$))vq)i z?Z`%|A*O!ANWYfUr9ckfYkk5%-B2hHaPxI(52SY3L7drz?#9 zW>{JNo15SG)~`SF^67UhF!n000311!T}JL*pUO zeC+Z72K)IAkX8>?{i6X`fK0s7jao1y5jFExJmf9QYi2{M`tjWgcaRQdXboC^fb%IT z)0mDV{{g^ie6x1GM1PtHOf*E38L@KRKA_z|6>0iBzYQg9;1(yr9nNFCP4x}90+!5I zJ3W#$psDu2QpkWmq%VVoa1u$8r~}LfINq%_H9m9RGrJ(B0vL>#A!;6&05&$x8Lh!s z>iCiECShXTIlpN+tSTrIr8Z-ADG7+sfR1a8v4FWDQo&+D%wvD6n9JJtMCb{m0F)tts;9Bfugv3p&VCpVyylBc16-e*buB@AnR9g#Z0B%&NEQ3A5+;c4jKOfj zlg0QDIl!1n!AsxFmAP0e0p9>a^vJH4>m~KC#e!rKU>*Q|H5tQ^wq6ONBXWcJP!GQ` z5KB1pwNJpAu)e73r%k(&x&x~)30xD#1OEi?jm!t$``mBF!#37gMvD7m?SXrX;rO$f z`=8cvfBF`0`4(pxBe@7Vb-L1M=nrEEb&9Uw5&FL~UT0bBqJpa8`5s;8Oh&Wv?Pt;X^vzCWN2=;<_u>O4LM)mqBq{YcBG z!2xWY(KO3LTnl@CL9i07HgEt^rUCG#Z%h_w7?=-Xg#bRs;=D-z{MPe5p6s;^$3gac zQI6+W9r+k5APqBMavcHPBuLoXPoF-G>YTaiT-eS9z*#@mTE7Iqo;8E$7h)U7GmHTc zNBfa5!`3ps_!c1T%Y38u$n4)afcCRK{oqUS9z4LzAfe-?#o3KDeaW4=P~zpaR4jO>wIh05D5onAoQA z$VZhOO~I%MptY!?!$l|wbDaNgkv!vz0G0v30j^o3a;~YrLL38Ie@SvP2=oo)0ny~R zN81pfg<(Nk;Mfy0&wNsD*qZtS&JDA8*#q2|E|T4Dxup9OZ7$4Pdp~8H6aOB~g!}l; z_RKL+1&}!#U@msZ(wE!~%wHxY83$vY&{u%_gXV^VR!HgJ*4Y21+U-6QPd)Y2q*JG>iH7#jck0v$AfSEM3opDt zN!NF;?;lX@{R_a}uhh$L2O#N8XB9($kDsf_K8G|4@FZp)iMv3H{d)P2<91Ugzx47x zsBcBVCQYN602Iw)$6o*~KxSsW|i8KiC zVzyw691DOVMO&G#B;`}>8i{0xh5;ZZjy@rG2Rhy14^VSC3G<@eKY-6)5*9TL0E`h5 zKa7D{__j8;$jLxHeoPuV8!~_WC^**~4Tc<|H8E0wak5YK|9!<=+_pBG{X_ly`!{~$ zH-4oz{EgrEO(vZ>UClJ~e}aFNI(2&GjW^B!iyvO7mv1R)@_h>Q-n;DR?^U4oUbXp# zd6PO*D5wg$0Q!KCWqM7HWB3}NL~)sm>hl1VDT4to)cjGqA2LJG4AV1jfIbN3!8ar@ zweR<^&(kM%Z!_Pa8NkedWDJnUgFkry5{ehKyq@=L2gq9=xyBq#hqVU)Y4$lc=872v zRX=0FUSG!@4U0x7tjU}7fy~BLkZCe;K|SLln+kyAa1f`Z1Fq&XH(I z&=jlV^WZcPe0dr&49VLxJHtl%)N31x~jBa%u$hyfN+`sTun|`%|_! z0A`rtMW?&{gwQSW0<1O1wjDg&k+K1PQyc^0T*o{CO4{V^hgnF%p=c2V?wBt2RyiK# z!rB0lvg`QGt<47DI_yP*u!sKuIR)qoFsBv(AdhB%elDglUdsNhMRvh+r6C|e59i@r z$als8xm~hjlGgpl@{|shalR9o?PdSU zkU|Kw{fRc_dK)OS$e+&@8=qnOT|DOQc$2E2;YwR@joU(5LRXR+T{5b7Prc3Tj_}zTAwlkHW55{(in5xI(J-aeauYE zQHb^t=;UFD=pk#}!7OVt@Gf`{+XwLvA;RarN-2F~Kp~mWNwA9|l>!c37)##ts8#F7#uyJi~#CgD7*AJcu@yEn5@lJhB+{SbuJveP(m}bkqAM zxY*-tBYWgp_Ykk|A)fPnv_g&S#kq{dwSOFfAeg=T_NiZrAP9x?|6RtMnmTyouwtg( ztDOig++M9Ri1mRO!+r?pzNW7C)^)w7uIk-NWxKF_r!jhmHs*h9-!x|8A>dwXJ+;<4 z%q_O%V1hrR(?A6qAk)cO(C4{b!zUkcETtNB*5kyaj1wXv^;u RjtT$(002ovPDHLkV1kWCL8kx! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json deleted file mode 100644 index af205115308e4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "posthog-app-url-parameters-to-event-properties", - "displayName": "URL parameters to event properties", - "version": "0.0.1", - "private": false, - "description": "Converts URL query parameters to event properties", - "keywords": [ - "posthog", - "plugin", - "url", - "parameter" - ], - "author": "Benjamin Werker ", - "license": "MIT", - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc" - }, - "devDependencies": { - "@posthog/plugin-scaffold": "^0.12.10", - "@types/jest": "^29.0.4", - "@typescript-eslint/eslint-plugin": "^5.53.0", - "@typescript-eslint/parser": "^5.53.0", - "eslint": "^8.34.0", - "eslint-config-prettier": "^8.6.0", - "husky": "^8.0.3", - "jest": "^29.4.3", - "lint-staged": "^13.1.2", - "prettier": "^2.8.4", - "ts-jest": "^29.0.5", - "typescript": "^4.9.5" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit" - } - }, - "lint-staged": { - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write", - "*.{ts,tsx}": "tsc --noEmit" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock deleted file mode 100644 index 8a3dfa8091631..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/yarn.lock +++ /dev/null @@ -1,3099 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" - integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.0" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.0" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.0" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": - version "7.21.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" - integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== - dependencies: - "@babel/types" "^7.21.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.21.0": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@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.19.0", "@babel/helper-plugin-utils@^7.8.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" - integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== - -"@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.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-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.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@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.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-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.7.2": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" - integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.1" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.2" - "@babel/types" "^7.21.2" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" - integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - 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== - -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.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" - -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== - dependencies: - "@humanwhocodes/object-schema" "^1.2.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@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@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.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.3.tgz#1f25a99f7f860e4c46423b5b1038262466fadde1" - integrity sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A== - dependencies: - "@jest/types" "^29.4.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.4.3" - jest-util "^29.4.3" - slash "^3.0.0" - -"@jest/core@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.3.tgz#829dd65bffdb490de5b0f69e97de8e3b5eadd94b" - integrity sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ== - dependencies: - "@jest/console" "^29.4.3" - "@jest/reporters" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.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.4.3" - jest-config "^29.4.3" - jest-haste-map "^29.4.3" - jest-message-util "^29.4.3" - jest-regex-util "^29.4.3" - jest-resolve "^29.4.3" - jest-resolve-dependencies "^29.4.3" - jest-runner "^29.4.3" - jest-runtime "^29.4.3" - jest-snapshot "^29.4.3" - jest-util "^29.4.3" - jest-validate "^29.4.3" - jest-watcher "^29.4.3" - micromatch "^4.0.4" - pretty-format "^29.4.3" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.3.tgz#9fe2f3169c3b33815dc4bd3960a064a83eba6548" - integrity sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA== - dependencies: - "@jest/fake-timers" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/node" "*" - jest-mock "^29.4.3" - -"@jest/expect-utils@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.3.tgz#95ce4df62952f071bcd618225ac7c47eaa81431e" - integrity sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ== - dependencies: - jest-get-type "^29.4.3" - -"@jest/expect@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.3.tgz#d31a28492e45a6bcd0f204a81f783fe717045c6e" - integrity sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ== - dependencies: - expect "^29.4.3" - jest-snapshot "^29.4.3" - -"@jest/fake-timers@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.3.tgz#31e982638c60fa657d310d4b9d24e023064027b0" - integrity sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw== - dependencies: - "@jest/types" "^29.4.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.4.3" - jest-mock "^29.4.3" - jest-util "^29.4.3" - -"@jest/globals@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.3.tgz#63a2c4200d11bc6d46f12bbe25b07f771fce9279" - integrity sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA== - dependencies: - "@jest/environment" "^29.4.3" - "@jest/expect" "^29.4.3" - "@jest/types" "^29.4.3" - jest-mock "^29.4.3" - -"@jest/reporters@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.3.tgz#0a68a0c0f20554760cc2e5443177a0018969e353" - integrity sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" - "@jridgewell/trace-mapping" "^0.3.15" - "@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 "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.4.3" - jest-util "^29.4.3" - jest-worker "^29.4.3" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" - integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== - dependencies: - "@sinclair/typebox" "^0.25.16" - -"@jest/source-map@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" - integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.15" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.3.tgz#e13d973d16c8c7cc0c597082d5f3b9e7f796ccb8" - integrity sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA== - dependencies: - "@jest/console" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.3.tgz#0862e876a22993385a0f3e7ea1cc126f208a2898" - integrity sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw== - dependencies: - "@jest/test-result" "^29.4.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.4.3" - slash "^3.0.0" - -"@jest/transform@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.3.tgz#f7d17eac9cb5bb2e1222ea199c7c7e0835e0c037" - integrity sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.4.3" - "@jridgewell/trace-mapping" "^0.3.15" - 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.4.3" - jest-regex-util "^29.4.3" - jest-util "^29.4.3" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" - integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== - dependencies: - "@jest/schemas" "^29.4.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" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@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/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@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" - -"@posthog/plugin-scaffold@^0.12.10": - version "0.12.10" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" - integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== - -"@sinclair/typebox@^0.25.16": - version "0.25.24" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" - integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== - -"@sinonjs/commons@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" - integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" - integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== - dependencies: - "@sinonjs/commons" "^2.0.0" - -"@types/babel__core@^7.1.14": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" - integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== - 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.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.3": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.0.4": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.4.0.tgz#a8444ad1704493e84dbf07bb05990b275b3b9206" - integrity sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/node@*": - version "18.14.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" - integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== - -"@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== - -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^17.0.8": - version "17.0.22" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" - integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz#24b8b4a952f3c615fe070e3c461dd852b5056734" - integrity sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw== - dependencies: - "@typescript-eslint/scope-manager" "5.53.0" - "@typescript-eslint/type-utils" "5.53.0" - "@typescript-eslint/utils" "5.53.0" - debug "^4.3.4" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" - integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== - dependencies: - "@typescript-eslint/scope-manager" "5.53.0" - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/typescript-estree" "5.53.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" - integrity sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w== - dependencies: - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/visitor-keys" "5.53.0" - -"@typescript-eslint/type-utils@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz#41665449935ba9b4e6a1ba6e2a3f4b2c31d6cf97" - integrity sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw== - dependencies: - "@typescript-eslint/typescript-estree" "5.53.0" - "@typescript-eslint/utils" "5.53.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" - integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== - -"@typescript-eslint/typescript-estree@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" - integrity sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w== - dependencies: - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/visitor-keys" "5.53.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.53.0.tgz#e55eaad9d6fffa120575ffaa530c7e802f13bce8" - integrity sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g== - dependencies: - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.53.0" - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/typescript-estree" "5.53.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f" - integrity sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w== - dependencies: - "@typescript-eslint/types" "5.53.0" - eslint-visitor-keys "^3.3.0" - -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@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -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@^6.10.0, ajv@^6.12.4: - 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" - -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-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@^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: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@^3.0.3: - 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" - -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== - -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== - -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== - -babel-jest@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.3.tgz#478b84d430972b277ad67dd631be94abea676792" - integrity sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw== - dependencies: - "@jest/transform" "^29.4.3" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.4.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.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.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.3.tgz#ad1dfb5d31940957e00410ef7d9b2aa94b216101" - integrity sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -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.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.3.tgz#bb926b66ae253b69c6e3ef87511b8bb5c53c5b52" - integrity sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw== - dependencies: - babel-plugin-jest-hoist "^29.4.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== - -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" - -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" - -browserslist@^4.21.3: - version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== - dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" - -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" - -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== - -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@^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: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001449: - version "1.0.30001457" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301" - integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA== - -chalk@^2.0.0: - 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: - 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== - -ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -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: - 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-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@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== - dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.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" - -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.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -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== - -colorette@^2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -commander@^9.4.1: - version "9.5.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== - -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== - -convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -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== - -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" - -debug@^4.1.0, debug@^4.1.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" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -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.2.2: - version "4.3.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" - integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== - -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== - -diff-sequences@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" - integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== - -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" - -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" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.4.284: - version "1.4.311" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.311.tgz#953bc9a4767f5ce8ec125f9a1ad8e00e8f67e479" - integrity sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw== - -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== - -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" - -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-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== - -eslint-config-prettier@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" - integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== - -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.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@^8.34.0: - version "8.34.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - 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.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - 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" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - 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.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0: - 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: - version "1.4.2" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" - integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== - 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: - 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== - -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" - -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.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.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.3.tgz#5e47757316df744fe3b8926c3ae8a3ebdafff7fe" - integrity sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg== - dependencies: - "@jest/expect-utils" "^29.4.3" - jest-get-type "^29.4.3" - jest-matcher-utils "^29.4.3" - jest-message-util "^29.4.3" - jest-util "^29.4.3" - -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-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - 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== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -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" - -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" - -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" - -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" - -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@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -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: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -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.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-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-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -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.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@^7.1.3, glob@^7.1.4: - 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" - -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.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - -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" - -graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -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@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -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== - -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@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== - -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== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -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-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -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-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-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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - 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-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.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-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== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - 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-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.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.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.3.tgz#7961fe32536b9b6d5c28dfa0abcfab31abcf50a7" - integrity sha512-Vn5cLuWuwmi2GNNbokPOEcvrXGSGrqVnPEZV7rC6P7ck07Dyw9RFnvWglnupSh+hGys0ajGtw/bc2ZgweljQoQ== - dependencies: - execa "^5.0.0" - p-limit "^3.1.0" - -jest-circus@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.3.tgz#fff7be1cf5f06224dd36a857d52a9efeb005ba04" - integrity sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw== - dependencies: - "@jest/environment" "^29.4.3" - "@jest/expect" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - is-generator-fn "^2.0.0" - jest-each "^29.4.3" - jest-matcher-utils "^29.4.3" - jest-message-util "^29.4.3" - jest-runtime "^29.4.3" - jest-snapshot "^29.4.3" - jest-util "^29.4.3" - p-limit "^3.1.0" - pretty-format "^29.4.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.3.tgz#fe31fdd0c90c765f392b8b7c97e4845071cd2163" - integrity sha512-PiiAPuFNfWWolCE6t3ZrDXQc6OsAuM3/tVW0u27UWc1KE+n/HSn5dSE6B2juqN7WP+PP0jAcnKtGmI4u8GMYCg== - dependencies: - "@jest/core" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/types" "^29.4.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^29.4.3" - jest-util "^29.4.3" - jest-validate "^29.4.3" - prompts "^2.0.1" - yargs "^17.3.1" - -jest-config@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.3.tgz#fca9cdfe6298ae6d04beef1624064d455347c978" - integrity sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.4.3" - "@jest/types" "^29.4.3" - babel-jest "^29.4.3" - 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.4.3" - jest-environment-node "^29.4.3" - jest-get-type "^29.4.3" - jest-regex-util "^29.4.3" - jest-resolve "^29.4.3" - jest-runner "^29.4.3" - jest-util "^29.4.3" - jest-validate "^29.4.3" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.4.3" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.3.tgz#42f4eb34d0bf8c0fb08b0501069b87e8e84df347" - integrity sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.4.3" - jest-get-type "^29.4.3" - pretty-format "^29.4.3" - -jest-docblock@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" - integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.3.tgz#a434c199a2f6151c5e3dc80b2d54586bdaa72819" - integrity sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q== - dependencies: - "@jest/types" "^29.4.3" - chalk "^4.0.0" - jest-get-type "^29.4.3" - jest-util "^29.4.3" - pretty-format "^29.4.3" - -jest-environment-node@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.3.tgz#579c4132af478befc1889ddc43c2413a9cdbe014" - integrity sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg== - dependencies: - "@jest/environment" "^29.4.3" - "@jest/fake-timers" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/node" "*" - jest-mock "^29.4.3" - jest-util "^29.4.3" - -jest-get-type@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" - integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== - -jest-haste-map@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.3.tgz#085a44283269e7ace0645c63a57af0d2af6942e2" - integrity sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ== - dependencies: - "@jest/types" "^29.4.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.4.3" - jest-util "^29.4.3" - jest-worker "^29.4.3" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.3.tgz#2b35191d6b35aa0256e63a9b79b0f949249cf23a" - integrity sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA== - dependencies: - jest-get-type "^29.4.3" - pretty-format "^29.4.3" - -jest-matcher-utils@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz#ea68ebc0568aebea4c4213b99f169ff786df96a0" - integrity sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg== - dependencies: - chalk "^4.0.0" - jest-diff "^29.4.3" - jest-get-type "^29.4.3" - pretty-format "^29.4.3" - -jest-message-util@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.3.tgz#65b5280c0fdc9419503b49d4f48d4999d481cb5b" - integrity sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.4.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.4.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.3.tgz#23d84a20a74cdfff0510fdbeefb841ed57b0fe7e" - integrity sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg== - dependencies: - "@jest/types" "^29.4.3" - "@types/node" "*" - jest-util "^29.4.3" - -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.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" - integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== - -jest-resolve-dependencies@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.3.tgz#9ad7f23839a6d88cef91416bda9393a6e9fd1da5" - integrity sha512-uvKMZAQ3nmXLH7O8WAOhS5l0iWyT3WmnJBdmIHiV5tBbdaDZ1wqtNX04FONGoaFvSOSHBJxnwAVnSn1WHdGVaw== - dependencies: - jest-regex-util "^29.4.3" - jest-snapshot "^29.4.3" - -jest-resolve@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.3.tgz#3c5b5c984fa8a763edf9b3639700e1c7900538e2" - integrity sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.4.3" - jest-pnp-resolver "^1.2.2" - jest-util "^29.4.3" - jest-validate "^29.4.3" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.3.tgz#68dc82c68645eda12bea42b5beece6527d7c1e5e" - integrity sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA== - dependencies: - "@jest/console" "^29.4.3" - "@jest/environment" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.4.3" - jest-environment-node "^29.4.3" - jest-haste-map "^29.4.3" - jest-leak-detector "^29.4.3" - jest-message-util "^29.4.3" - jest-resolve "^29.4.3" - jest-runtime "^29.4.3" - jest-util "^29.4.3" - jest-watcher "^29.4.3" - jest-worker "^29.4.3" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.3.tgz#f25db9874dcf35a3ab27fdaabca426666cc745bf" - integrity sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q== - dependencies: - "@jest/environment" "^29.4.3" - "@jest/fake-timers" "^29.4.3" - "@jest/globals" "^29.4.3" - "@jest/source-map" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.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.4.3" - jest-message-util "^29.4.3" - jest-mock "^29.4.3" - jest-regex-util "^29.4.3" - jest-resolve "^29.4.3" - jest-snapshot "^29.4.3" - jest-util "^29.4.3" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.3.tgz#183d309371450d9c4a3de7567ed2151eb0e91145" - integrity sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw== - 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/traverse" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.4.3" - graceful-fs "^4.2.9" - jest-diff "^29.4.3" - jest-get-type "^29.4.3" - jest-haste-map "^29.4.3" - jest-matcher-utils "^29.4.3" - jest-message-util "^29.4.3" - jest-util "^29.4.3" - natural-compare "^1.4.0" - pretty-format "^29.4.3" - semver "^7.3.5" - -jest-util@^29.0.0, jest-util@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" - integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== - dependencies: - "@jest/types" "^29.4.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.3.tgz#a13849dec4f9e95446a7080ad5758f58fa88642f" - integrity sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw== - dependencies: - "@jest/types" "^29.4.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.4.3" - leven "^3.1.0" - pretty-format "^29.4.3" - -jest-watcher@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.3.tgz#e503baa774f0c2f8f3c8db98a22ebf885f19c384" - integrity sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA== - dependencies: - "@jest/test-result" "^29.4.3" - "@jest/types" "^29.4.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.4.3" - string-length "^4.0.1" - -jest-worker@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" - integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== - dependencies: - "@types/node" "*" - jest-util "^29.4.3" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.3.tgz#1b8be541666c6feb99990fd98adac4737e6e6386" - integrity sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA== - dependencies: - "@jest/core" "^29.4.3" - "@jest/types" "^29.4.3" - import-local "^3.0.2" - jest-cli "^29.4.3" - -js-sdsl@^4.1.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== - -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@^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" - -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" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - 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-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== - -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== - -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== - -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" - -lilconfig@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== - -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== - -lint-staged@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.2.tgz#443636a0cfd834d5518d57d228130dc04c83d6fb" - integrity sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w== - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.19" - commander "^9.4.1" - debug "^4.3.4" - execa "^6.1.0" - lilconfig "2.0.6" - listr2 "^5.0.5" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.2" - pidtree "^0.6.0" - string-argv "^0.3.1" - yaml "^2.1.3" - -listr2@^5.0.5: - version "5.0.7" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.7.tgz#de69ccc4caf6bea7da03c74f7a2ffecf3904bd53" - integrity sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.19" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.8.0" - through "^2.3.8" - wrap-ansi "^7.0.0" - -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" - -lodash.memoize@4.x: - 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== - -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" - -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" - -make-dir@^3.0.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-error@1.x: - 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" - -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== - -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" - -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== - -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" - -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== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -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== - -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-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== - -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== - -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.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -object-inspect@^1.12.2: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -once@^1.3.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" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -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-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-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-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.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" - -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-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@^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-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== - -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.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== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -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" - -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@^2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== - -pretty-format@^29.0.0, pretty-format@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" - integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== - dependencies: - "@jest/schemas" "^29.4.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -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" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -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== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -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== - -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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" - integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== - -resolve@^1.20.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.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" - -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== - -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" - -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" - -rxjs@^7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== - dependencies: - tslib "^2.1.0" - -semver@7.x, semver@^7.3.5, semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.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== - -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@^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== - -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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -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@^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== - -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" - -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^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@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -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.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -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-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-json-comments@^3.1.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== - -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== - -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== - -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== - -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" - -ts-jest@^29.0.5: - version "29.0.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.5.tgz#c5557dcec8fe434fcb8b70c3e21c6b143bfce066" - integrity sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA== - 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.x" - yargs-parser "^21.0.1" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -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== - -typescript@^4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - 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" - -v8-to-istanbul@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.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" - -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" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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" - -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@^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.1.3: - version "2.2.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" - integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== - -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@^17.3.1: - version "17.7.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" - integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== - 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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore deleted file mode 100644 index f3c998024874a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -yarn-error.log -dist -.yalc -yalc.lock diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE deleted file mode 100644 index b6ce7c378fd26..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 PostHog Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md deleted file mode 100644 index 0dd4a373768ef..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/README.md +++ /dev/null @@ -1,24 +0,0 @@ -![Avo logo](logo.png) - -# Avo Inspector Plugin - -Send events to the [Avo Inspector](https://www.avo.app/docs/workspace/inspector#Overview) to detect inconsistencies. - -## About Avo Inspector - -_Excerpt from the [Avo docs](https://www.avo.app/docs/workspace/inspector#Overview)._ - -> The first step to better analytics governance is knowing what's wrong with your data today. -> -> We built the Inspector to help you understand how your current tracking is performing. The Inspector both identifies common issues in your existing tracking, such as inconsistent properties and types, and provides implementation status in the Avo Tracking Plan, so you always know the state of your tracking implementation in your app. - -## Questions? - -### [Join the PostHog community.](https://posthog.com/questions) - -## Debugging tips - -1. use `dev` env when testing as prod could show up hours later -2. `messageId` needs to unique based on testing to send curls (potentially used for deduping within Avo) -3. There's user and pass for an account in 1Password -4. Within the Avo click on Events under Inspector [link](https://www.avo.app/schemas/QtBfxYTrDv36SU3dsre0/inspector/events?order=Ascending&orderBy=EventName&shareId=tVkfNWEt5e) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-avo/logo.png deleted file mode 100644 index 62409d28bd67a7da67d9ec3b8b9af99fd86c8d05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15862 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 E06X+co&W#< diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json deleted file mode 100644 index 75adbcfa82294..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "posthog-avo-plugin", - "private": true, - "version": "1.0.0", - "description": "Export PostHog events to Avo inspector.", - "devDependencies": { - "@posthog/plugin-contrib": "^0.0.3", - "@posthog/plugin-scaffold": "^0.12.10", - "@types/generic-pool": "^3.1.9", - "aws-sdk": "^2.885.0", - "generic-pool": "^3.7.8", - "@types/node": "^17.0.24", - "@types/node-fetch": "^2.6.1", - "node-fetch": "^3.2.3" - }, - "dependencies": {} -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock deleted file mode 100644 index 0a9889569dc9c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/yarn.lock +++ /dev/null @@ -1,220 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@posthog/plugin-contrib@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@posthog/plugin-contrib/-/plugin-contrib-0.0.3.tgz#d0772c6dd9ec9944ebee9dc475e1e781256b0b5f" - integrity sha512-0HrE8AuPv3OLZA93RrJDbljn9u5D/wmiIkBCeckU3LL67LNozDIJgKsY4Td91zgc+b4Rlx/X0MJNp2l6BHbQqg== - -"@posthog/plugin-scaffold@^0.12.10": - version "0.12.10" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" - integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== - -"@types/generic-pool@^3.1.9": - version "3.1.9" - resolved "https://registry.yarnpkg.com/@types/generic-pool/-/generic-pool-3.1.9.tgz#cc82ee0d92561fce713f8f9a7b2380eda8a89dcb" - integrity sha512-IkXMs8fhV6+E4J8EWv8iL7mLvApcLLQUH4m1Rex3KCPRqT+Xya0DDHIeGAokk/6VXe9zg8oTWyr+FGyeuimEYQ== - dependencies: - "@types/node" "*" - -"@types/node-fetch@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" - integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - 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@^17.0.24": - version "17.0.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.24.tgz#20ba1bf69c1b4ab405c7a01e950c4f446b05029f" - integrity sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -aws-sdk@^2.885.0: - version "2.885.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.885.0.tgz#f8d8d7e2d31d517c3cea90dc2dbbfb9b6332eb98" - integrity sha512-V7fS53HkLYap+mt00frWB516HZV34C5pHNhBs/Het3Vgl7A0GbCpJs07G4FOIT9ioJ38+k9McscOzXG++1rWMQ== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -base64-js@^1.0.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -buffer@4.9.2: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^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" - -data-uri-to-buffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" - integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -events@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.5.tgz#0077bf5f3fcdbd9d75a0b5362f77dbb743489863" - integrity sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -generic-pool@^3.7.8: - version "3.7.8" - resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.7.8.tgz#202087bf5ec5e0b3bae39842a0ef98bcd4c1e450" - integrity sha512-Pz93INFSbhjEROVbM91rurD05G+Kx8833rG+lVU57mznEBpzkc1f5/g+d511a1Yf8dbAEsm7DDA3QLytMFbiGA== - -ieee754@1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= - -mime-db@1.52.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: - 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" - -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-fetch@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.3.tgz#a03c9cc2044d21d1a021566bd52f080f333719a6" - integrity sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - -xml2js@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" - integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== - dependencies: - sax ">=0.6.0" - xmlbuilder "~9.0.1" - -xmlbuilder@~9.0.1: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml deleted file mode 100644 index 7b7f69b1efaf4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.github/workflows/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: CI - -on: - pull_request: - push: - branches: [main] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - name: Set up node - uses: actions/setup-node@v1 - with: - node-version: '16' - - name: Install dependencies - run: yarn install - - name: Typecheck - run: yarn typecheck - - name: Run tests - run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore deleted file mode 100644 index e82eb841636eb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -node_modules/ -.npm - -# Editors -.vscode -.idea - -# Yalc -.yalc -yalc* - -# macOS -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md deleted file mode 100644 index 217bd0ba28b74..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/README.md +++ /dev/null @@ -1,90 +0,0 @@ -# PostHog Braze Plugin - -[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) - -This plugins sends [Braze](https://braze.com) analytics data series to Posthog. - -The data series will be imported once a day, for a time window corrisponding to 00:00AM UTC to 12:00PM UTC of the previous day. - -Campaigns, Canvases, News Card Feeds and Segments will only be tracked if any activity was recorded in the last 24 hours time window. - -## API Key Permissions - -Depending on what kind of analytics you want to export from Braze to Posthog, you need to give your API Key the correct permissions. - -You can read more about Braze REST Api Key permissions [here](https://www.braze.com/docs/api/api_key/#how-can-i-use-it) - -Campaigns: - -``` -campaigns.list -campaign.data_series -campaigns.details -``` - -Canvas: - -``` -canvas.list -canvas.data_series -canvas.details -``` - -Custom Events: - -``` -events.list -events.data_series -``` - -KPIs: - -``` -kpi.mau.data_series -kpi.dau.data_series -kpi.new_users.data_series -kpi.uninstalls.data_series -``` - -News Feed Cards: - -``` -feed.list -feed.data_series -feed.details -``` - -Segments: - -``` -segments.list -segments.data_series -segments.details -``` - -Sessions: - -``` -sessions.data_series -``` - -## Plugin Parameters: - -- `Braze REST Endpoint` (required): The REST endpoint where your Braze instance is located, [see the docs here](https://www.braze.com/docs/api/basics) -- `API Key` (required): Your Braze API Key, [see the docs here](https://www.braze.com/docs/api/api_key/) -- `Import Campaigns` (required): Toggle [Campaign](https://www.braze.com/docs/user_guide/engagement_tools/campaigns) analytics imports -- `Import Custom Events` (required): Toggle [Custom Events](https://www.braze.com/docs/user_guide/data_and_analytics/custom_data) analytics imports -- `Import Canvas` (required): Toggle [Canvas](https://www.braze.com/docs/user_guide/engagement_tools/canvas) analytics imports -- `Import News Feed Cards` (required): Toggle [News Feed](https://www.braze.com/docs/user_guide/engagement_tools/news_feed) analytics imports -- `Import KPIs` (required): Toggle KPI imports (Daily New Users, DAU, MAU, Daily Uninstalls) -- `Import Segments` (required): Toggle [Segment](https://www.braze.com/docs/user_guide/engagement_tools/segments) analytics import -- `Import Sessions` (required): Toggle Sessions analytics import - -## Installation - -- Visit 'Project Plugins' under 'Settings' -- Enable plugins if you haven't already done so -- Click the 'Repository' tab next to 'Installed' -- Click 'Install' on this plugin -- Fill in required parameters (see above) -- Enable the plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/logo.png deleted file mode 100644 index 99fd0bab6f62303cc04b8f9bb10710d9be8f337f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79392 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 UsZ`)Y0l*){&e68Sns()X0L*M)SpWb4 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json deleted file mode 100644 index 180b84408a24b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "posthog-braze-plugin", - "private": false, - "version": "0.0.1", - "description": "Import analytics from Braze to PostHog and export events from PostHog to Braze.", - "author": "Emanuele Capparelli (k@emkpp.com)", - "license": "MIT", - "dependencies": { - "@types/node-fetch": "^2.6.1", - "aws-sdk": "^2.1095.0", - "posthog-js": "^1.18.0" - }, - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc --noEmit --skipLibCheck" - }, - "devDependencies": { - "@babel/preset-env": "^7.16.11", - "@posthog/plugin-scaffold": "^0.12.10", - "@types/jest": "^26.0.19", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "babel-jest": "^27.5.1", - "eslint": "^7.21.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "~4.3.6", - "jest": "^26.6.3", - "jest-fetch-mock": "^3.0.3", - "lint-staged": "~10.5.3", - "msw": "^1.2.2", - "prettier": "^2.2.1", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit --skipLibCheck" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock deleted file mode 100644 index 6a08f58193012..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/yarn.lock +++ /dev/null @@ -1,6345 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - -"@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.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" - integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.8" - "@babel/parser" "^7.17.8" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - -"@babel/generator@^7.17.3", "@babel/generator@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" - integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" - integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" - -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== - 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-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-member-expression-to-functions@^7.16.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helpers@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" - integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" - integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - 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.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - -"@babel/plugin-proposal-async-generator-functions@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" - integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.6" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" - integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== - dependencies: - "@babel/compat-data" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@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-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-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-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-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" - integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== - dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" - integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== - dependencies: - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" - integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== - dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - -"@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - -"@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-regenerator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/preset-env@^7.16.11": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" - integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== - dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@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-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.8.4": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - 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== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== - -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@mswjs/cookies@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.2.2.tgz#b4e207bf6989e5d5427539c2443380a33ebb922b" - integrity sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g== - dependencies: - "@types/set-cookie-parser" "^2.4.0" - set-cookie-parser "^2.4.6" - -"@mswjs/interceptors@^0.17.5": - version "0.17.9" - resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.9.tgz#0096fc88fea63ee42e36836acae8f4ae33651c04" - integrity sha512-4LVGt03RobMH/7ZrbHqRxQrS9cc2uh+iNKSj8UWr8M26A2i793ju+csaB5zaqYltqJmA2jUq4VeYfKmVqvsXQg== - dependencies: - "@open-draft/until" "^1.0.3" - "@types/debug" "^4.1.7" - "@xmldom/xmldom" "^0.8.3" - debug "^4.3.3" - headers-polyfill "^3.1.0" - outvariant "^1.2.1" - strict-event-emitter "^0.2.4" - web-encoding "^1.1.5" - -"@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": - 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" - -"@open-draft/until@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-1.0.3.tgz#db9cc719191a62e7d9200f6e7bab21c5b848adca" - integrity sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q== - -"@posthog/plugin-scaffold@^0.12.10": - version "0.12.10" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.10.tgz#ae28cd25bfe8178171841a98372ef40423b2fa32" - integrity sha512-63HFD0fC232vg++MWbPNBSezbNMuUfamJxLs3wV+GrV+2gxlo/76gN7AK5a/3N3xBtRs394Yj7TwkwlK4MryLA== - -"@sentry/types@^6.11.0": - version "6.18.2" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.18.2.tgz#f528fec8b75c19d5a6976004e71703184c6cf7be" - integrity sha512-WzpJf/Q5aORTzrSwer/As1NlO90dBAQpaHV2ikDDKqOyMWEgjKb5/4gh59p9gH8JMMnLetP1AvQel0fOj5UnUw== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@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/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.7": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - -"@types/debug@^4.1.7": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== - dependencies: - "@types/ms" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^26.0.19": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/js-levenshtein@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/js-levenshtein/-/js-levenshtein-1.1.1.tgz#ba05426a43f9e4e30b631941e0aa17bf0c890ed5" - integrity sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g== - -"@types/json-schema@^7.0.7": - version "7.0.10" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.10.tgz#9b05b7896166cd00e9cbd59864853abf65d9ac23" - integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - -"@types/node-fetch@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" - integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - version "17.0.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" - integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" - integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== - -"@types/set-cookie-parser@^2.4.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/set-cookie-parser/-/set-cookie-parser-2.4.2.tgz#b6a955219b54151bfebd4521170723df5e13caad" - integrity sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.12.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@^4.12.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -"@xmldom/xmldom@^0.8.3": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.8.tgz#d0d11511cbc1de77e53342ad1546a4d487d6ea72" - integrity sha512-0LNz4EY8B/8xXY86wMrQ4tz6zEHZv9ehFMJPm8u2gq5lQ71cfRKdaKyxfJAx5aUoyzx0qzgURblTisPGgz3d+Q== - -"@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== - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== - -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" - -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@^6.10.0, ajv@^6.12.4: - 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.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -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-regex@^5.0.0, 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@^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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" - integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -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-sdk@^2.1095.0: - version "2.1096.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1096.0.tgz#d41d6c6afe44b00977d4fe4c68e9450941d72931" - integrity sha512-q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.16.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - -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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - 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.0.2, 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== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -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.1.0: - 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" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.17.5, browserslist@^4.19.1: - version "4.20.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== - dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" - -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" - -buffer-from@1.x, 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@4.9.2: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -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" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -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" - -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@^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.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001317: - version "1.0.30001319" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz#eb4da4eb3ecdd409f7ba1907820061d56096e88f" - integrity sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -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@^2.0.0: - 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.1.0, chalk@^4.1.1: - 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== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^3.4.2: - 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" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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.5.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== - -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-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -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@^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 sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -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== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.20.2, core-js-compat@^3.21.0: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" - integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-fetch@^3.0.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.3: - 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@^2.2.0, debug@^2.3.3, 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@^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.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@^0.1.3, 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.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -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" - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -electron-to-chromium@^1.4.84: - version "1.4.88" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.88.tgz#ebe6a2573b563680c7a7bf3a51b9e465c9c501db" - integrity sha512-oA7mzccefkvTNi9u7DXmT0LqvhnOiN2BhSrKerta7HeUC1cLoIwtbf2wL+Ah2ozh5KQd3/1njrGrwDBXx6d14Q== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5, 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" - -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" - -es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.1.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.25.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" - integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.2" - has "^1.0.3" - is-core-module "^2.8.0" - is-glob "^4.0.3" - minimatch "^3.0.4" - object.values "^1.1.5" - resolve "^1.20.0" - tsconfig-paths "^3.12.0" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^7.21.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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.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: - 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== - -events@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -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-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - 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: - 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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -fflate@^0.4.1: - version "0.4.8" - resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" - integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - 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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.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-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 "^3.1.2" - -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@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -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" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -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" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -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.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-intrinsic@^1.1.3: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -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.6.0, globals@^13.9.0: - version "13.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" - integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.3: - 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" - -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" - -graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -"graphql@^15.0.0 || ^16.0.0": - version "16.6.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" - integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -has-bigints@^1.0.1: - 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" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-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.1, 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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -headers-polyfill@^3.1.0, headers-polyfill@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.1.2.tgz#9a4dcb545c5b95d9569592ef7ec0708aab763fbe" - integrity sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA== - -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== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-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" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - 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== - -husky@~4.3.6: - 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 "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, 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== - -inquirer@^8.2.0: - version "8.2.5" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" - integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^7.0.0" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - 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-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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: - 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-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.8.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - 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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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.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-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-node-process@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" - integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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: - 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-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -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.3: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -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-weakref@^1.0.1: - 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-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0, isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== - 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-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.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.0.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -jest-fetch-mock@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz#31749c456ae27b8919d69824f1c2bd85fe0a1f3b" - integrity sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw== - dependencies: - cross-fetch "^3.0.4" - promise-polyfill "^8.1.3" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.5.1: - 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@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -jmespath@0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" - integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== - -js-levenshtein@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -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@^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" - -jsdom@^16.4.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.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 sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-even-better-errors@^2.3.0: - 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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -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== - -lint-staged@~10.5.3: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - 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" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -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" - -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.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.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@4.x, lodash@^4.17.21, lodash@^4.7.0: - 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, log-symbols@^4.1.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" - -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" - -make-dir@^3.0.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-error@1.x: - 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-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.52.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: - 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" - -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== - -minimatch@^3.0.4: - 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" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msw@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/msw/-/msw-1.2.2.tgz#126c3150c07f651e97b24fbd405821f3aeaf9397" - integrity sha512-GsW3PE/Es/a1tYThXcM8YHOZ1S1MtivcS3He/LQbbTCx3rbWJYCtWD5XXyJ53KlNPT7O1VI9sCW3xMtgFe8XpQ== - dependencies: - "@mswjs/cookies" "^0.2.2" - "@mswjs/interceptors" "^0.17.5" - "@open-draft/until" "^1.0.3" - "@types/cookie" "^0.4.1" - "@types/js-levenshtein" "^1.1.1" - chalk "4.1.1" - chokidar "^3.4.2" - cookie "^0.4.2" - graphql "^15.0.0 || ^16.0.0" - headers-polyfill "^3.1.2" - inquirer "^8.2.0" - is-node-process "^1.2.0" - js-levenshtein "^1.1.6" - node-fetch "^2.6.7" - outvariant "^1.4.0" - path-to-regexp "^6.2.0" - strict-event-emitter "^0.4.3" - type-fest "^2.19.0" - yargs "^17.3.1" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.7: - version "2.6.11" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" - integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== - dependencies: - whatwg-url "^5.0.0" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-keys@^1.0.12, 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-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, 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.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -outvariant@^1.2.1, outvariant@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" - integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -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: - 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" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.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-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-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -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: - 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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" - integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== - -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== - -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: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.1, pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -posthog-js@^1.18.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.18.0.tgz#91b063faf8c412472915773b5ab46dae225982ef" - integrity sha512-yMJKHfzF8U4dssaqf/ghNS0/Kjgni9P7Xu1b3gN4bXKw2D4drhDq7fUxSunU3kV65o/jH3UCohqS24Ad2rll0A== - dependencies: - "@sentry/types" "^6.11.0" - fflate "^0.4.1" - rrweb-snapshot "^1.1.7" - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" - integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-polyfill@^8.1.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.3.tgz#2edc7e4b81aff781c88a0d577e5fe9da822107c6" - integrity sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg== - -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" - -psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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.4.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" - -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" - -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== - 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.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== - -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "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@^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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.20.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rrweb-snapshot@^1.1.7: - version "1.1.13" - resolved "https://registry.yarnpkg.com/rrweb-snapshot/-/rrweb-snapshot-1.1.13.tgz#fc15adb7eb6354c859c8d594f57b09e1f5bccdd8" - integrity sha512-lv4vBSJ5orBcRoJnjLvtly6cSsctC+TNm5orVzYRL9SH3LmtSpQ+wI4bw7eh4AcyKoUf0x4pe1Bn632GggmKWQ== - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -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" - -rxjs@^7.5.1: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.1.0" - -rxjs@^7.5.5: - 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-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.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@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver-regex@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" - integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, 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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-cookie-parser@^2.4.6: - version "2.6.0" - resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz#131921e50f62ff1a66a461d7d62d7b21d5d15a51" - integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "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== - 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: - 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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -strict-event-emitter@^0.2.4: - version "0.2.8" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz#b4e768927c67273c14c13d20e19d5e6c934b47ca" - integrity sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A== - dependencies: - events "^3.3.0" - -strict-event-emitter@^0.4.3: - version "0.4.6" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz#ff347c8162b3e931e3ff5f02cfce6772c3b07eb3" - integrity sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg== - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^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.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.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.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" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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.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== - -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.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-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.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== - -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== - -table@^6.0.9: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.6, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -ts-jest@^26.4.4: - 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" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.12.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" - integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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-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-fest@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.1.3: - version "4.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" - integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -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.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -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" - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - 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" - -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 sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.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-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" - integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== - -which-typed-array@^1.1.2: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - -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, which@^2.0.2: - 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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xml2js@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" - integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== - dependencies: - sax ">=0.6.0" - xmlbuilder "~9.0.1" - -xmlbuilder@~9.0.1: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - -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== - -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@^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: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.x: - 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-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@^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@^15.4.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: - 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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore deleted file mode 100644 index ef0e80d8d8f75..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules/ -yarn.lock -package-lock.json -demo.js \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md deleted file mode 100644 index a3f7b066e5f5f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# POSTHOG ENGAGE APP - -The Engage PostHog plugin processes and sends customer data and events identified and tracked through Posthog to [Engage](https://engage.so). You can then use the data for customer segmentation, targeted campaigns and automation. - -## Tracked Events - -The plugin only tracks your **Custom**, **$identify** and **$groupidentify** events. Browser events like button clicks, pageviews are silently ignored. - -## Setup - -During installation, you will provide your Engage secret key and public key. These are available on the account settings page of your Engage dashboard (Settings -> Account -> API keys). This is used to send your PostHog events to Engage. - -Once setup is complete, PostHog will start sending your events to Engage and they will be available on your Engage account. - -## Event properties - -Extra event properties and metadata are also processed and sent to Engage. - -``` -posthog.identify( - '[user unique id]', // distinct_id, required - { userProperty: 'value1' }, // $set, optional - { anotherUserProperty: 'value2' } // $set_once, optional -); -``` - -The example above using the PostHog JS SDK appends extra properties to the identify event. These extra properties will be sent as well to Engage. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/logo.png deleted file mode 100644 index 9f02d624e8c87c33eefe4e2acebe94b309deb44d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24544 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 P_;*O>h<2VPHSm7`pZ<&E diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json deleted file mode 100644 index ee4c30617ae15..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "posthog-plugin", - "version": "2.3.0", - "description": "Send user and group attributes and events from PostHog to Engage for personalized customer engagement.", - "main": "index.js", - "license": "MIT", - "scripts": { - "lint": "standard --fix", - "test": "jest" - }, - "pre-commit": { - "run": "lint" - }, - "devDependencies": { - "@posthog/plugin-scaffold": "^1.0.4", - "jest": "^28.1.1", - "pre-commit": "^1.2.2", - "standard": "^17.0.0" - }, - "standard": { - "ignore": [ - "test" - ] - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml deleted file mode 100644 index 5c0b7178a608b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.github/workflows/tests.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Unit tests - -on: - - pull_request - -jobs: - unit-tests: - name: Unit tests - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Set up Node 14 - uses: actions/setup-node@v2 - with: - node-version: 14 - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Run unit tests - run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore deleted file mode 100644 index a3da4683244fd..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.gitignore +++ /dev/null @@ -1,122 +0,0 @@ -# Custom -.vscode -filters.json - -# Created by https://www.toptal.com/developers/gitignore/api/node -# Edit at https://www.toptal.com/developers/gitignore?templates=node - -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test -.env*.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# End of https://www.toptal.com/developers/gitignore/api/node diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE deleted file mode 100644 index 6b564f20cf467..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright (c) 2022, Mihir Chaturvedi - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md deleted file mode 100644 index f0e1772f12c71..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# 🦔 PostHog Filter Out Plugin - -> Ingest only those events satisfying the given filter conditions. - -## Configuration - -This plugin configuration requires a JSON file containing an array of filter groups. Events matching **any** filter group will be kept, meaning there's an OR logic between groups. However, within each filter group, **all** conditions must be met (AND logic). - -**Example Filters:** - -**1. Single Filter Group:** -To keep events where all the following conditions are met: -- **Email** _does not contain_ **yourcompany.com** -- **Host** _is not_ **localhost:8000** -- **Browser version** _is greater than_ **100** - -```json -[ - [ - { - "property": "email", - "type": "string", - "operator": "not_contains", - "value": "yourcompany.com" - }, - { - "property": "$host", - "type": "string", - "operator": "is_not", - "value": "localhost:8000" - }, - { - "property": "$browser_version", - "type": "number", - "operator": "gt", - "value": 100 - } - ] -] -``` - -**2. Multiple Filter Groups (OR Logic):** -To keep events where: -- **Group 1:** **Email** _does not contain_ **yourcompany.com** and **Host** _is not_ **localhost:8000** -- OR -- **Group 2:** **Event Type** _is_ **signup** and **Browser** _is_ **Chrome** - -```json -[ - [ - { - "property": "email", - "type": "string", - "operator": "not_contains", - "value": "yourcompany.com" - }, - { - "property": "$host", - "type": "string", - "operator": "is_not", - "value": "localhost:8000" - } - ], - [ - { - "property": "$event_type", - "type": "string", - "operator": "is", - "value": "signup" - }, - { - "property": "$browser", - "type": "string", - "operator": "is", - "value": "Chrome" - } - ] -] -``` - -In this configuration, an event will be retained if it matches **any** of the specified groups. - -### Allowed Types and Their Operators - -| Type | Operators | -| ------- | ---------------------------------------------------- | -| number | gt, gte, lt, lte, eq, neq | -| string | is, is_not, contains, not_contains, regex, not_regex | -| boolean | is, is_not | - -## License - -[MIT](LICENSE) \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/logo.png deleted file mode 100644 index 324f18eac61e3c56de53e897986bc589f5f508aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7626 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 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json deleted file mode 100644 index d77e9dcbeb10c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "private": true, - "name": "posthog-filter-out-plugin", - "scripts": { - "lint": "eslint --ext .ts src", - "lint:fix": "eslint --ext .ts src --fix", - "test": "jest ./src" - }, - "jest": { - "preset": "ts-jest", - "testEnvironment": "node" - }, - "devDependencies": { - "@jest/globals": "^29.1.2", - "@posthog/plugin-scaffold": "^1.3.4", - "@types/node": "^18.8.0", - "@typescript-eslint/eslint-plugin": "^5.39.0", - "@typescript-eslint/parser": "^5.39.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.2.1", - "jest": "^29.1.2", - "prettier": "^2.7.1", - "ts-jest": "^29.0.3", - "ts-node": "^10.9.1", - "typescript": "^4.8.4" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml deleted file mode 100644 index 83d3689905942..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/pnpm-lock.yaml +++ /dev/null @@ -1,3100 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - '@jest/globals': ^29.1.2 - '@posthog/plugin-scaffold': ^1.3.4 - '@types/node': ^18.8.0 - '@typescript-eslint/eslint-plugin': ^5.39.0 - '@typescript-eslint/parser': ^5.39.0 - eslint-config-airbnb: ^19.0.4 - eslint-config-prettier: ^8.5.0 - eslint-plugin-prettier: ^4.2.1 - jest: ^29.1.2 - prettier: ^2.7.1 - ts-jest: ^29.0.3 - ts-node: ^10.9.1 - typescript: ^4.8.4 - -devDependencies: - '@jest/globals': 29.1.2 - '@posthog/plugin-scaffold': 1.3.4 - '@types/node': 18.8.0 - '@typescript-eslint/eslint-plugin': 5.39.0_7dm4gihkjnuxbxl73rqy4xzt2m - '@typescript-eslint/parser': 5.39.0_typescript@4.8.4 - eslint-config-airbnb: 19.0.4 - eslint-config-prettier: 8.5.0 - eslint-plugin-prettier: 4.2.1_5ipovlnpea62s4232hvmwuqmsm - jest: 29.1.2_wnseany3vswo6p7nhyzogpjzqe - prettier: 2.7.1 - ts-jest: 29.0.3_2gcdg7c5hzdfd67o3khlosdlhu - ts-node: 10.9.1_5ra3kupzwcghzakkfdrtyjk72u - typescript: 4.8.4 - -packages: - - /@ampproject/remapping/2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.16 - dev: true - - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - - /@babel/compat-data/7.19.3: - resolution: {integrity: sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/core/7.19.3: - resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 - '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helpers': 7.19.0 - '@babel/parser': 7.19.3 - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - convert-source-map: 1.8.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/generator/7.19.3: - resolution: {integrity: sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.19.3 - '@jridgewell/gen-mapping': 0.3.2 - jsesc: 2.5.2 - dev: true - - /@babel/helper-compilation-targets/7.19.3_@babel+core@7.19.3: - resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.19.3 - '@babel/core': 7.19.3 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 - semver: 6.3.0 - dev: true - - /@babel/helper-environment-visitor/7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name/7.19.0: - resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.19.3 - dev: true - - /@babel/helper-hoist-variables/7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@babel/helper-module-imports/7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@babel/helper-module-transforms/7.19.0: - resolution: {integrity: sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-plugin-utils/7.19.0: - resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-simple-access/7.18.6: - resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@babel/helper-split-export-declaration/7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@babel/helper-string-parser/7.18.10: - resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier/7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-option/7.18.6: - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helpers/7.19.0: - resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/highlight/7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/parser/7.19.3: - resolution: {integrity: sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.19.3: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.19.3: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.19.3: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.19.3: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.19.3: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.3: - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.19.3: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.19.3: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.19.3: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.19.3: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.19.3: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.19.3: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.19.3: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.19.3: - resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - - /@babel/template/7.18.10: - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 - dev: true - - /@babel/traverse/7.19.3: - resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types/7.19.3: - resolution: {integrity: sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.18.10 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage/0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@cspotcode/source-map-support/0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - - /@istanbuljs/schema/0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/console/29.1.2: - resolution: {integrity: sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - chalk: 4.1.2 - jest-message-util: 29.1.2 - jest-util: 29.1.2 - slash: 3.0.0 - dev: true - - /@jest/core/29.1.2_ts-node@10.9.1: - resolution: {integrity: sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==} - 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 - dependencies: - '@jest/console': 29.1.2 - '@jest/reporters': 29.1.2 - '@jest/test-result': 29.1.2 - '@jest/transform': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.5.0 - exit: 0.1.2 - graceful-fs: 4.2.10 - jest-changed-files: 29.0.0 - jest-config: 29.1.2_wnseany3vswo6p7nhyzogpjzqe - jest-haste-map: 29.1.2 - jest-message-util: 29.1.2 - jest-regex-util: 29.0.0 - jest-resolve: 29.1.2 - jest-resolve-dependencies: 29.1.2 - jest-runner: 29.1.2 - jest-runtime: 29.1.2 - jest-snapshot: 29.1.2 - jest-util: 29.1.2 - jest-validate: 29.1.2 - jest-watcher: 29.1.2 - micromatch: 4.0.4 - pretty-format: 29.1.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /@jest/environment/29.1.2: - resolution: {integrity: sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - jest-mock: 29.1.2 - dev: true - - /@jest/expect-utils/29.1.2: - resolution: {integrity: sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.0.0 - dev: true - - /@jest/expect/29.1.2: - resolution: {integrity: sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - expect: 29.1.2 - jest-snapshot: 29.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/fake-timers/29.1.2: - resolution: {integrity: sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.8.0 - jest-message-util: 29.1.2 - jest-mock: 29.1.2 - jest-util: 29.1.2 - dev: true - - /@jest/globals/29.1.2: - resolution: {integrity: sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.1.2 - '@jest/expect': 29.1.2 - '@jest/types': 29.1.2 - jest-mock: 29.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/reporters/29.1.2: - resolution: {integrity: sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==} - 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 - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.1.2 - '@jest/test-result': 29.1.2 - '@jest/transform': 29.1.2 - '@jest/types': 29.1.2 - '@jridgewell/trace-mapping': 0.3.16 - '@types/node': 18.8.0 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - jest-message-util: 29.1.2 - jest-util: 29.1.2 - jest-worker: 29.1.2 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - terminal-link: 2.1.1 - v8-to-istanbul: 9.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/schemas/29.0.0: - resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.24.44 - dev: true - - /@jest/source-map/29.0.0: - resolution: {integrity: sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.16 - callsites: 3.1.0 - graceful-fs: 4.2.10 - dev: true - - /@jest/test-result/29.1.2: - resolution: {integrity: sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.1.2 - '@jest/types': 29.1.2 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-sequencer/29.1.2: - resolution: {integrity: sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.1.2 - graceful-fs: 4.2.10 - jest-haste-map: 29.1.2 - slash: 3.0.0 - dev: true - - /@jest/transform/29.1.2: - resolution: {integrity: sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.19.3 - '@jest/types': 29.1.2 - '@jridgewell/trace-mapping': 0.3.16 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.8.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.10 - jest-haste-map: 29.1.2 - jest-regex-util: 29.0.0 - jest-util: 29.1.2 - micromatch: 4.0.4 - pirates: 4.0.5 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/types/29.1.2: - resolution: {integrity: sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.0.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.8.0 - '@types/yargs': 17.0.13 - chalk: 4.1.2 - dev: true - - /@jridgewell/gen-mapping/0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.16 - dev: true - - /@jridgewell/resolve-uri/3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec/1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - - /@jridgewell/trace-mapping/0.3.16: - resolution: {integrity: sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@jridgewell/trace-mapping/0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@maxmind/geoip2-node/3.4.0: - resolution: {integrity: sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==} - dependencies: - camelcase-keys: 7.0.2 - ip6addr: 0.2.5 - lodash.set: 4.3.2 - maxmind: 4.3.8 - dev: true - - /@nodelib/fs.scandir/2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat/2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk/1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.11.1 - dev: true - - /@posthog/plugin-scaffold/1.3.4: - resolution: {integrity: sha512-69AC7GA3sU/z5X6SVlH7mgj+0XgolvOp9IUtvRNA4CXF/OglFM81SXbTkURxL9VBSNfdAZxRp+8x+h4rmyj4dw==} - dependencies: - '@maxmind/geoip2-node': 3.4.0 - dev: true - - /@sinclair/typebox/0.24.44: - resolution: {integrity: sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==} - dev: true - - /@sinonjs/commons/1.8.3: - resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers/9.1.2: - resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} - dependencies: - '@sinonjs/commons': 1.8.3 - dev: true - - /@tsconfig/node10/1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true - - /@tsconfig/node12/1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true - - /@tsconfig/node14/1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true - - /@tsconfig/node16/1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true - - /@types/babel__core/7.1.19: - resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} - dependencies: - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.2 - dev: true - - /@types/babel__generator/7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@types/babel__template/7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 - dev: true - - /@types/babel__traverse/7.18.2: - resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} - dependencies: - '@babel/types': 7.19.3 - dev: true - - /@types/graceful-fs/4.1.5: - resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} - dependencies: - '@types/node': 18.8.0 - dev: true - - /@types/istanbul-lib-coverage/2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true - - /@types/istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - - /@types/istanbul-reports/3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - - /@types/json-schema/7.0.9: - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} - dev: true - - /@types/node/18.8.0: - resolution: {integrity: sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==} - dev: true - - /@types/prettier/2.7.1: - resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} - dev: true - - /@types/stack-utils/2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - - /@types/yargs-parser/21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - - /@types/yargs/17.0.13: - resolution: {integrity: sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - - /@typescript-eslint/eslint-plugin/5.39.0_7dm4gihkjnuxbxl73rqy4xzt2m: - resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/parser': 5.39.0_typescript@4.8.4 - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/type-utils': 5.39.0_typescript@4.8.4 - '@typescript-eslint/utils': 5.39.0_typescript@4.8.4 - debug: 4.3.4 - ignore: 5.2.0 - regexpp: 3.2.0 - semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser/5.39.0_typescript@4.8.4: - resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 - debug: 4.3.4 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager/5.39.0: - resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/visitor-keys': 5.39.0 - dev: true - - /@typescript-eslint/type-utils/5.39.0_typescript@4.8.4: - resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 - '@typescript-eslint/utils': 5.39.0_typescript@4.8.4 - debug: 4.3.4 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types/5.39.0: - resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/typescript-estree/5.39.0_typescript@4.8.4: - resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/visitor-keys': 5.39.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils/5.39.0_typescript@4.8.4: - resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.9 - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys/5.39.0: - resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.39.0 - eslint-visitor-keys: 3.3.0 - dev: true - - /acorn-walk/8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn/8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles/5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.0 - dev: true - - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /assert-plus/1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: true - - /babel-jest/29.1.2_@babel+core@7.19.3: - resolution: {integrity: sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.19.3 - '@jest/transform': 29.1.2 - '@types/babel__core': 7.1.19 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.0.2_@babel+core@7.19.3 - chalk: 4.1.2 - graceful-fs: 4.2.10 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-istanbul/6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.19.0 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-jest-hoist/29.0.2: - resolution: {integrity: sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.19.3 - '@types/babel__core': 7.1.19 - '@types/babel__traverse': 7.18.2 - dev: true - - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.19.3: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.19.3 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.19.3 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.19.3 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.19.3 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.19.3 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.19.3 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.19.3 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.19.3 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.19.3 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.19.3 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.19.3 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.19.3 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.19.3 - dev: true - - /babel-preset-jest/29.0.2_@babel+core@7.19.3: - resolution: {integrity: sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.19.3 - babel-plugin-jest-hoist: 29.0.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.19.3 - dev: true - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browserslist/4.21.4: - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001418 - electron-to-chromium: 1.4.276 - node-releases: 2.0.6 - update-browserslist-db: 1.0.10_browserslist@4.21.4 - dev: true - - /bs-logger/0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - - /bser/2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - dependencies: - node-int64: 0.4.0 - dev: true - - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - dev: true - - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase-keys/7.0.2: - resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} - engines: {node: '>=12'} - dependencies: - camelcase: 6.3.0 - map-obj: 4.3.0 - quick-lru: 5.1.1 - type-fest: 1.4.0 - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /camelcase/6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - - /caniuse-lite/1.0.30001418: - resolution: {integrity: sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==} - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /char-regex/1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true - - /ci-info/3.5.0: - resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} - dev: true - - /cjs-module-lexer/1.2.2: - resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - dev: true - - /cliui/8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /co/4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - - /collect-v8-coverage/1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true - - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /confusing-browser-globals/1.0.10: - resolution: {integrity: sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==} - dev: true - - /convert-source-map/1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - dependencies: - safe-buffer: 5.1.2 - dev: true - - /core-util-is/1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true - - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /dedent/0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dev: true - - /deepmerge/4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} - dev: true - - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} - dependencies: - object-keys: 1.1.1 - dev: true - - /detect-newline/3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - - /diff-sequences/29.0.0: - resolution: {integrity: sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /electron-to-chromium/1.4.276: - resolution: {integrity: sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==} - dev: true - - /emittery/0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} - engines: {node: '>=12'} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - - /es-abstract/1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-symbols: 1.0.2 - internal-slot: 1.0.3 - is-callable: 1.2.4 - is-negative-zero: 2.0.1 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.1 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.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.1 - dev: true - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.4 - is-date-object: 1.0.4 - is-symbol: 1.0.4 - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp/1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp/2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - - /eslint-config-airbnb-base/15.0.0: - resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.2 - dependencies: - confusing-browser-globals: 1.0.10 - object.assign: 4.1.2 - object.entries: 1.1.5 - semver: 6.3.0 - dev: true - - /eslint-config-airbnb/19.0.4: - resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} - engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.28.0 - eslint-plugin-react-hooks: ^4.3.0 - dependencies: - eslint-config-airbnb-base: 15.0.0 - object.assign: 4.1.2 - object.entries: 1.1.5 - dev: true - - /eslint-config-prettier/8.5.0: - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dev: true - - /eslint-plugin-prettier/4.2.1_5ipovlnpea62s4232hvmwuqmsm: - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: - optional: true - dependencies: - eslint-config-prettier: 8.5.0 - prettier: 2.7.1 - prettier-linter-helpers: 1.0.0 - dev: true - - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-utils/3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys/2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.2.0 - dev: true - - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} - dev: true - - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /exit/0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true - - /expect/29.1.2: - resolution: {integrity: sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.1.2 - jest-get-type: 29.0.0 - jest-matcher-utils: 29.1.2 - jest-message-util: 29.1.2 - jest-util: 29.1.2 - dev: true - - /extsprintf/1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: true - - /fast-diff/1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true - - /fast-glob/3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.4 - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fastq/1.11.1: - resolution: {integrity: sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==} - dependencies: - reusify: 1.0.4 - dev: true - - /fb-watchman/2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - dependencies: - bser: 2.1.1 - dev: true - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-intrinsic/1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.2 - dev: true - - /get-package-type/0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true - - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /get-symbol-description/1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob/7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /globby/11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.0 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true - - /has-bigints/1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-symbols/1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} - engines: {node: '>= 0.4'} - dev: true - - /has-tostringtag/1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.2 - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /html-escaper/2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /ignore/5.2.0: - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} - engines: {node: '>= 4'} - dev: true - - /import-local/3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /internal-slot/1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.1.1 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - - /ip6addr/0.2.5: - resolution: {integrity: sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==} - dependencies: - assert-plus: 1.0.0 - jsprim: 2.0.2 - dev: true - - /is-arrayish/0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - - /is-bigint/1.0.2: - resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==} - dev: true - - /is-boolean-object/1.1.1: - resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - dev: true - - /is-callable/1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} - engines: {node: '>= 0.4'} - dev: true - - /is-core-module/2.10.0: - resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} - dependencies: - has: 1.0.3 - dev: true - - /is-date-object/1.0.4: - resolution: {integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==} - engines: {node: '>= 0.4'} - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-generator-fn/2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - - /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} - engines: {node: '>= 0.4'} - dev: true - - /is-number-object/1.0.5: - resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==} - engines: {node: '>= 0.4'} - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-regex/1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-shared-array-buffer/1.0.1: - resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} - dev: true - - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-string/1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-symbol/1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.2 - dev: true - - /is-weakref/1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.2 - dev: true - - /isexe/2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /istanbul-lib-coverage/3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-instrument/5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.19.3 - '@babel/parser': 7.19.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps/4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports/3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - - /jest-changed-files/29.0.0: - resolution: {integrity: sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - execa: 5.1.1 - p-limit: 3.1.0 - dev: true - - /jest-circus/29.1.2: - resolution: {integrity: sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.1.2 - '@jest/expect': 29.1.2 - '@jest/test-result': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - chalk: 4.1.2 - co: 4.6.0 - dedent: 0.7.0 - is-generator-fn: 2.1.0 - jest-each: 29.1.2 - jest-matcher-utils: 29.1.2 - jest-message-util: 29.1.2 - jest-runtime: 29.1.2 - jest-snapshot: 29.1.2 - jest-util: 29.1.2 - p-limit: 3.1.0 - pretty-format: 29.1.2 - slash: 3.0.0 - stack-utils: 2.0.5 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-cli/29.1.2_wnseany3vswo6p7nhyzogpjzqe: - resolution: {integrity: sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.1.2_ts-node@10.9.1 - '@jest/test-result': 29.1.2 - '@jest/types': 29.1.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 29.1.2_wnseany3vswo6p7nhyzogpjzqe - jest-util: 29.1.2 - jest-validate: 29.1.2 - prompts: 2.4.2 - yargs: 17.6.0 - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node - dev: true - - /jest-config/29.1.2_wnseany3vswo6p7nhyzogpjzqe: - resolution: {integrity: sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==} - 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 - dependencies: - '@babel/core': 7.19.3 - '@jest/test-sequencer': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - babel-jest: 29.1.2_@babel+core@7.19.3 - chalk: 4.1.2 - ci-info: 3.5.0 - deepmerge: 4.2.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 29.1.2 - jest-environment-node: 29.1.2 - jest-get-type: 29.0.0 - jest-regex-util: 29.0.0 - jest-resolve: 29.1.2 - jest-runner: 29.1.2 - jest-util: 29.1.2 - jest-validate: 29.1.2 - micromatch: 4.0.4 - parse-json: 5.2.0 - pretty-format: 29.1.2 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1_5ra3kupzwcghzakkfdrtyjk72u - transitivePeerDependencies: - - supports-color - dev: true - - /jest-diff/29.1.2: - resolution: {integrity: sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.0.0 - jest-get-type: 29.0.0 - pretty-format: 29.1.2 - dev: true - - /jest-docblock/29.0.0: - resolution: {integrity: sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each/29.1.2: - resolution: {integrity: sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - chalk: 4.1.2 - jest-get-type: 29.0.0 - jest-util: 29.1.2 - pretty-format: 29.1.2 - dev: true - - /jest-environment-node/29.1.2: - resolution: {integrity: sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.1.2 - '@jest/fake-timers': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - jest-mock: 29.1.2 - jest-util: 29.1.2 - dev: true - - /jest-get-type/29.0.0: - resolution: {integrity: sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-haste-map/29.1.2: - resolution: {integrity: sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - '@types/graceful-fs': 4.1.5 - '@types/node': 18.8.0 - anymatch: 3.1.2 - fb-watchman: 2.0.2 - graceful-fs: 4.2.10 - jest-regex-util: 29.0.0 - jest-util: 29.1.2 - jest-worker: 29.1.2 - micromatch: 4.0.4 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /jest-leak-detector/29.1.2: - resolution: {integrity: sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.0.0 - pretty-format: 29.1.2 - dev: true - - /jest-matcher-utils/29.1.2: - resolution: {integrity: sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.1.2 - jest-get-type: 29.0.0 - pretty-format: 29.1.2 - dev: true - - /jest-message-util/29.1.2: - resolution: {integrity: sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.18.6 - '@jest/types': 29.1.2 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.10 - micromatch: 4.0.4 - pretty-format: 29.1.2 - slash: 3.0.0 - stack-utils: 2.0.5 - dev: true - - /jest-mock/29.1.2: - resolution: {integrity: sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - jest-util: 29.1.2 - dev: true - - /jest-pnp-resolver/1.2.2_jest-resolve@29.1.2: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 29.1.2 - dev: true - - /jest-regex-util/29.0.0: - resolution: {integrity: sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-resolve-dependencies/29.1.2: - resolution: {integrity: sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-regex-util: 29.0.0 - jest-snapshot: 29.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve/29.1.2: - resolution: {integrity: sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.10 - jest-haste-map: 29.1.2 - jest-pnp-resolver: 1.2.2_jest-resolve@29.1.2 - jest-util: 29.1.2 - jest-validate: 29.1.2 - resolve: 1.22.1 - resolve.exports: 1.1.0 - slash: 3.0.0 - dev: true - - /jest-runner/29.1.2: - resolution: {integrity: sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.1.2 - '@jest/environment': 29.1.2 - '@jest/test-result': 29.1.2 - '@jest/transform': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - chalk: 4.1.2 - emittery: 0.10.2 - graceful-fs: 4.2.10 - jest-docblock: 29.0.0 - jest-environment-node: 29.1.2 - jest-haste-map: 29.1.2 - jest-leak-detector: 29.1.2 - jest-message-util: 29.1.2 - jest-resolve: 29.1.2 - jest-runtime: 29.1.2 - jest-util: 29.1.2 - jest-watcher: 29.1.2 - jest-worker: 29.1.2 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-runtime/29.1.2: - resolution: {integrity: sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.1.2 - '@jest/fake-timers': 29.1.2 - '@jest/globals': 29.1.2 - '@jest/source-map': 29.0.0 - '@jest/test-result': 29.1.2 - '@jest/transform': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-haste-map: 29.1.2 - jest-message-util: 29.1.2 - jest-mock: 29.1.2 - jest-regex-util: 29.0.0 - jest-resolve: 29.1.2 - jest-snapshot: 29.1.2 - jest-util: 29.1.2 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-snapshot/29.1.2: - resolution: {integrity: sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.19.3 - '@babel/generator': 7.19.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.3 - '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.3 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - '@jest/expect-utils': 29.1.2 - '@jest/transform': 29.1.2 - '@jest/types': 29.1.2 - '@types/babel__traverse': 7.18.2 - '@types/prettier': 2.7.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.19.3 - chalk: 4.1.2 - expect: 29.1.2 - graceful-fs: 4.2.10 - jest-diff: 29.1.2 - jest-get-type: 29.0.0 - jest-haste-map: 29.1.2 - jest-matcher-utils: 29.1.2 - jest-message-util: 29.1.2 - jest-util: 29.1.2 - natural-compare: 1.4.0 - pretty-format: 29.1.2 - semver: 7.3.7 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-util/29.1.2: - resolution: {integrity: sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - chalk: 4.1.2 - ci-info: 3.5.0 - graceful-fs: 4.2.10 - picomatch: 2.3.0 - dev: true - - /jest-validate/29.1.2: - resolution: {integrity: sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.1.2 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.0.0 - leven: 3.1.0 - pretty-format: 29.1.2 - dev: true - - /jest-watcher/29.1.2: - resolution: {integrity: sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.1.2 - '@jest/types': 29.1.2 - '@types/node': 18.8.0 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.10.2 - jest-util: 29.1.2 - string-length: 4.0.2 - dev: true - - /jest-worker/29.1.2: - resolution: {integrity: sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@types/node': 18.8.0 - jest-util: 29.1.2 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - - /jest/29.1.2_wnseany3vswo6p7nhyzogpjzqe: - resolution: {integrity: sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.1.2_ts-node@10.9.1 - '@jest/types': 29.1.2 - import-local: 3.1.0 - jest-cli: 29.1.2_wnseany3vswo6p7nhyzogpjzqe - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node - dev: true - - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - - /json-schema/0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true - - /json5/2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsprim/2.0.2: - resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} - engines: {'0': node >=0.6.0} - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - dev: true - - /kleur/3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - - /leven/3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true - - /lines-and-columns/1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /lodash.memoize/4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true - - /lodash.set/4.3.2: - resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} - dev: true - - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /makeerror/1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - dependencies: - tmpl: 1.0.5 - dev: true - - /map-obj/4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: true - - /maxmind/4.3.8: - resolution: {integrity: sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg==} - engines: {node: '>=12', npm: '>=6'} - dependencies: - mmdb-lib: 2.0.2 - tiny-lru: 9.0.3 - dev: true - - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.0 - dev: true - - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /mmdb-lib/2.0.2: - resolution: {integrity: sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==} - engines: {node: '>=10', npm: '>=6'} - dev: true - - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /natural-compare/1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-int64/0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true - - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /object-inspect/1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} - dev: true - - /object-keys/1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign/4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 - object-keys: 1.1.1 - dev: true - - /object.entries/1.1.5: - resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - dev: true - - /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.18.6 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - dev: true - - /pirates/4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} - engines: {node: '>= 6'} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /prettier-linter-helpers/1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.2.0 - dev: true - - /prettier/2.7.1: - resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /pretty-format/29.1.2: - resolution: {integrity: sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.0.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /prompts/2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: true - - /queue-microtask/1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-lru/5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: true - - /react-is/18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - - /require-directory/2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /resolve-cwd/3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - - /resolve.exports/1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} - engines: {node: '>=10'} - dev: true - - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.10.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /run-parallel/1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true - - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true - - /semver/7.3.7: - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - object-inspect: 1.12.0 - dev: true - - /signal-exit/3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /sisteransi/1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true - - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /source-map-support/0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stack-utils/2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - - /string-length/4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - - /string-width/4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string.prototype.trimend/1.0.4: - resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true - - /string.prototype.trimstart/1.0.4: - resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true - - /strip-ansi/6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-hyperlinks/2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - - /test-exclude/6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /tiny-lru/9.0.3: - resolution: {integrity: sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw==} - engines: {node: '>=6'} - dev: true - - /tmpl/1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true - - /to-fast-properties/2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /ts-jest/29.0.3_2gcdg7c5hzdfd67o3khlosdlhu: - resolution: {integrity: sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - jest: 29.1.2_wnseany3vswo6p7nhyzogpjzqe - jest-util: 29.1.2 - json5: 2.2.1 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.3.7 - typescript: 4.8.4 - yargs-parser: 21.1.1 - dev: true - - /ts-node/10.9.1_5ra3kupzwcghzakkfdrtyjk72u: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - 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 - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - '@types/node': 18.8.0 - acorn: 8.7.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tsutils/3.21.0_typescript@4.8.4: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.8.4 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - - /type-fest/1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: true - - /typescript/4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /unbox-primitive/1.0.1: - resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} - dependencies: - function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 - which-boxed-primitive: 1.0.2 - dev: true - - /update-browserslist-db/1.0.10_browserslist@4.21.4: - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.4 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - - /v8-compile-cache-lib/3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - - /v8-to-istanbul/9.0.1: - resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.16 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.8.0 - dev: true - - /verror/1.10.0: - resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} - engines: {'0': node >=0.6.0} - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - dev: true - - /walker/1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - dependencies: - makeerror: 1.0.12 - dev: true - - /which-boxed-primitive/1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.2 - is-boolean-object: 1.1.1 - is-number-object: 1.0.5 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /write-file-atomic/4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true - - /y18n/5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yargs-parser/21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs/17.6.0: - resolution: {integrity: sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==} - engines: {node: '>=12'} - 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.8 - yargs-parser: 21.1.1 - dev: true - - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - - /yocto-queue/0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore deleted file mode 100644 index 93892ec254efd..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -yarn-error.log -package-lock.json -node_modules/ -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc deleted file mode 100644 index 617e18db92cf3..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE deleted file mode 100644 index 83dc56b738b0f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md deleted file mode 100644 index f7fa0a5d11ef4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# PostHog GCS Export Plugin - -Export events to GCS on ingestion. - -:warning: If you have low volumes of data this can cause us to ship a high number of files to blob storage and for loading into GCS. This can translate into higher than usual billing because of blob storage api calls and the time it takes to list and load small files in GCS. - -## Installation - -1. Visit 'Plugins' in PostHog -2. Find this plugin from the repository -3. Configure the plugin: - 1. Upload your Google Cloud key `.json` file. ([How to get the file](https://cloud.google.com/bigquery/docs/reference/libraries).) - 2. Enter your Project ID - 3. Enter your bucket name -4. Watch events roll into GCS - -## Questions? - -### [Join the PostHog Users Slack community.](https://posthog.com/slack) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/logo.png deleted file mode 100644 index c8803440aacf5f398b4d06273e4ba7677040e38c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15848 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 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json deleted file mode 100644 index ecc1fd14e18d1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "posthog-gcs-plugin", - "private": true, - "version": "0.0.3", - "description": "Export PostHog events to GCS on ingestion.", - "devDependencies": { - "@posthog/plugin-scaffold": "^0.11.0", - "@types/node": "^16.0.0" - }, - "dependencies": { - "@google-cloud/storage": "^5.8.5" - }, - "engines": { - "node": ">= 14.0.0" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock deleted file mode 100644 index 12414a4326de1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/yarn.lock +++ /dev/null @@ -1,569 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@google-cloud/common@^3.6.0": - "integrity" "sha512-aHIFTqJZmeTNO9md8XxV+ywuvXF3xBm5WNmgWeeCK+XN5X+kGW0WEX94wGwj+/MdOnrVf4dL2RvSIt9J5yJG6Q==" - "resolved" "https://registry.npmjs.org/@google-cloud/common/-/common-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "@google-cloud/projectify" "^2.0.0" - "@google-cloud/promisify" "^2.0.0" - "arrify" "^2.0.1" - "duplexify" "^4.1.1" - "ent" "^2.2.0" - "extend" "^3.0.2" - "google-auth-library" "^7.0.2" - "retry-request" "^4.1.1" - "teeny-request" "^7.0.0" - -"@google-cloud/paginator@^3.0.0": - "integrity" "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==" - "resolved" "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz" - "version" "3.0.5" - dependencies: - "arrify" "^2.0.0" - "extend" "^3.0.2" - -"@google-cloud/projectify@^2.0.0": - "integrity" "sha512-qbpidP/fOvQNz3nyabaVnZqcED1NNzf7qfeOlgtAZd9knTwY+KtsGRkYpiQzcATABy4gnGP2lousM3S0nuWVzA==" - "resolved" "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.0.tgz" - "version" "2.1.0" - -"@google-cloud/promisify@^2.0.0": - "integrity" "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==" - "resolved" "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz" - "version" "2.0.3" - -"@google-cloud/storage@^5.8.5": - "integrity" "sha512-i0gB9CRwQeOBYP7xuvn14M40LhHCwMjceBjxE4CTvsqL519sVY5yVKxLiAedHWGwUZHJNRa7Q2CmNfkdRwVNPg==" - "resolved" "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.8.5.tgz" - "version" "5.8.5" - dependencies: - "@google-cloud/common" "^3.6.0" - "@google-cloud/paginator" "^3.0.0" - "@google-cloud/promisify" "^2.0.0" - "arrify" "^2.0.0" - "async-retry" "^1.3.1" - "compressible" "^2.0.12" - "date-and-time" "^1.0.0" - "duplexify" "^4.0.0" - "extend" "^3.0.2" - "gaxios" "^4.0.0" - "gcs-resumable-upload" "^3.1.4" - "get-stream" "^6.0.0" - "hash-stream-validation" "^0.2.2" - "mime" "^2.2.0" - "mime-types" "^2.0.8" - "onetime" "^5.1.0" - "p-limit" "^3.0.1" - "pumpify" "^2.0.0" - "snakeize" "^0.1.0" - "stream-events" "^1.0.1" - "xdg-basedir" "^4.0.0" - -"@posthog/plugin-scaffold@^0.11.0": - "integrity" "sha512-ZqI9yBe9hSswf6lDf2Ydl/hRk0WFd4ARluu3pOwkkPOwCfnPhkbPR6729inCPvuw2yoKV/IWOOg/yyd70Nh3AQ==" - "resolved" "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.11.0.tgz" - "version" "0.11.0" - -"@tootallnate/once@1": - "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - "version" "1.1.2" - -"@types/node@^16.0.0": - "integrity" "sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-16.0.0.tgz" - "version" "16.0.0" - -"abort-controller@^3.0.0": - "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" - "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "event-target-shim" "^5.0.0" - -"agent-base@6": - "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "debug" "4" - -"arrify@^2.0.0", "arrify@^2.0.1": - "integrity" "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - "resolved" "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" - "version" "2.0.1" - -"async-retry@^1.3.1": - "integrity" "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==" - "resolved" "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "retry" "0.12.0" - -"base64-js@^1.3.0": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"bignumber.js@^9.0.0": - "integrity" "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" - "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz" - "version" "9.0.1" - -"buffer-equal-constant-time@1.0.1": - "integrity" "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - "resolved" "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" - "version" "1.0.1" - -"compressible@^2.0.12": - "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" - "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - "version" "2.0.18" - dependencies: - "mime-db" ">= 1.43.0 < 2" - -"configstore@^5.0.0": - "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" - "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "dot-prop" "^5.2.0" - "graceful-fs" "^4.1.2" - "make-dir" "^3.0.0" - "unique-string" "^2.0.0" - "write-file-atomic" "^3.0.0" - "xdg-basedir" "^4.0.0" - -"crypto-random-string@^2.0.0": - "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - "version" "2.0.0" - -"date-and-time@^1.0.0": - "integrity" "sha512-7u+uNfnjWkX+YFQfivvW24TjaJG6ahvTrfw1auq7KlC7osuGcZBIWGBvB9UcENjH6JnLVhMqlRripk1dSHjAUA==" - "resolved" "https://registry.npmjs.org/date-and-time/-/date-and-time-1.0.1.tgz" - "version" "1.0.1" - -"debug@^4.1.1", "debug@4": - "integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "ms" "2.1.2" - -"dot-prop@^5.2.0": - "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "is-obj" "^2.0.0" - -"duplexify@^4.0.0", "duplexify@^4.1.1": - "integrity" "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==" - "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "end-of-stream" "^1.4.1" - "inherits" "^2.0.3" - "readable-stream" "^3.1.1" - "stream-shift" "^1.0.0" - -"ecdsa-sig-formatter@^1.0.11", "ecdsa-sig-formatter@1.0.11": - "integrity" "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==" - "resolved" "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" - "version" "1.0.11" - dependencies: - "safe-buffer" "^5.0.1" - -"end-of-stream@^1.1.0", "end-of-stream@^1.4.1": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"ent@^2.2.0": - "integrity" "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" - "resolved" "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz" - "version" "2.2.0" - -"event-target-shim@^5.0.0": - "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - "version" "5.0.1" - -"extend@^3.0.2": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"fast-text-encoding@^1.0.0": - "integrity" "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" - "resolved" "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz" - "version" "1.0.3" - -"gaxios@^4.0.0": - "integrity" "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==" - "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "abort-controller" "^3.0.0" - "extend" "^3.0.2" - "https-proxy-agent" "^5.0.0" - "is-stream" "^2.0.0" - "node-fetch" "^2.3.0" - -"gcp-metadata@^4.2.0": - "integrity" "sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==" - "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "gaxios" "^4.0.0" - "json-bigint" "^1.0.0" - -"gcs-resumable-upload@^3.1.4": - "integrity" "sha512-T7YPQVPFibgt6DmJVPGIgY8jHF9ycGJVDRCutwMBp/7Y2++QYEW8drL9XUdzS6ZvEiwTKvgvGMG77yb63XwSXA==" - "resolved" "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "abort-controller" "^3.0.0" - "configstore" "^5.0.0" - "extend" "^3.0.2" - "gaxios" "^4.0.0" - "google-auth-library" "^7.0.0" - "pumpify" "^2.0.0" - "stream-events" "^1.0.4" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"google-auth-library@^7.0.0", "google-auth-library@^7.0.2": - "integrity" "sha512-F5mnidUaIXfZZl2FzhZOhboLNR6pIgIPrmP4QAbDKMy+kkb3GOc4r7KndAV9+Kx3VijrQTi4FI/AMLg8VWG6nw==" - "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "arrify" "^2.0.0" - "base64-js" "^1.3.0" - "ecdsa-sig-formatter" "^1.0.11" - "fast-text-encoding" "^1.0.0" - "gaxios" "^4.0.0" - "gcp-metadata" "^4.2.0" - "gtoken" "^5.0.4" - "jws" "^4.0.0" - "lru-cache" "^6.0.0" - -"google-p12-pem@^3.0.3": - "integrity" "sha512-JUtEHXL4DY/N+xhlm7TC3qL797RPAtk0ZGXNs3/gWyiDHYoA/8Rjes0pztkda+sZv4ej1EoO2KhWgW5V9KTrSQ==" - "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "node-forge" "^0.10.0" - -"graceful-fs@^4.1.2": - "integrity" "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" - "version" "4.2.6" - -"gtoken@^5.0.4": - "integrity" "sha512-mCcISYiaRZrJpfqOs0QWa6lfEM/C1V9ASkzFmuz43XBb5s1Vynh+CZy1ECeeJXVGx2PRByjYzb4Y4/zr1byr0w==" - "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "gaxios" "^4.0.0" - "google-p12-pem" "^3.0.3" - "jws" "^4.0.0" - -"hash-stream-validation@^0.2.2": - "integrity" "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==" - "resolved" "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz" - "version" "0.2.4" - -"http-proxy-agent@^4.0.0": - "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "@tootallnate/once" "1" - "agent-base" "6" - "debug" "4" - -"https-proxy-agent@^5.0.0": - "integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "agent-base" "6" - "debug" "4" - -"imurmurhash@^0.1.4": - "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"inherits@^2.0.3": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"is-obj@^2.0.0": - "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - "version" "2.0.0" - -"is-stream@^2.0.0": - "integrity" "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" - "version" "2.0.0" - -"is-typedarray@^1.0.0": - "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"json-bigint@^1.0.0": - "integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==" - "resolved" "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "bignumber.js" "^9.0.0" - -"jwa@^2.0.0": - "integrity" "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==" - "resolved" "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "buffer-equal-constant-time" "1.0.1" - "ecdsa-sig-formatter" "1.0.11" - "safe-buffer" "^5.0.1" - -"jws@^4.0.0": - "integrity" "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==" - "resolved" "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "jwa" "^2.0.0" - "safe-buffer" "^5.0.1" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-dir@^3.0.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"mime-db@>= 1.43.0 < 2", "mime-db@1.48.0": - "integrity" "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz" - "version" "1.48.0" - -"mime-types@^2.0.8": - "integrity" "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz" - "version" "2.1.31" - dependencies: - "mime-db" "1.48.0" - -"mime@^2.2.0": - "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - "version" "2.5.2" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"node-fetch@^2.3.0", "node-fetch@^2.6.1": - "integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" - "version" "2.6.1" - -"node-forge@^0.10.0": - "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" - "version" "0.10.0" - -"once@^1.3.1", "once@^1.4.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.0": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"p-limit@^3.0.1": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pumpify@^2.0.0": - "integrity" "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==" - "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "duplexify" "^4.1.1" - "inherits" "^2.0.3" - "pump" "^3.0.0" - -"readable-stream@^3.1.1": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"retry-request@^4.1.1": - "integrity" "sha512-afiCoZZ7D/AR2mf+9ajr75dwGFgWmPEshv3h+oKtf9P1AsHfHvcVXumdbAEq2qNy4UXFEXsEX5HpyGj4axvoaA==" - "resolved" "https://registry.npmjs.org/retry-request/-/retry-request-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "debug" "^4.1.1" - -"retry@0.12.0": - "integrity" "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" - -"safe-buffer@^5.0.1", "safe-buffer@~5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"semver@^6.0.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"signal-exit@^3.0.2": - "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" - "version" "3.0.3" - -"snakeize@^0.1.0": - "integrity" "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=" - "resolved" "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz" - "version" "0.1.0" - -"stream-events@^1.0.1", "stream-events@^1.0.4", "stream-events@^1.0.5": - "integrity" "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==" - "resolved" "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "stubs" "^3.0.0" - -"stream-shift@^1.0.0": - "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - "version" "1.0.1" - -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"stubs@^3.0.0": - "integrity" "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" - "resolved" "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz" - "version" "3.0.0" - -"teeny-request@^7.0.0": - "integrity" "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==" - "resolved" "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "http-proxy-agent" "^4.0.0" - "https-proxy-agent" "^5.0.0" - "node-fetch" "^2.6.1" - "stream-events" "^1.0.5" - "uuid" "^8.0.0" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"unique-string@^2.0.0": - "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" - "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "crypto-random-string" "^2.0.0" - -"util-deprecate@^1.0.1": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"uuid@^8.0.0": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^3.0.0": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"xdg-basedir@^4.0.0": - "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" - "version" "4.0.0" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore deleted file mode 100644 index e82eb841636eb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -node_modules/ -.npm - -# Editors -.vscode -.idea - -# Yalc -.yalc -yalc* - -# macOS -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE deleted file mode 100644 index 7a2be083fb6f9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 Patterns - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md deleted file mode 100644 index 84343a0a1cc55..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# PostHog Patterns App - -Send PostHog event data to a webhook endpoint in a [patterns.app](https://patterns.app/) graph. - -## Installation - -- Sign up for a free Patterns account [here](https://www.patterns.app/beta) -- Create a graph in Patterns and add a webhook node in it. ![Patterns Graph Webhook](patterns_graph_webhook.png) -- Copy the webhook URL from the sidebar. -- Install Patterns app from PostHog. Paste the URL in "Patterns Webhook URL" during app configuration. -- [Optional] Set a comma-separated list of allowed event types for sending to Patterns. Example: `$pageview, $pageview`. If empty, all events are sent to Patterns. - -## Function - -- Ingest data from PostHog to Patterns -- Sync with other destinations or databases -- Generate models to measure customer health and churn risk -- Integrate with other data in Patterns and create a customer data platform - -## We'd love to connect - -- [Create a Patterns Account](https://www.patterns.app/beta) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/logo.png deleted file mode 100644 index 2654ed464e11967f5e40b78783b18e59fec008e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3525 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 E0Dhgt2LJ#7 diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json deleted file mode 100644 index 74935ebabddeb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "posthog-patterns-app", - "private": false, - "description": "Export PostHog events to Patterns.", - "devDependencies": { - "@babel/preset-env": "^7.18.10", - "@posthog/plugin-scaffold": "^1.2.0", - "@types/jest": "^28.1.6", - "@types/node": "^18.0.3", - "jest": "^27.5.1", - "jest-fetch-mock": "^3.0.3", - "ts-jest": "^28.0.7", - "typescript": "^4.7.4" - }, - "dependencies": { - "node-fetch": "^3.2.6" - }, - "scripts": { - "test": "jest ." - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/patterns_graph_webhook.png b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/patterns_graph_webhook.png deleted file mode 100644 index a5a61525c9c8c268f9052bd058f598ffec75e6c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63342 zcmcG#WmKHW)&`1(AOQlwHMj&1?hqUrcMER8-7SFxcXw|H?(XjH+PFJG8g6Ii%sF%J znQz@+w|lYP>bGi_?2^6r^AtZ601|JI@R6XPpx#JHeo}&hf&)Q8L1(>w1$nc7oZA2e zg<@?XDykqQDoU#0U~6je#RLjU@<+Tnf`;-Sc7}FLRMZ5_Ye~dbawS+v#BBH|Jvf5* zh!k%R!eg1}&h!QirAGOcJr3QC-Ho>Tj-}np zH?lR}L1o?h(?@S-Ye8*?BIhA)c80N79H2}o`$54dAlP(74aZ7p*xOG+4Q+tWE>B<8 z1UbxVcHWHNztHh``G+Auv7&CtwuL34*|S0YdX@1>3kpgxyFN{cRB?kF{Ycut54~J% z;|t|len+yjms1B7t^b<~6R4RYowAPvP~n~m<22hQqQv3j=*=PbWGqlA0Ca@&uQ~!f zAq(l3SJbq2+&wN6dN3?u2+VBlppj<+-(7UU#8m#T@$PTFYkilb8Uz6z1!b<drfCt0e`WkdLof@i zl0K6F1HO`_$6%`^$vj?wP3B#nKkg~EQ*n`BELRQgp)H(7iXMzWe_z@4!9pWosEtCOBZ;X_jApB+=)4ogKy)_}xHY z`wnbLkLa3G2WHV*a5pawDsdPm8fx!T`#hRuyM=}VX6e)b0zd0V1co2kJ?MsTEMex6 z1e?$eB*bsZh3y(PWmn9YBW-WL7JhZrWo;xC`wRPHFV_6%70l1 zAkT+;7knIrH{T!b$94)0t~eLkU&ORrEN;M3HF)X(*Q2y~;?wa~(c@8~kt0N(_~-yP zvo^VVa*A&5ZWQ}cxK(U#Cq^Ql7uQuY(asbFwG2ZmL>DxV;arG$LuR30&3&CUDqUcK zCtlK(f8{ctRsYrB&Eb9IKFM) zuiSycjPou~se9(P!{L+NR$WI2W zx8F~FYY`U6#+4RxR>YinMdZ(_h>ib^DjPKU#feqxE2B_i&W<@{6GEw&d=}2+kvYNx z#z`+!LBxU4ZW3Ex&w|E>ga{J@r7zfO0r3X$8gJ%aXI`oPggxpL*!q+f!DeUH5J-M* zoE9wKXSOMGe)Eg51zYf&elN)u|1Wiz@XxY#6u&UIzOsD%()CV+B|EGl&@RaiKO-N| z#Y+}lBws`6(OsP+KJp$w&G_Di;*^{NbNNT)k5&qd!KiJ?OX}X3hCCQ077HQ^G~f@X zZ!=O4Sp{XL1-k{<1qo$TYN>^41$Ejd4NF+HW|rQ@3{~uliG(t{v4zoz(e<$egNXy_ z+X5jRy$M_LQaRfSyGlc}>~Yg^o^kbuhlkjQ0*4oeWH;Q0JBN?6<3K@`7s=Ud9)-mj zdlhbHT4(CoWRKK`1o7O(i2(D18ki*|EvyrY6X=t`SGwI|fw`UYNu`R}iY4}9pm-|H zX|33NZsBUlYT2u(UCL1#hN^^cZ0*nzc9{~965*o)wQ>$!&pel(E^W6MC#y?)wV6jz zPG6ivoPY5kJJlVe&A7|N62-{r4>&N0}wc)%@dt+rg63y|LWXy4O28i0KtI{`j*4A z!#(9><+|i3sE%X-DNd<}sjrfElgc>wZI(>LIgyz$lS?_QSUo!@j4E*5!yNi(#UmRl z-M==jc$K)Px@UeX6|3sy3-!jnW1vlt9sV#po4}C3uV$*2TWYGIs=ZoCrOj6QZO*E6 zT¨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�hd)S(skGRUp(l7=l})YxLJmQvR&gDd zI1X4yF)ao^lmso>81>0d6$8}|tT(n;bw`Krtws4-DzC~l7#={|MS;@jW!m!qOKfya z%C~?Y0+yYPMV5zR%X6((+bAUu%f^d@O$OeMXM!1XQlmwd#mL2t;G>#SVT>?>IVh4> zqnZZ1f3gUqKqSdNHM(c=eac8$GmX6E;IJRJ$BWB&S{NO%Xtu1o-`T}X9pXQ5gULYI z#^V`s;qg>QCJm7`PsS|2pUo}+>sT_e1C4!2>Q)7`R~K9E(V~8lMD#M8;QZ# zzkh$}N$0=^FmfI#jWvLU__GgcE{%=g>v~RWfsSH7!WR$9b}v+_<`QYr)1Gh4s9oqM z%U1}cFZL17n})S%8O@tH==>Xao}e7bM9btJ5h}f?aWW-}U(RQ1-o!^Im)e-TJ-sZk zRs`Z~AX)fX4CH_WBI;zj#0dS`!pTJw9E(WxH?k8^UxQL@1ZsF$BGg^Npe=T3OnXwj)ph7k0PD9g%Znx0dt*j#iD z1gy$P(aiv_mw)f-3VCdcvVT%IYY*H#aMiquNw0KjtSdHCphzB~ilWWi~76T`i zeIduH1a5;OiE35VC?!u=_v>0cB*rQZ@T{fltJL-??ay_Rgst%~D_O-M3J9>7wIUbXJT%EqFMaB_LnFX4|Uq4p-@>`^%dmMK6S5HBI-* z?;&HW%J~Cu6S~BXLgB_+FI7oyisQ9Kls<}0CUi5TkdfAKOG;r^rLv0RDAScoZf9bs z6iMHv{LG3=ok$DKeIH{}(iZ~sOXUcHFkM>?>DVfPpw4WOCDGsb*VOA)yn-o!lLc&iZU~fJA?@U}HbgMew5^g0DXrQ>8JBu# zHExp{JV_LVUpLl-u~RY*!ZC0{89t^)(qzhBpUgB5B4s=>DqSEK+`u>c{4i(Q!cvE&zS+Ul!rN zX}X_S69Ebkeo{#%D9yMB9s&M6y4eYu9N(-2Gh;@UJ?_7C{vYWrbs-oBEd@rO$go`D zjvBw#1G$C&iCsLqClnNQmP zUUvVjuJ6K-d|bN<#D7u>q&<7ujs4U?YQ|;J|EmT+KSbz$0#}mcg?H^Glr%JZ7{9iC zo``WJ0{@H0#*pn88;tjAS*4{xNq50GrrPNEqf6-JFu%fa%2&8>|8WFD(%3@GjFju% zI{!K_|GWEsLM=$7xc`5O+sO{%L|O&^*I53V3rQ~+CYVfR1qF1)PoGxO($a|<8ycdT zg9|5bx31h?_u;j|YassPv_+xA&@ta0s;&^H1bPT7TI0Xk-gNj! zxwiZuR{#@8Fea^R$4ie ziz?GyR-@2&Ciuwm6Px;sk{q?S#gD6(3U_aJR~!HUT!$!gii(JgkkCZWbvRR$5d=Q^ zKN=uIKj|!ru-{s5`Sh%fVS8@*Ed2Eg)l=lpS&zvT3hQhz5PhZ8duakxy5V8bYxdz( zMVwQ12Yh9Hec}1JT`Dnb_-}e$QWl2g6=?et5fKqk zba@WjnSZvadPsmqN?B<5yC?X;d8);)sJag_wB_LckD)ON+!D^bVAAQ&W%kKuh(m%* z7LS3PZ^)BLisa@;x9K(J7xUsrJ+soDp1fN1m)af=$K1|mH&Qz6k7~S_eGvr#_gAg8 zK356WHEx4Sm*;kc$;#AIGN&xlKTWhz6M84V1bImORIle?_iks|8Hr9mU1^nBc0JD7 zDN$>`s)TTLof1E?ATHto(VIUk6Go&^m|}G^ga%Tut2lI_)0NMcbX7GH^X21Sl(-eE z)ajUBjnL8M${n5@+Xs}3lJ8@U?>|0?t-N5&2!2)?|2|y?Kc6i{5uv^k*<(*qQ{4fc zpup&-Kb6>OKwHw>@G-~u0m8Z?w_iax`4BSyg5J5nz2y2+OwPX#piZ7dkX~Z z5({Du3|1Z!9oH(?43@xktZ;9*JX|lDp9p$9X|$rDcnPn6&=wxg5cJ*K(5Qj^)M_#L zlh*lY=|_g+gkpf{JvZ}0)2zgH>{zfsD*OBbW0UhYB&-~WW)IhfyU+wn)z2Pp4&)%$ za^8)Io-SPY21gQytD)IKT%m31i5AW678t?jYsZ*IuIYCB9LD!auvVbzZQ#iK*b=Ii>KAqaQ#C7&Z5F>n2 zFi%Pjs>J*IAv-8Z>fPj&R=OjMMl3*z_)cmt>3tx+;m%sCCtaY-oXKd+x3u(h2wkB4 z4r6v%v`Kh(I5oIm3^gaUWlbefl2cuMD47jmwZT3%1L2jlqqs~E%E93Ba44g0n_*3< z3Q$QgW2JF_>4xBXOKiIlpTk&+$eIMgiw~V1m8=cjYcGXT${o(cQOcM$G0t}jvx8$e z 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 TTaTanzz23s^J=7.0.0-beta.0 <8": - "integrity" "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.10" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.10" - "@babel/types" "^7.18.10" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.1" - "semver" "^6.3.0" - -"@babel/generator@^7.18.10", "@babel/generator@^7.7.2": - "integrity" "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/types" "^7.18.10" - "@jridgewell/gen-mapping" "^0.3.2" - "jsesc" "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - "integrity" "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": - "integrity" "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-validator-option" "^7.18.6" - "browserslist" "^4.20.2" - "semver" "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6": - "integrity" "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6": - "integrity" "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "regexpu-core" "^5.1.0" - -"@babel/helper-define-polyfill-provider@^0.3.2": - "integrity" "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - "version" "7.18.9" - -"@babel/helper-explode-assignable-expression@^7.18.6": - "integrity" "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==" - "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9": - "integrity" "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-hoist-variables@^7.18.6": - "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.18.9": - "integrity" "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-module-imports@^7.18.6": - "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": - "integrity" "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-optimise-call-expression@^7.18.6": - "integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@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.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz" - "version" "7.18.9" - -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": - "integrity" "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": - "integrity" "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-simple-access@^7.18.6": - "integrity" "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - "integrity" "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-split-export-declaration@^7.18.6": - "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - "integrity" "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" - "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" - "version" "7.18.10" - -"@babel/helper-validator-identifier@^7.18.6": - "integrity" "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" - "version" "7.18.6" - -"@babel/helper-validator-option@^7.18.6": - "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - "version" "7.18.6" - -"@babel/helper-wrap-function@^7.18.9": - "integrity" "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/helper-function-name" "^7.18.9" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/helpers@^7.18.9": - "integrity" "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/highlight@^7.18.6": - "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10": - "integrity" "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz" - "version" "7.18.10" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - "integrity" "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==" - "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.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - "integrity" "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - -"@babel/plugin-proposal-async-generator-functions@^7.18.10": - "integrity" "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.18.6": - "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - "integrity" "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - "integrity" "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - "integrity" "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - "integrity" "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - "integrity" "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.18.9": - "integrity" "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.9": - "integrity" "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - "integrity" "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.18.6": - "integrity" "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-meta@^7.8.3": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" - 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": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - "integrity" "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - "integrity" "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - "integrity" "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - "integrity" "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.18.9": - "integrity" "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-classes@^7.18.9": - "integrity" "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - "globals" "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - "integrity" "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-destructuring@^7.18.9": - "integrity" "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - "integrity" "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - "integrity" "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.8": - "integrity" "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" - "version" "7.18.8" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.9": - "integrity" "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - "integrity" "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - "integrity" "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.18.6": - "integrity" "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.6": - "integrity" "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.18.9": - "integrity" "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-validator-identifier" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.18.6": - "integrity" "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": - "integrity" "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-new-target@^7.18.6": - "integrity" "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - "integrity" "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.18.8": - "integrity" "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz" - "version" "7.18.8" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-property-literals@^7.18.6": - "integrity" "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.18.6": - "integrity" "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "regenerator-transform" "^0.15.0" - -"@babel/plugin-transform-reserved-words@^7.18.6": - "integrity" "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - "integrity" "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.18.9": - "integrity" "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - "integrity" "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - "integrity" "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - "integrity" "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - "integrity" "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - "integrity" "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.18.10": - "integrity" "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.18.10" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@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.18.6" - "@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-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.18.9" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.9" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.9" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.9" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.10" - "babel-plugin-polyfill-corejs2" "^0.3.2" - "babel-plugin-polyfill-corejs3" "^0.5.3" - "babel-plugin-polyfill-regenerator" "^0.4.0" - "core-js-compat" "^3.22.1" - "semver" "^6.3.0" - -"@babel/preset-modules@^0.1.5": - "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - "esutils" "^2.0.2" - -"@babel/runtime@^7.8.4": - "integrity" "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz" - "version" "7.18.9" - dependencies: - "regenerator-runtime" "^0.13.4" - -"@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3": - "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": - "integrity" "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - "debug" "^4.1.0" - "globals" "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - "integrity" "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz" - "version" "7.18.10" - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - "to-fast-properties" "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - "version" "0.2.3" - -"@istanbuljs/load-nyc-config@^1.0.0": - "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" - "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "camelcase" "^5.3.1" - "find-up" "^4.1.0" - "get-package-type" "^0.1.0" - "js-yaml" "^3.13.1" - "resolve-from" "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - "version" "0.1.3" - -"@jest/console@^27.5.1": - "integrity" "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "jest-message-util" "^27.5.1" - "jest-util" "^27.5.1" - "slash" "^3.0.0" - -"@jest/core@^27.5.1": - "integrity" "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==" - "resolved" "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "ansi-escapes" "^4.2.1" - "chalk" "^4.0.0" - "emittery" "^0.8.1" - "exit" "^0.1.2" - "graceful-fs" "^4.2.9" - "jest-changed-files" "^27.5.1" - "jest-config" "^27.5.1" - "jest-haste-map" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-resolve-dependencies" "^27.5.1" - "jest-runner" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "jest-watcher" "^27.5.1" - "micromatch" "^4.0.4" - "rimraf" "^3.0.0" - "slash" "^3.0.0" - "strip-ansi" "^6.0.0" - -"@jest/environment@^27.5.1": - "integrity" "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==" - "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "jest-mock" "^27.5.1" - -"@jest/fake-timers@^27.5.1": - "integrity" "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==" - "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - "jest-message-util" "^27.5.1" - "jest-mock" "^27.5.1" - "jest-util" "^27.5.1" - -"@jest/globals@^27.5.1": - "integrity" "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==" - "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - "expect" "^27.5.1" - -"@jest/reporters@^27.5.1": - "integrity" "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==" - "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "collect-v8-coverage" "^1.0.0" - "exit" "^0.1.2" - "glob" "^7.1.2" - "graceful-fs" "^4.2.9" - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-instrument" "^5.1.0" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^4.0.0" - "istanbul-reports" "^3.1.3" - "jest-haste-map" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-util" "^27.5.1" - "jest-worker" "^27.5.1" - "slash" "^3.0.0" - "source-map" "^0.6.0" - "string-length" "^4.0.1" - "terminal-link" "^2.0.0" - "v8-to-istanbul" "^8.1.0" - -"@jest/schemas@^28.1.3": - "integrity" "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==" - "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" - "version" "28.1.3" - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^27.5.1": - "integrity" "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==" - "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "callsites" "^3.0.0" - "graceful-fs" "^4.2.9" - "source-map" "^0.6.0" - -"@jest/test-result@^27.5.1": - "integrity" "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - "integrity" "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==" - "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/test-result" "^27.5.1" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-runtime" "^27.5.1" - -"@jest/transform@^27.5.1": - "integrity" "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==" - "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - "babel-plugin-istanbul" "^6.1.1" - "chalk" "^4.0.0" - "convert-source-map" "^1.4.0" - "fast-json-stable-stringify" "^2.0.0" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-util" "^27.5.1" - "micromatch" "^4.0.4" - "pirates" "^4.0.4" - "slash" "^3.0.0" - "source-map" "^0.6.1" - "write-file-atomic" "^3.0.0" - -"@jest/types@^27.5.1": - "integrity" "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - "chalk" "^4.0.0" - -"@jest/types@^28.0.0", "@jest/types@^28.1.3": - "integrity" "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" - "version" "28.1.3" - dependencies: - "@jest/schemas" "^28.1.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" - -"@jridgewell/gen-mapping@^0.1.0": - "integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - "version" "0.3.2" - 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": - "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - "version" "3.1.0" - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" - -"@jridgewell/sourcemap-codec@^1.4.10": - "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - "version" "1.4.14" - -"@jridgewell/trace-mapping@^0.3.9": - "integrity" "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz" - "version" "0.3.14" - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@maxmind/geoip2-node@^3.0.0": - "integrity" "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==" - "resolved" "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz" - "version" "3.4.0" - dependencies: - "camelcase-keys" "^7.0.0" - "ip6addr" "^0.2.5" - "lodash.set" "^4.3.2" - "maxmind" "^4.2.0" - -"@posthog/plugin-scaffold@^1.2.0": - "integrity" "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==" - "resolved" "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "@maxmind/geoip2-node" "^3.0.0" - -"@sinclair/typebox@^0.24.1": - "integrity" "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==" - "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz" - "version" "0.24.26" - -"@sinonjs/commons@^1.7.0": - "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - "version" "1.8.3" - dependencies: - "type-detect" "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - "integrity" "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - "version" "1.1.2" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - "integrity" "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==" - "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" - "version" "7.1.19" - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" - "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - "version" "7.6.4" - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" - "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - "version" "7.4.1" - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - "integrity" "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==" - "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz" - "version" "7.17.1" - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" - "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - "version" "2.0.4" - -"@types/istanbul-lib-report@*": - "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^28.1.6": - "integrity" "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==" - "resolved" "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz" - "version" "28.1.6" - dependencies: - "jest-matcher-utils" "^28.0.0" - "pretty-format" "^28.0.0" - -"@types/node@*", "@types/node@^18.0.3": - "integrity" "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz" - "version" "18.6.3" - -"@types/prettier@^2.1.5": - "integrity" "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==" - "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz" - "version" "2.6.4" - -"@types/stack-utils@^2.0.0": - "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - "version" "2.0.1" - -"@types/yargs-parser@*": - "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - "version" "21.0.0" - -"@types/yargs@^16.0.0": - "integrity" "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" - "version" "16.0.4" - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - "integrity" "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz" - "version" "17.0.10" - dependencies: - "@types/yargs-parser" "*" - -"abab@^2.0.3", "abab@^2.0.5": - "integrity" "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" - "version" "2.0.6" - -"acorn-globals@^6.0.0": - "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" - "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "acorn" "^7.1.1" - "acorn-walk" "^7.1.1" - -"acorn-walk@^7.1.1": - "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - "version" "7.2.0" - -"acorn@^7.1.1": - "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - "version" "7.4.1" - -"acorn@^8.2.4": - "integrity" "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" - "version" "8.8.0" - -"agent-base@6": - "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "debug" "4" - -"ansi-escapes@^4.2.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^5.0.0": - "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - "version" "5.2.0" - -"anymatch@^3.0.3": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"assert-plus@^1.0.0", "assert-plus@1.0.0": - "integrity" "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - "version" "1.0.0" - -"asynckit@^0.4.0": - "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"babel-jest@^27.5.1": - "integrity" "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==" - "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - "babel-plugin-istanbul" "^6.1.1" - "babel-preset-jest" "^27.5.1" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "slash" "^3.0.0" - -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "object.assign" "^4.1.0" - -"babel-plugin-istanbul@^6.1.1": - "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" - "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - "version" "6.1.1" - 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@^27.5.1": - "integrity" "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -"babel-plugin-polyfill-corejs2@^0.3.2": - "integrity" "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.2" - "semver" "^6.1.1" - -"babel-plugin-polyfill-corejs3@^0.5.3": - "integrity" "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - "core-js-compat" "^3.21.0" - -"babel-plugin-polyfill-regenerator@^0.4.0": - "integrity" "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - -"babel-preset-current-node-syntax@^1.0.0": - "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" - "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - "version" "1.0.1" - 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@^27.5.1": - "integrity" "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==" - "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "babel-plugin-jest-hoist" "^27.5.1" - "babel-preset-current-node-syntax" "^1.0.0" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@^3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"browser-process-hrtime@^1.0.0": - "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - "version" "1.0.0" - -"browserslist@^4.20.2", "browserslist@^4.21.3", "browserslist@>= 4.21.0": - "integrity" "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz" - "version" "4.21.3" - dependencies: - "caniuse-lite" "^1.0.30001370" - "electron-to-chromium" "^1.4.202" - "node-releases" "^2.0.6" - "update-browserslist-db" "^1.0.5" - -"bs-logger@0.x": - "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" - "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "fast-json-stable-stringify" "2.x" - -"bser@2.1.1": - "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" - "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-int64" "^0.4.0" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"call-bind@^1.0.0": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase-keys@^7.0.0": - "integrity" "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==" - "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz" - "version" "7.0.2" - dependencies: - "camelcase" "^6.3.0" - "map-obj" "^4.1.0" - "quick-lru" "^5.1.1" - "type-fest" "^1.2.1" - -"camelcase@^5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.2.0", "camelcase@^6.3.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"caniuse-lite@^1.0.30001370": - "integrity" "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz" - "version" "1.0.30001373" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.0.0": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"char-regex@^1.0.2": - "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - "version" "1.0.2" - -"ci-info@^3.2.0": - "integrity" "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz" - "version" "3.3.2" - -"cjs-module-lexer@^1.0.0": - "integrity" "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - "resolved" "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - "version" "1.2.2" - -"cliui@^7.0.2": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"co@^4.6.0": - "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - "version" "4.6.0" - -"collect-v8-coverage@^1.0.0": - "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - "version" "1.0.1" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"combined-stream@^1.0.8": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": - "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "safe-buffer" "~5.1.1" - -"core-js-compat@^3.21.0", "core-js-compat@^3.22.1": - "integrity" "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz" - "version" "3.24.1" - dependencies: - "browserslist" "^4.21.3" - "semver" "7.0.0" - -"core-util-is@1.0.2": - "integrity" "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cross-fetch@^3.0.4": - "integrity" "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "node-fetch" "2.6.7" - -"cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"cssom@^0.4.4": - "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - "version" "0.4.4" - -"cssom@~0.3.6": - "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - "version" "0.3.8" - -"cssstyle@^2.3.0": - "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" - "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "cssom" "~0.3.6" - -"data-uri-to-buffer@^4.0.0": - "integrity" "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" - "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz" - "version" "4.0.0" - -"data-urls@^2.0.0": - "integrity" "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==" - "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "abab" "^2.0.3" - "whatwg-mimetype" "^2.3.0" - "whatwg-url" "^8.0.0" - -"debug@^4.1.0", "debug@^4.1.1", "debug@4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"decimal.js@^10.2.1": - "integrity" "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz" - "version" "10.3.1" - -"dedent@^0.7.0": - "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - "version" "0.7.0" - -"deep-is@~0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" - -"deepmerge@^4.2.2": - "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - "version" "4.2.2" - -"define-properties@^1.1.3": - "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"delayed-stream@~1.0.0": - "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" - -"detect-newline@^3.0.0": - "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - "version" "3.1.0" - -"diff-sequences@^27.5.1": - "integrity" "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" - "version" "27.5.1" - -"diff-sequences@^28.1.1": - "integrity" "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz" - "version" "28.1.1" - -"domexception@^2.0.1": - "integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==" - "resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "webidl-conversions" "^5.0.0" - -"electron-to-chromium@^1.4.202": - "integrity" "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz" - "version" "1.4.209" - -"emittery@^0.8.1": - "integrity" "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" - "version" "0.8.1" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-string-regexp@^1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"escodegen@^2.0.0": - "integrity" "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==" - "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "esprima" "^4.0.1" - "estraverse" "^5.2.0" - "esutils" "^2.0.2" - "optionator" "^0.8.1" - optionalDependencies: - "source-map" "~0.6.1" - -"esprima@^4.0.0", "esprima@^4.0.1": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"estraverse@^5.2.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - 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" - -"exit@^0.1.2": - "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - "version" "0.1.2" - -"expect@^27.5.1": - "integrity" "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==" - "resolved" "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - -"extsprintf@^1.2.0", "extsprintf@1.3.0": - "integrity" "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - "version" "1.3.0" - -"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@2.x": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-levenshtein@~2.0.6": - "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" - -"fb-watchman@^2.0.0": - "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" - "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "bser" "2.1.1" - -"fetch-blob@^3.1.2", "fetch-blob@^3.1.4": - "integrity" "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==" - "resolved" "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "node-domexception" "^1.0.0" - "web-streams-polyfill" "^3.0.3" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"find-up@^4.0.0", "find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"form-data@^3.0.0": - "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"formdata-polyfill@^4.0.10": - "integrity" "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==" - "resolved" "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" - "version" "4.0.10" - dependencies: - "fetch-blob" "^3.1.2" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@^2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1": - "integrity" "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.3" - -"get-package-type@^0.1.0": - "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - "version" "0.1.0" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - 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" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"graceful-fs@^4.2.9": - "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - "version" "4.2.10" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-symbols@^1.0.1", "has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"html-encoding-sniffer@^2.0.1": - "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" - "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "whatwg-encoding" "^1.0.5" - -"html-escaper@^2.0.0": - "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - "version" "2.0.2" - -"http-proxy-agent@^4.0.1": - "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "@tootallnate/once" "1" - "agent-base" "6" - "debug" "4" - -"https-proxy-agent@^5.0.0": - "integrity" "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "agent-base" "6" - "debug" "4" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"import-local@^3.0.2": - "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"ip6addr@^0.2.5": - "integrity" "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==" - "resolved" "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz" - "version" "0.2.5" - dependencies: - "assert-plus" "^1.0.0" - "jsprim" "^2.0.2" - -"is-arrayish@^0.2.1": - "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-core-module@^2.9.0": - "integrity" "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" - "version" "2.9.0" - dependencies: - "has" "^1.0.3" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-generator-fn@^2.0.0": - "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - "version" "2.1.0" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-potential-custom-element-name@^1.0.1": - "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - "version" "1.0.1" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-typedarray@^1.0.0": - "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"istanbul-lib-coverage@^3.0.0", "istanbul-lib-coverage@^3.2.0": - "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - "version" "3.2.0" - -"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": - "integrity" "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" - "version" "5.2.0" - 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-report@^3.0.0": - "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "istanbul-lib-coverage" "^3.0.0" - "make-dir" "^3.0.0" - "supports-color" "^7.1.0" - -"istanbul-lib-source-maps@^4.0.0": - "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^3.0.0" - "source-map" "^0.6.1" - -"istanbul-reports@^3.1.3": - "integrity" "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==" - "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "html-escaper" "^2.0.0" - "istanbul-lib-report" "^3.0.0" - -"jest-changed-files@^27.5.1": - "integrity" "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==" - "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "execa" "^5.0.0" - "throat" "^6.0.1" - -"jest-circus@^27.5.1": - "integrity" "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==" - "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "co" "^4.6.0" - "dedent" "^0.7.0" - "expect" "^27.5.1" - "is-generator-fn" "^2.0.0" - "jest-each" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "pretty-format" "^27.5.1" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - "throat" "^6.0.1" - -"jest-cli@^27.5.1": - "integrity" "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==" - "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.9" - "import-local" "^3.0.2" - "jest-config" "^27.5.1" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "prompts" "^2.0.1" - "yargs" "^16.2.0" - -"jest-config@^27.5.1": - "integrity" "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==" - "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - "babel-jest" "^27.5.1" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "deepmerge" "^4.2.2" - "glob" "^7.1.1" - "graceful-fs" "^4.2.9" - "jest-circus" "^27.5.1" - "jest-environment-jsdom" "^27.5.1" - "jest-environment-node" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-jasmine2" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-runner" "^27.5.1" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "micromatch" "^4.0.4" - "parse-json" "^5.2.0" - "pretty-format" "^27.5.1" - "slash" "^3.0.0" - "strip-json-comments" "^3.1.1" - -"jest-diff@^27.5.1": - "integrity" "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^27.5.1" - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-diff@^28.1.3": - "integrity" "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" - "version" "28.1.3" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^28.1.1" - "jest-get-type" "^28.0.2" - "pretty-format" "^28.1.3" - -"jest-docblock@^27.5.1": - "integrity" "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==" - "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "detect-newline" "^3.0.0" - -"jest-each@^27.5.1": - "integrity" "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==" - "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "jest-get-type" "^27.5.1" - "jest-util" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-environment-jsdom@^27.5.1": - "integrity" "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==" - "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "jest-mock" "^27.5.1" - "jest-util" "^27.5.1" - "jsdom" "^16.6.0" - -"jest-environment-node@^27.5.1": - "integrity" "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==" - "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "jest-mock" "^27.5.1" - "jest-util" "^27.5.1" - -"jest-fetch-mock@^3.0.3": - "integrity" "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==" - "resolved" "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "cross-fetch" "^3.0.4" - "promise-polyfill" "^8.1.3" - -"jest-get-type@^27.5.1": - "integrity" "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" - "version" "27.5.1" - -"jest-get-type@^28.0.2": - "integrity" "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" - "version" "28.0.2" - -"jest-haste-map@^27.5.1": - "integrity" "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==" - "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - "anymatch" "^3.0.3" - "fb-watchman" "^2.0.0" - "graceful-fs" "^4.2.9" - "jest-regex-util" "^27.5.1" - "jest-serializer" "^27.5.1" - "jest-util" "^27.5.1" - "jest-worker" "^27.5.1" - "micromatch" "^4.0.4" - "walker" "^1.0.7" - optionalDependencies: - "fsevents" "^2.3.2" - -"jest-jasmine2@^27.5.1": - "integrity" "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==" - "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "co" "^4.6.0" - "expect" "^27.5.1" - "is-generator-fn" "^2.0.0" - "jest-each" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "pretty-format" "^27.5.1" - "throat" "^6.0.1" - -"jest-leak-detector@^27.5.1": - "integrity" "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==" - "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-matcher-utils@^27.5.1": - "integrity" "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "chalk" "^4.0.0" - "jest-diff" "^27.5.1" - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-matcher-utils@^28.0.0": - "integrity" "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz" - "version" "28.1.3" - dependencies: - "chalk" "^4.0.0" - "jest-diff" "^28.1.3" - "jest-get-type" "^28.0.2" - "pretty-format" "^28.1.3" - -"jest-message-util@^27.5.1": - "integrity" "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "micromatch" "^4.0.4" - "pretty-format" "^27.5.1" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-mock@^27.5.1": - "integrity" "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==" - "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -"jest-pnp-resolver@^1.2.2": - "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - "version" "1.2.2" - -"jest-regex-util@^27.5.1": - "integrity" "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" - "version" "27.5.1" - -"jest-resolve-dependencies@^27.5.1": - "integrity" "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==" - "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-snapshot" "^27.5.1" - -"jest-resolve@*", "jest-resolve@^27.5.1": - "integrity" "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==" - "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-pnp-resolver" "^1.2.2" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "resolve" "^1.20.0" - "resolve.exports" "^1.1.0" - "slash" "^3.0.0" - -"jest-runner@^27.5.1": - "integrity" "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==" - "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "emittery" "^0.8.1" - "graceful-fs" "^4.2.9" - "jest-docblock" "^27.5.1" - "jest-environment-jsdom" "^27.5.1" - "jest-environment-node" "^27.5.1" - "jest-haste-map" "^27.5.1" - "jest-leak-detector" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-util" "^27.5.1" - "jest-worker" "^27.5.1" - "source-map-support" "^0.5.6" - "throat" "^6.0.1" - -"jest-runtime@^27.5.1": - "integrity" "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==" - "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "cjs-module-lexer" "^1.0.0" - "collect-v8-coverage" "^1.0.0" - "execa" "^5.0.0" - "glob" "^7.1.3" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-mock" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "slash" "^3.0.0" - "strip-bom" "^4.0.0" - -"jest-serializer@^27.5.1": - "integrity" "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==" - "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@types/node" "*" - "graceful-fs" "^4.2.9" - -"jest-snapshot@^27.5.1": - "integrity" "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==" - "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - "babel-preset-current-node-syntax" "^1.0.0" - "chalk" "^4.0.0" - "expect" "^27.5.1" - "graceful-fs" "^4.2.9" - "jest-diff" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-haste-map" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-util" "^27.5.1" - "natural-compare" "^1.4.0" - "pretty-format" "^27.5.1" - "semver" "^7.3.2" - -"jest-util@^27.5.1": - "integrity" "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "graceful-fs" "^4.2.9" - "picomatch" "^2.2.3" - -"jest-util@^28.0.0": - "integrity" "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" - "version" "28.1.3" - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "graceful-fs" "^4.2.9" - "picomatch" "^2.2.3" - -"jest-validate@^27.5.1": - "integrity" "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "camelcase" "^6.2.0" - "chalk" "^4.0.0" - "jest-get-type" "^27.5.1" - "leven" "^3.1.0" - "pretty-format" "^27.5.1" - -"jest-watcher@^27.5.1": - "integrity" "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==" - "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "ansi-escapes" "^4.2.1" - "chalk" "^4.0.0" - "jest-util" "^27.5.1" - "string-length" "^4.0.1" - -"jest-worker@^27.5.1": - "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" - -"jest@^27.5.1", "jest@^28.0.0": - "integrity" "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==" - "resolved" "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/core" "^27.5.1" - "import-local" "^3.0.2" - "jest-cli" "^27.5.1" - -"js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"jsdom@^16.6.0": - "integrity" "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==" - "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" - "version" "16.7.0" - dependencies: - "abab" "^2.0.5" - "acorn" "^8.2.4" - "acorn-globals" "^6.0.0" - "cssom" "^0.4.4" - "cssstyle" "^2.3.0" - "data-urls" "^2.0.0" - "decimal.js" "^10.2.1" - "domexception" "^2.0.1" - "escodegen" "^2.0.0" - "form-data" "^3.0.0" - "html-encoding-sniffer" "^2.0.1" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "^5.0.0" - "is-potential-custom-element-name" "^1.0.1" - "nwsapi" "^2.2.0" - "parse5" "6.0.1" - "saxes" "^5.0.1" - "symbol-tree" "^3.2.4" - "tough-cookie" "^4.0.0" - "w3c-hr-time" "^1.0.2" - "w3c-xmlserializer" "^2.0.0" - "webidl-conversions" "^6.1.0" - "whatwg-encoding" "^1.0.5" - "whatwg-mimetype" "^2.3.0" - "whatwg-url" "^8.5.0" - "ws" "^7.4.6" - "xml-name-validator" "^3.0.0" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-parse-even-better-errors@^2.3.0": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema@0.4.0": - "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - "version" "0.4.0" - -"json5@^2.2.1": - "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - "version" "2.2.1" - -"jsprim@^2.0.2": - "integrity" "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==" - "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "assert-plus" "1.0.0" - "extsprintf" "1.3.0" - "json-schema" "0.4.0" - "verror" "1.10.0" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"levn@~0.3.0": - "integrity" "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"lines-and-columns@^1.1.6": - "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - "version" "1.2.4" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.memoize@4.x": - "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.set@^4.3.2": - "integrity" "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" - "resolved" "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" - "version" "4.3.2" - -"lodash@^4.7.0": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-dir@^3.0.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-error@1.x": - "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - "version" "1.3.6" - -"makeerror@1.0.12": - "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" - "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - "version" "1.0.12" - dependencies: - "tmpl" "1.0.5" - -"map-obj@^4.1.0": - "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" - "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - "version" "4.3.0" - -"maxmind@^4.2.0": - "integrity" "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==" - "resolved" "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz" - "version" "4.3.6" - dependencies: - "mmdb-lib" "2.0.2" - "tiny-lru" "8.0.2" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"micromatch@^4.0.4": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.12": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"minimatch@^3.0.4", "minimatch@^3.1.1": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"mmdb-lib@2.0.2": - "integrity" "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==" - "resolved" "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz" - "version" "2.0.2" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"natural-compare@^1.4.0": - "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"node-domexception@^1.0.0": - "integrity" "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - "resolved" "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" - "version" "1.0.0" - -"node-fetch@^3.2.6": - "integrity" "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz" - "version" "3.2.8" - dependencies: - "data-uri-to-buffer" "^4.0.0" - "fetch-blob" "^3.1.4" - "formdata-polyfill" "^4.0.10" - -"node-fetch@2.6.7": - "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - "version" "2.6.7" - dependencies: - "whatwg-url" "^5.0.0" - -"node-int64@^0.4.0": - "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - "version" "0.4.0" - -"node-releases@^2.0.6": - "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" - "version" "2.0.6" - -"normalize-path@^3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"nwsapi@^2.2.0": - "integrity" "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==" - "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz" - "version" "2.2.1" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object.assign@^4.1.0": - "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "has-symbols" "^1.0.1" - "object-keys" "^1.1.1" - -"once@^1.3.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"optionator@^0.8.1": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"parse-json@^5.2.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"parse5@6.0.1": - "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - "version" "6.0.1" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.3", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pirates@^4.0.4": - "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - "version" "4.0.5" - -"pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"prelude-ls@~1.1.2": - "integrity" "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - "version" "1.1.2" - -"pretty-format@^27.5.1": - "integrity" "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "ansi-regex" "^5.0.1" - "ansi-styles" "^5.0.0" - "react-is" "^17.0.1" - -"pretty-format@^28.0.0", "pretty-format@^28.1.3": - "integrity" "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" - "version" "28.1.3" - dependencies: - "@jest/schemas" "^28.1.3" - "ansi-regex" "^5.0.1" - "ansi-styles" "^5.0.0" - "react-is" "^18.0.0" - -"promise-polyfill@^8.1.3": - "integrity" "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==" - "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz" - "version" "8.2.3" - -"prompts@^2.0.1": - "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"psl@^1.1.33": - "integrity" "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - "resolved" "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - "version" "1.9.0" - -"punycode@^2.1.1": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"quick-lru@^5.1.1": - "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - "version" "5.1.1" - -"react-is@^17.0.1": - "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - "version" "17.0.2" - -"react-is@^18.0.0": - "integrity" "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - "version" "18.2.0" - -"regenerate-unicode-properties@^10.0.1": - "integrity" "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" - "version" "10.0.1" - dependencies: - "regenerate" "^1.4.2" - -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.13.4": - "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - "version" "0.13.9" - -"regenerator-transform@^0.15.0": - "integrity" "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" - "version" "0.15.0" - dependencies: - "@babel/runtime" "^7.8.4" - -"regexpu-core@^5.1.0": - "integrity" "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "regenerate" "^1.4.2" - "regenerate-unicode-properties" "^10.0.1" - "regjsgen" "^0.6.0" - "regjsparser" "^0.8.2" - "unicode-match-property-ecmascript" "^2.0.0" - "unicode-match-property-value-ecmascript" "^2.0.0" - -"regjsgen@^0.6.0": - "integrity" "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" - "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" - "version" "0.6.0" - -"regjsparser@^0.8.2": - "integrity" "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "jsesc" "~0.5.0" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve.exports@^1.1.0": - "integrity" "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" - "resolved" "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - "version" "1.1.0" - -"resolve@^1.14.2", "resolve@^1.20.0": - "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - "version" "1.22.1" - dependencies: - "is-core-module" "^2.9.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"rimraf@^3.0.0": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safer-buffer@>= 2.1.2 < 3": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"saxes@^5.0.1": - "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" - "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "xmlchars" "^2.2.0" - -"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.2": - "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - "version" "7.3.7" - dependencies: - "lru-cache" "^6.0.0" - -"semver@7.0.0": - "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - "version" "7.0.0" - -"semver@7.x": - "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - "version" "7.3.7" - dependencies: - "lru-cache" "^6.0.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"signal-exit@^3.0.2", "signal-exit@^3.0.3": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"source-map-support@^0.5.6": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.7.3": - "integrity" "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - "version" "0.7.4" - -"sprintf-js@~1.0.2": - "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"stack-utils@^2.0.3": - "integrity" "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==" - "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "escape-string-regexp" "^2.0.0" - -"string-length@^4.0.1": - "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "char-regex" "^1.0.2" - "strip-ansi" "^6.0.0" - -"string-width@^4.1.0", "string-width@^4.2.0": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-bom@^4.0.0": - "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - "version" "4.0.0" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-json-comments@^3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.0.0", "supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"supports-hyperlinks@^2.0.0": - "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" - "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "has-flag" "^4.0.0" - "supports-color" "^7.0.0" - -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" - -"symbol-tree@^3.2.4": - "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - "version" "3.2.4" - -"terminal-link@^2.0.0": - "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" - "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ansi-escapes" "^4.2.1" - "supports-hyperlinks" "^2.0.0" - -"test-exclude@^6.0.0": - "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "@istanbuljs/schema" "^0.1.2" - "glob" "^7.1.4" - "minimatch" "^3.0.4" - -"throat@^6.0.1": - "integrity" "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" - "resolved" "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz" - "version" "6.0.1" - -"tiny-lru@8.0.2": - "integrity" "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==" - "resolved" "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz" - "version" "8.0.2" - -"tmpl@1.0.5": - "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - "version" "1.0.5" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"tough-cookie@^4.0.0": - "integrity" "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "psl" "^1.1.33" - "punycode" "^2.1.1" - "universalify" "^0.1.2" - -"tr46@^2.1.0": - "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "punycode" "^2.1.1" - -"tr46@~0.0.3": - "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" - -"ts-jest@^28.0.7": - "integrity" "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==" - "resolved" "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz" - "version" "28.0.7" - dependencies: - "bs-logger" "0.x" - "fast-json-stable-stringify" "2.x" - "jest-util" "^28.0.0" - "json5" "^2.2.1" - "lodash.memoize" "4.x" - "make-error" "1.x" - "semver" "7.x" - "yargs-parser" "^21.0.1" - -"type-check@~0.3.2": - "integrity" "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "prelude-ls" "~1.1.2" - -"type-detect@4.0.8": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-fest@^1.2.1": - "integrity" "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - "version" "1.4.0" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typescript@^4.7.4", "typescript@>=4.3": - "integrity" "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" - "version" "4.7.4" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.0.0": - "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"universalify@^0.1.2": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"update-browserslist-db@^1.0.5": - "integrity" "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==" - "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"v8-to-istanbul@^8.1.0": - "integrity" "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==" - "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - "convert-source-map" "^1.6.0" - "source-map" "^0.7.3" - -"verror@1.10.0": - "integrity" "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" - "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - "version" "1.10.0" - dependencies: - "assert-plus" "^1.0.0" - "core-util-is" "1.0.2" - "extsprintf" "^1.2.0" - -"w3c-hr-time@^1.0.2": - "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" - "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "browser-process-hrtime" "^1.0.0" - -"w3c-xmlserializer@^2.0.0": - "integrity" "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==" - "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "xml-name-validator" "^3.0.0" - -"walker@^1.0.7": - "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" - "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "makeerror" "1.0.12" - -"web-streams-polyfill@^3.0.3": - "integrity" "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - "resolved" "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" - "version" "3.2.1" - -"webidl-conversions@^3.0.0": - "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" - -"webidl-conversions@^5.0.0": - "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - "version" "5.0.0" - -"webidl-conversions@^6.1.0": - "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - "version" "6.1.0" - -"whatwg-encoding@^1.0.5": - "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" - "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "iconv-lite" "0.4.24" - -"whatwg-mimetype@^2.3.0": - "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - "version" "2.3.0" - -"whatwg-url@^5.0.0": - "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"whatwg-url@^8.0.0", "whatwg-url@^8.5.0": - "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - "version" "8.7.0" - dependencies: - "lodash" "^4.7.0" - "tr46" "^2.1.0" - "webidl-conversions" "^6.1.0" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"word-wrap@~1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^3.0.0": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"ws@^7.4.6": - "integrity" "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - "version" "7.5.9" - -"xml-name-validator@^3.0.0": - "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - "version" "3.0.0" - -"xmlchars@^2.2.0": - "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - "version" "2.2.0" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yargs-parser@^20.2.2": - "integrity" "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - "version" "20.2.9" - -"yargs-parser@^21.0.1": - "integrity" "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" - "version" "21.0.1" - -"yargs@^16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig deleted file mode 100644 index b0b709a63cc2d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 120 - -[*.md] -trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes deleted file mode 100644 index dfe0770424b2a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md deleted file mode 100644 index 3fe0f6f335209..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -## Changes - -... - -## Checklist - -- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml deleted file mode 100644 index 950c2443f8405..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.github/workflows/ci.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: CI - -on: - - pull_request - -jobs: - unit-tests: - name: Unit tests - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Set up Node 14 - uses: actions/setup-node@v2 - with: - node-version: 14 - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Run unit tests - run: yarn test - - code-quality: - name: Code quality - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Set up Node 14 - uses: actions/setup-node@v2 - with: - node-version: 14 - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Lint - run: yarn lint diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore deleted file mode 100644 index abd8ee954280e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.gitignore +++ /dev/null @@ -1,76 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/ - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# environment variables file -.env -.environment - -# next.js build output -.next - -# editors -.vscode -.idea - -# yalc -.yalc -yalc* - -# macOS -.DS_Store - -# output -dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore deleted file mode 100644 index 1521c8b7652b1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/GeoLite2-City-Test.mmdb b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/GeoLite2-City-Test.mmdb deleted file mode 100644 index 0809201619b5915fa6189200e4c53e6088f437da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20809 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 - -## Caveats - -A case to be aware of is sending events from a server – such events, if not provided with custom property `$ip`, -will be detected as sent from the location of the data center, instead of the related user. - -If you'd like this plugin to skip over an event and not add the above properties, -set property `$geoip_disable` to `true` on that event. - -## Installation - -1. Access PostHog's **Plugins** page from the sidebar. -1. Go to the **Advanced** tab. -1. **Fetch and install** the following URL in the **Install from GitHub, GitLab or npm** section: - `http://github.com/PostHog/posthog-plugin-geoip`. -1. Enable the plugin and watch your events come in with enriched data! - -## Questions? - -### [Join the PostHo community.](https://posthog.com/questions) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/logo.png deleted file mode 100644 index 1c815bd5f4a128fc69c60986ca962d34f5201379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15719 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", - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc" - }, - "dependencies": {}, - "devDependencies": { - "@maxmind/geoip2-node": "^2.3.1", - "@posthog/plugin-scaffold": "github:PostHog/plugin-scaffold", - "@types/jest": "^26.0.19", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "eslint": "^7.21.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "~4.3.6", - "jest": "^26.6.3", - "lint-staged": "~10.5.3", - "prettier": "^2.2.1", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock deleted file mode 100644 index 96785a465855e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/yarn.lock +++ /dev/null @@ -1,4994 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@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.0.0", "@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.12.13" - -"@babel/compat-data@^7.13.8": - version "7.13.11" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.11.tgz#9c8fe523c206979c9a81b1e12fe50c1254f1aa35" - integrity sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg== - -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - 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.9" - "@babel/helper-compilation-targets" "^7.13.10" - "@babel/helper-module-transforms" "^7.13.0" - "@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" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^6.3.0" - source-map "^0.5.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== - dependencies: - "@babel/types" "^7.13.0" - jsesc "^2.5.1" - source-map "^0.5.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-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-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.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.13" - -"@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.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.13.0" - "@babel/types" "^7.13.0" - lodash "^4.17.19" - -"@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.12.13", "@babel/helper-plugin-utils@^7.8.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-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.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-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-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.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/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" - "@babel/types" "^7.13.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.10": - version "7.13.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.11.tgz#f93ebfc99d21c1772afbbaa153f47e7ce2f50b88" - integrity sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q== - -"@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.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-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-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.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-top-level-await@^7.8.3": - 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.12.13" - -"@babel/template@^7.12.13", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.1.0", "@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.12.13", "@babel/types@^7.13.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - 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" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@maxmind/geoip2-node@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-2.3.1.tgz#f465bfec300b9a24ce14fc1acdd2b0d931b5674a" - integrity sha512-iWxQiymqUJeZOm2GibQlOebZgEFly6SvTL1iALennYGPAsbBX+Iu50tz6xFGsO+2uoohDjPglx0h2TFZO7N2kQ== - dependencies: - camelcase-keys "^6.0.1" - ip6addr "^0.2.3" - lodash.set "^4.3.2" - maxmind "^4.2.0" - -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== - dependencies: - "@nodelib/fs.stat" "2.0.4" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== - dependencies: - "@nodelib/fs.scandir" "2.1.4" - fastq "^1.6.0" - -"@posthog/plugin-scaffold@github:PostHog/plugin-scaffold": - version "0.4.2" - resolved "https://codeload.github.com/PostHog/plugin-scaffold/tar.gz/35040ed41a7a23638bbef26384d6bd5838d909f9" - dependencies: - "@maxmind/geoip2-node" "^2.3.1" - -"@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.13" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.13.tgz#bc6eea53975fdf163aff66c086522c6f293ae4cf" - integrity sha512-CC6amBNND16pTk4K3ZqKIaba6VGKAQs3gMjEY17FVd56oI/ZWt9OhS6riYiWv9s8ENbYUi7p8lgqb0QHQvUKQQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" - integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^26.0.19": - 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" - -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/node@*": - version "14.14.35" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" - integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" - integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.12.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.18.0.tgz#50fbce93211b5b690895d20ebec6fe8db48af1f6" - integrity sha512-Lzkc/2+7EoH7+NjIWLS2lVuKKqbEmJhtXe3rmfA8cyiKnZm3IfLf51irnBcmow8Q/AptVV0XBZmBJKuUJTe6cQ== - dependencies: - "@typescript-eslint/experimental-utils" "4.18.0" - "@typescript-eslint/scope-manager" "4.18.0" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.18.0.tgz#ed6c955b940334132b17100d2917449b99a91314" - integrity sha512-92h723Kblt9JcT2RRY3QS2xefFKar4ZQFVs3GityOKWQYgtajxt/tuXIzL7sVCUlM1hgreiV5gkGYyBpdOwO6A== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.18.0" - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/typescript-estree" "4.18.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.12.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.18.0.tgz#a211edb14a69fc5177054bec04c95b185b4dde21" - integrity sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA== - dependencies: - "@typescript-eslint/scope-manager" "4.18.0" - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/typescript-estree" "4.18.0" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz#d75b55234c35d2ff6ac945758d6d9e53be84a427" - integrity sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ== - dependencies: - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/visitor-keys" "4.18.0" - -"@typescript-eslint/types@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.18.0.tgz#bebe323f81f2a7e2e320fac9415e60856267584a" - integrity sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A== - -"@typescript-eslint/typescript-estree@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz#756d3e61da8c16ab99185532c44872f4cd5538cb" - integrity sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg== - dependencies: - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/visitor-keys" "4.18.0" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/visitor-keys@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz#4e6fe2a175ee33418318a029610845a81e2ff7b6" - integrity sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw== - dependencies: - "@typescript-eslint/types" "4.18.0" - eslint-visitor-keys "^2.0.0" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -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-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.0.5: - version "8.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe" - integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA== - -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@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: - 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@^7.0.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.1.tgz#a5ac226171912447683524fa2f1248fcf8bac83d" - integrity sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - 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-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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.14.5: - 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.30001181" - colorette "^1.2.1" - electron-to-chromium "^1.3.649" - escalade "^3.1.1" - node-releases "^1.1.70" - -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" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -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" - -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.0.1: - 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@^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.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001181: - version "1.0.30001203" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz#a7a34df21a387d9deffcd56c000b8cf5ab540580" - integrity sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0: - 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.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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-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@^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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colorette@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -combined-stream@^1.0.6, 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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - 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" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3, 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.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.649: - version "1.3.692" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.692.tgz#4d00479055a7282cdd1b19caec09ed7779529640" - integrity sha512-Ix+zDUAXWZuUzqKdhkgN5dP7ZM+IwMG4yAGFGDLpGJP/3vNEEwuHG1LIhtXUfW0FFV0j38t5PUv2n/3MFSRviQ== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5, 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" - -error-ex@^1.2.0, 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" - -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-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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" - integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -eslint-scope@^5.0.0, 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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint@^7.21.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" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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.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: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -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== - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - 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-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.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-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 "^3.1.2" - -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@^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== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -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" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -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: - 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: - 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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-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" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.0: - 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" - integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.1: - version "11.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" - integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-bigints@^1.0.1: - 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" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-symbols@^1.0.1, 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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -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== - -husky@~4.3.6: - 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 "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip6addr@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" - integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.4.0" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-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.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.4, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -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" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -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" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-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== - dependencies: - has-symbols "^1.0.1" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -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-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0, isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.5.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.1.tgz#4ced6bbd7b77d67fb980e64d9e3e6fb900f97dd6" - integrity sha512-pF73EOsJgwZekbDHEY5VO/yKXUkab/DuvrQB/ANVizbr6UAHJsDdHXuotZYwkJSGQl1JM+ivXaqY+XBDDL4TiA== - dependencies: - abab "^2.0.5" - acorn "^8.0.5" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "6.0.1" - request "^2.88.2" - request-promise-native "^1.0.9" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.4.4" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsprim@^1.2.2, jsprim@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@~10.5.3: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.4.3.tgz#543bcf849d5ffc70602708b69d2daac73f751699" - integrity sha512-wZmkzNiuinOfwrGqAwTCcPw6aKQGTAMGXwG5xeU1WpDjJNeBA35jGBeWxR3OF+R6Yl5Y3dRG+3vE8t6PDcSNHA== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.6" - through "^2.3.8" - wrap-ansi "^7.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -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" - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, 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" - -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" - -make-dir@^3.0.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-error@1.x: - 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.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.0.tgz#0e8bc823e2aaca8a0942567d12ed14f389eec153" - integrity sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -maxmind@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.1.tgz#b20103f19e9fc12e4d1618814380d89a00f65770" - integrity sha512-0CxAgwWIwQy4zF1/qCMOeUPleMTYgfnsuIsZ4Otzx6hzON4PCqivPiH6Kz7iWrC++KOGCbSB3nxkJMvDEdWt6g== - dependencies: - mmdb-lib "1.2.0" - tiny-lru "7.0.6" - -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: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.46.0: - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.29" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== - dependencies: - mime-db "1.46.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mmdb-lib@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-1.2.0.tgz#0ecd93f4942f65a2d09be0502fa9126939606727" - integrity sha512-3XYebkStxqCgWJjsmT9FCaE19Yi4Tvs2SBPKhUks3rJJh52oF1AKAd9kei+LTutud3a6RCZ0o2Um96Fn7o3zVA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-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== - -normalize-package-data@^2.3.2, 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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - -object-keys@^1.0.12, 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-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -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.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -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: - 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" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.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-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-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -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@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^5.0.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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^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== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -queue-microtask@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" - integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== - -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== - -react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "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@^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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: - 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" - -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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -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" - -rxjs@^6.6.6: - version "6.6.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" - integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -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@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2: - 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" - -semver@^6.0.0, semver@^6.1.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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -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.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" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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.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== - -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.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-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -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" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tiny-lru@7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" - integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -ts-jest@^26.4.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: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1, tslib@^1.9.0: - 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.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -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.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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.1.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" - integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== - -unbox-primitive@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" - integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.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-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -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, which@^2.0.2: - 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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.4: - version "7.4.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" - integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -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: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.x: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -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.4.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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig deleted file mode 100644 index b0b709a63cc2d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 120 - -[*.md] -trim_trailing_whitespace = false diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes deleted file mode 100644 index dfe0770424b2a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md deleted file mode 100644 index 3fe0f6f335209..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -## Changes - -... - -## Checklist - -- [ ] Tests for new code diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml deleted file mode 100644 index a313eb1632673..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.github/workflows/ci.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: CI - -on: - - pull_request - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - tests: - timeout-minutes: 3 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 - with: - node-version: 16 - - - run: yarn install - - run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore deleted file mode 100644 index abd8ee954280e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.gitignore +++ /dev/null @@ -1,76 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/ - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# environment variables file -.env -.environment - -# next.js build output -.next - -# editors -.vscode -.idea - -# yalc -.yalc -yalc* - -# macOS -.DS_Store - -# output -dist/ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore deleted file mode 100644 index 1521c8b7652b1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md deleted file mode 100644 index 29207aaebc031..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/README.md +++ /dev/null @@ -1,18 +0,0 @@ -This app is deprecated an no longer available on PostHog Cloud. - -# PostHog Plugin: Replicator - -Replicate PostHog event stream in another PostHog instance. Simply: export events. - -## Installation - -1. Access PostHog's **Plugins** page from the sidebar. -1. Go to the **Advanced** tab. -1. **Fetch and install** the following URL in the **Install from GitHub, GitLab or npm** section: - `https://github.com/PostHog/posthog-plugin-replicator`. -1. Configure the plugin. -1. See events come into another PostHog instance, identically to originals. - -## Questions? - -### [Join our community.](https://posthog.com/questions) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/logo.png deleted file mode 100644 index 1be72dd066e7bc6f3e58160e12335984530e1ef8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3526 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 By?+1z diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json deleted file mode 100644 index f75d474460828..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "posthog-plugin-replicator", - "version": "1.1.1", - "description": "Replicate PostHog event stream in another PostHog instance", - "keywords": [ - "posthog", - "plugin", - "replication" - ], - "main": "index.ts", - "repository": "github:PostHog/posthog-plugin-replicator", - "bugs": { - "url": "https://github.com/PostHog/posthog-plugin-replicator/issues" - }, - "homepage": "https://github.com/PostHog/posthog-plugin-replicator#readme", - "author": "PostHog ", - "scripts": { - "test": "jest .", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check .", - "prepublishOnly": "yarn test", - "typecheck": "tsc" - }, - "dependencies": {}, - "devDependencies": { - "@posthog/plugin-contrib": "^0.0.3", - "@posthog/plugin-scaffold": "^1.3.4", - "@types/jest": "^26.0.19", - "@types/node-fetch": "^2.5.10", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "eslint": "^7.21.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-simple-import-sort": "^7.0.0", - "husky": "~4.3.6", - "jest": "^26.6.3", - "jest-fetch-mock": "^3.0.3", - "lint-staged": "~10.5.3", - "msw": "^0.49.3", - "node-fetch": "^2.6.1", - "prettier": "^2.2.1", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged && tsc --noEmit" - } - }, - "lint-staged": { - "*.{js,ts}": "eslint --fix", - "*.{ts,tsx,js,jsx,json,yaml,toml,css,scss,html,xml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock deleted file mode 100644 index a584fc54d66cb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/yarn.lock +++ /dev/null @@ -1,5634 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@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.0.0", "@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.12.13" - -"@babel/compat-data@^7.13.8": - version "7.13.11" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.11.tgz#9c8fe523c206979c9a81b1e12fe50c1254f1aa35" - integrity sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg== - -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - 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.9" - "@babel/helper-compilation-targets" "^7.13.10" - "@babel/helper-module-transforms" "^7.13.0" - "@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" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^6.3.0" - source-map "^0.5.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== - dependencies: - "@babel/types" "^7.13.0" - jsesc "^2.5.1" - source-map "^0.5.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-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-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.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.13" - -"@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.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.13.0" - "@babel/types" "^7.13.0" - lodash "^4.17.19" - -"@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.12.13", "@babel/helper-plugin-utils@^7.8.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-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.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-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-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.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/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" - "@babel/types" "^7.13.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.0", "@babel/parser@^7.13.10": - version "7.13.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.11.tgz#f93ebfc99d21c1772afbbaa153f47e7ce2f50b88" - integrity sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q== - -"@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.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-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-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.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-top-level-await@^7.8.3": - 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.12.13" - -"@babel/template@^7.12.13", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.1.0", "@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.12.13", "@babel/types@^7.13.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - 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" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@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@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@maxmind/geoip2-node@^3.4.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" - integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== - dependencies: - camelcase-keys "^7.0.0" - ip6addr "^0.2.5" - maxmind "^4.2.0" - -"@mswjs/cookies@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.2.2.tgz#b4e207bf6989e5d5427539c2443380a33ebb922b" - integrity sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g== - dependencies: - "@types/set-cookie-parser" "^2.4.0" - set-cookie-parser "^2.4.6" - -"@mswjs/interceptors@^0.17.5": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.17.6.tgz#7f7900f4cd26f70d9f698685e4485b2f4101d26a" - integrity sha512-201pBIWehTURb6q8Gheu4Zhvd3Ox1U4BJq5KiOQsYzkWyfiOG4pwcz5hPZIEryztgrf8/sdwABpvY757xMmfrQ== - dependencies: - "@open-draft/until" "^1.0.3" - "@types/debug" "^4.1.7" - "@xmldom/xmldom" "^0.8.3" - debug "^4.3.3" - headers-polyfill "^3.1.0" - outvariant "^1.2.1" - strict-event-emitter "^0.2.4" - web-encoding "^1.1.5" - -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== - dependencies: - "@nodelib/fs.stat" "2.0.4" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== - dependencies: - "@nodelib/fs.scandir" "2.1.4" - fastq "^1.6.0" - -"@open-draft/until@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-1.0.3.tgz#db9cc719191a62e7d9200f6e7bab21c5b848adca" - integrity sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q== - -"@posthog/plugin-contrib@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@posthog/plugin-contrib/-/plugin-contrib-0.0.3.tgz#d0772c6dd9ec9944ebee9dc475e1e781256b0b5f" - integrity sha512-0HrE8AuPv3OLZA93RrJDbljn9u5D/wmiIkBCeckU3LL67LNozDIJgKsY4Td91zgc+b4Rlx/X0MJNp2l6BHbQqg== - -"@posthog/plugin-scaffold@^1.3.4": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.3.4.tgz#56a36f55c8709b89968501c15dd9f3cb216af6c7" - integrity sha512-69AC7GA3sU/z5X6SVlH7mgj+0XgolvOp9IUtvRNA4CXF/OglFM81SXbTkURxL9VBSNfdAZxRp+8x+h4rmyj4dw== - dependencies: - "@maxmind/geoip2-node" "^3.4.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.13" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.13.tgz#bc6eea53975fdf163aff66c086522c6f293ae4cf" - integrity sha512-CC6amBNND16pTk4K3ZqKIaba6VGKAQs3gMjEY17FVd56oI/ZWt9OhS6riYiWv9s8ENbYUi7p8lgqb0QHQvUKQQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" - integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - -"@types/debug@^4.1.7": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== - dependencies: - "@types/ms" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^26.0.19": - 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" - -"@types/js-levenshtein@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/js-levenshtein/-/js-levenshtein-1.1.1.tgz#ba05426a43f9e4e30b631941e0aa17bf0c890ed5" - integrity sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g== - -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - -"@types/node-fetch@^2.5.10": - version "2.5.10" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" - integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - version "14.14.35" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" - integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" - integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== - -"@types/set-cookie-parser@^2.4.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/set-cookie-parser/-/set-cookie-parser-2.4.2.tgz#b6a955219b54151bfebd4521170723df5e13caad" - integrity sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.12.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.18.0.tgz#50fbce93211b5b690895d20ebec6fe8db48af1f6" - integrity sha512-Lzkc/2+7EoH7+NjIWLS2lVuKKqbEmJhtXe3rmfA8cyiKnZm3IfLf51irnBcmow8Q/AptVV0XBZmBJKuUJTe6cQ== - dependencies: - "@typescript-eslint/experimental-utils" "4.18.0" - "@typescript-eslint/scope-manager" "4.18.0" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.18.0.tgz#ed6c955b940334132b17100d2917449b99a91314" - integrity sha512-92h723Kblt9JcT2RRY3QS2xefFKar4ZQFVs3GityOKWQYgtajxt/tuXIzL7sVCUlM1hgreiV5gkGYyBpdOwO6A== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.18.0" - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/typescript-estree" "4.18.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.12.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.18.0.tgz#a211edb14a69fc5177054bec04c95b185b4dde21" - integrity sha512-W3z5S0ZbecwX3PhJEAnq4mnjK5JJXvXUDBYIYGoweCyWyuvAKfGHvzmpUzgB5L4cRBb+cTu9U/ro66dx7dIimA== - dependencies: - "@typescript-eslint/scope-manager" "4.18.0" - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/typescript-estree" "4.18.0" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.18.0.tgz#d75b55234c35d2ff6ac945758d6d9e53be84a427" - integrity sha512-olX4yN6rvHR2eyFOcb6E4vmhDPsfdMyfQ3qR+oQNkAv8emKKlfxTWUXU5Mqxs2Fwe3Pf1BoPvrwZtwngxDzYzQ== - dependencies: - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/visitor-keys" "4.18.0" - -"@typescript-eslint/types@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.18.0.tgz#bebe323f81f2a7e2e320fac9415e60856267584a" - integrity sha512-/BRociARpj5E+9yQ7cwCF/SNOWwXJ3qhjurMuK2hIFUbr9vTuDeu476Zpu+ptxY2kSxUHDGLLKy+qGq2sOg37A== - -"@typescript-eslint/typescript-estree@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.18.0.tgz#756d3e61da8c16ab99185532c44872f4cd5538cb" - integrity sha512-wt4xvF6vvJI7epz+rEqxmoNQ4ZADArGQO9gDU+cM0U5fdVv7N+IAuVoVAoZSOZxzGHBfvE3XQMLdy+scsqFfeg== - dependencies: - "@typescript-eslint/types" "4.18.0" - "@typescript-eslint/visitor-keys" "4.18.0" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/visitor-keys@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.18.0.tgz#4e6fe2a175ee33418318a029610845a81e2ff7b6" - integrity sha512-Q9t90JCvfYaN0OfFUgaLqByOfz8yPeTAdotn/XYNm5q9eHax90gzdb+RJ6E9T5s97Kv/UHWKERTmqA0jTKAEHw== - dependencies: - "@typescript-eslint/types" "4.18.0" - eslint-visitor-keys "^2.0.0" - -"@xmldom/xmldom@^0.8.3": - version "0.8.6" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440" - integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg== - -"@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== - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -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-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.0.5: - version "8.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe" - integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA== - -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@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: - 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@^7.0.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.1.tgz#a5ac226171912447683524fa2f1248fcf8bac83d" - integrity sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - 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-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-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -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 sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -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.1.0: - 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" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.14.5: - 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.30001181" - colorette "^1.2.1" - electron-to-chromium "^1.3.649" - escalade "^3.1.1" - node-releases "^1.1.70" - -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" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -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" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -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" - -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@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - -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.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001181: - version "1.0.30001203" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz#a7a34df21a387d9deffcd56c000b8cf5ab540580" - integrity sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -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@^2.0.0: - 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.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.1: - 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== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^3.4.2: - 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" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" - integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== - -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-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -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@^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 sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colorette@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -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== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - 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" - -cross-fetch@^3.0.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" - integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== - dependencies: - node-fetch "2.6.1" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3, 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.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@^4.3.3: - 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" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -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" - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -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" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.649: - version "1.3.692" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.692.tgz#4d00479055a7282cdd1b19caec09ed7779529640" - integrity sha512-Ix+zDUAXWZuUzqKdhkgN5dP7ZM+IwMG4yAGFGDLpGJP/3vNEEwuHG1LIhtXUfW0FFV0j38t5PUv2n/3MFSRviQ== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -enquirer@^2.3.5, 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" - -error-ex@^1.2.0, 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" - -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-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" - -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-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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" - integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -eslint-scope@^5.0.0, 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-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint@^7.21.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" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.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" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -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.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: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -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== - -events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - 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-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -figures@^3.0.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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.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-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 "^3.1.2" - -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@^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== - -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" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - 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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -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" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -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: - 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-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-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" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.0, 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" - integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.1: - version "11.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" - integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -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" - -graceful-fs@^4.1.2, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -"graphql@^15.0.0 || ^16.0.0": - version "16.6.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" - integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-bigints@^1.0.1: - 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" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-symbols@^1.0.1, 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-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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -headers-polyfill@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-3.1.2.tgz#9a4dcb545c5b95d9569592ef7ec0708aab763fbe" - integrity sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA== - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -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== - -husky@~4.3.6: - 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 "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, 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== - -inquirer@^8.2.0: - version "8.2.5" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" - integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^7.0.0" - -ip6addr@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" - integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - 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-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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@~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.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.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: - 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-callable@^1.1.4, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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.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: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-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-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-node-process@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.0.1.tgz#4fc7ac3a91e8aac58175fe0578abbc56f2831b23" - integrity sha512-5IcdXuf++TTNt3oGl9EBdkvndXA8gmc4bz/Y+mdEpWh3Mcn/+kOw6hI7LD5CocqJWMzeb0I0ClndRVNdEPuJXQ== - -is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -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" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-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== - dependencies: - has-symbols "^1.0.1" - -is-typed-array@^1.1.10, is-typed-array@^1.1.3: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -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-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0, isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -jest-fetch-mock@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz#31749c456ae27b8919d69824f1c2bd85fe0a1f3b" - integrity sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw== - dependencies: - cross-fetch "^3.0.4" - promise-polyfill "^8.1.3" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -js-levenshtein@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.5.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.1.tgz#4ced6bbd7b77d67fb980e64d9e3e6fb900f97dd6" - integrity sha512-pF73EOsJgwZekbDHEY5VO/yKXUkab/DuvrQB/ANVizbr6UAHJsDdHXuotZYwkJSGQl1JM+ivXaqY+XBDDL4TiA== - dependencies: - abab "^2.0.5" - acorn "^8.0.5" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "6.0.1" - request "^2.88.2" - request-promise-native "^1.0.9" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.4.4" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -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" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@~10.5.3: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.4.3.tgz#543bcf849d5ffc70602708b69d2daac73f751699" - integrity sha512-wZmkzNiuinOfwrGqAwTCcPw6aKQGTAMGXwG5xeU1WpDjJNeBA35jGBeWxR3OF+R6Yl5Y3dRG+3vE8t6PDcSNHA== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.6" - through "^2.3.8" - wrap-ansi "^7.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -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" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, 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, log-symbols@^4.1.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" - -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" - -make-dir@^3.0.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-error@1.x: - 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.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -maxmind@^4.2.0: - version "4.3.8" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.8.tgz#e284edd3619987211ee45909076c6d4fcd2dc4df" - integrity sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg== - dependencies: - mmdb-lib "2.0.2" - tiny-lru "9.0.3" - -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: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.46.0: - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.29" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== - dependencies: - mime-db "1.46.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mmdb-lib@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" - integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -msw@^0.49.3: - version "0.49.3" - resolved "https://registry.yarnpkg.com/msw/-/msw-0.49.3.tgz#c4ca29eddda3e82ad9e36918dda4a7428eddd7fe" - integrity sha512-kRCbDNbNnRq5LC1H/NUceZlrPAvSrMH6Or0mirIuH69NY84xwDruPn/hkXTovIK1KwDwbk+ZdoSyJlpiekLxEA== - dependencies: - "@mswjs/cookies" "^0.2.2" - "@mswjs/interceptors" "^0.17.5" - "@open-draft/until" "^1.0.3" - "@types/cookie" "^0.4.1" - "@types/js-levenshtein" "^1.1.1" - chalk "4.1.1" - chokidar "^3.4.2" - cookie "^0.4.2" - graphql "^15.0.0 || ^16.0.0" - headers-polyfill "^3.1.0" - inquirer "^8.2.0" - is-node-process "^1.0.1" - js-levenshtein "^1.1.6" - node-fetch "^2.6.7" - outvariant "^1.3.0" - path-to-regexp "^6.2.0" - strict-event-emitter "^0.4.3" - type-fest "^2.19.0" - yargs "^17.3.1" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-fetch@2.6.1, node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - -node-fetch@^2.6.7: - version "2.6.8" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" - integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== - dependencies: - whatwg-url "^5.0.0" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-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== - -normalize-package-data@^2.3.2, 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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - -object-keys@^1.0.12, 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-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -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.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -outvariant@^1.2.1, outvariant@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9" - integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ== - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -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: - 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" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.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-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-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -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@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^5.0.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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" - integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^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== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-polyfill@^8.1.3: - version "8.2.0" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.0.tgz#367394726da7561457aba2133c9ceefbd6267da0" - integrity sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g== - -prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -queue-microtask@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" - integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== - -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== - -react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^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.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "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@^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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: - 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" - -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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -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== - -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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -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" - -rxjs@^6.6.6: - version "6.6.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" - integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== - dependencies: - tslib "^1.9.0" - -rxjs@^7.5.5: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== - dependencies: - tslib "^2.1.0" - -safe-buffer@^5.0.1, 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -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@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.x, semver@^7.2.1, semver@^7.3.2: - 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" - -semver@^6.0.0, semver@^6.1.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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-cookie-parser@^2.4.6: - version "2.5.1" - resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b" - integrity sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -strict-event-emitter@^0.2.4: - version "0.2.8" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz#b4e768927c67273c14c13d20e19d5e6c934b47ca" - integrity sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A== - dependencies: - events "^3.3.0" - -strict-event-emitter@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.4.3.tgz#45d0f75e1dc071eeb7cfbdff864fd2b9172bc257" - integrity sha512-uD0y7Wp3+ifPyfzIS+JrMvSnxFExHytmD5gTkndF1fi8Vrk2uiOY/2At73AwzLHz+RwrchegD8tHdowsfG7raQ== - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.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.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.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.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" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.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 sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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.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== - -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.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-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -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" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.6, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tiny-lru@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-9.0.3.tgz#f6a2121f433607a7f338881a23090829c1ea8cae" - integrity sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -ts-jest@^26.4.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: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tsutils@^3.17.1: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -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.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-fest@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-fest@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.1.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" - integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== - -unbox-primitive@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -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" - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - 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@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" - integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -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@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.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-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -which-typed-array@^1.1.2: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - -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, which@^2.0.2: - 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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.4: - version "7.4.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" - integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -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@^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: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@20.x: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -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@^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@^15.4.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: - version "17.6.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" - integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== - 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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore deleted file mode 100644 index d1b130a29846c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -.DS_Store -dist -dist-ssr -*.local -yarn-error.log -.dccache diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit deleted file mode 100755 index 07c67d33d7b32..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.husky/pre-commit +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - -yarn prettier -yarn lint diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore deleted file mode 100644 index db4c6d9b67976..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -dist -node_modules \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc deleted file mode 100644 index 1d085c6d9df25..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "printWidth": 120, - "trailingComma": "all", - "singleQuote": true, - "tabWidth": 2, - "singleAttributePerLine": true -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE deleted file mode 100644 index 1b5f4d2331387..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2023, Ava Labs, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md deleted file mode 100644 index 6c0ddf70e69da..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/README.md +++ /dev/null @@ -1,108 +0,0 @@ -# Posthog Route Censor Plugin 🚓 - -This plugin allows you to censor variables from URLs that are passed to PostHog. This is useful because PostHog tracks certain URLs automatically, so if your app contains sensitive data within the URLs (such as sensitive IDs, addresses, etc.), then this offers away to censor that data before it is stored in the PostHog database. - -[See it on NPM here](https://www.npmjs.com/package/@avalabs/posthog-route-censor-plugin). - -## Getting Started - -#### Enable this Plugin for your Posthog Project - -- *coming soon* - -#### Locally -```sh -yarn # installs dependencies -yarn build -``` - -## Plugin Options - -The list of properties censored by the plugin can be configured directly from the PostHog UI. - -```json - { - "key": "routes", - "name": "JSON list of routes following the React Router route patterns. See package README for more details.", - "type": "attachment", - "hint": "See README for more details and example.", - "required": true - }, - { - "key": "properties", - "name": "List of properties to censor", - "type": "string", - "default": "$current_url,$referrer,$pathname,$initial_current_url,initial_pathname,initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - }, - { - "key": "set_properties", - "name": "List of $set properties to censor", - "type": "string", - "default": "$initial_current_url,$initial_pathname,$initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - }, - { - "key": "set_once_properties", - "name": "List of $set_once properties to censor", - "type": "string", - "default": "$initial_current_url,$initial_pathname,$initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - } -``` - -### Routes - -To provide routes, attach a JSON file, similar to the example at `./src/assets/exampleRoutes.json`, that matches the Routes type defined in './src/types/index.ts`. - -The routes JSON includes an array of all pathnames that you would like to censor. The routes should match the pattern defined by the first parameter of the React Router V6 [matchRoutes](https://reactrouter.com/en/main/utils/match-routes) function, with an extra attribte `includes`. `includes` should contain a list of variables from the `path` pattern that you wish to censor. - -#### **Example Routes JSON** - -> `./src/assets/exampleRoutes.json`: - -```json -[ - /** - * This will censor the `driversLicenseId` variable from the URL. - * - * https://example.com/drivers-license/12345 => https://example.com/drivers-license/:driversLicenseId - */ - { - "path": "/drivers-license/:driversLicenseId", - "include": ["driversLicenseId"] - }, - /** - * This will censor the `medicalIdNumber` variable from the URL. - * - * https://example.com/medical-id-number/12345 => https://example.com/medical-id-number/:medicalIdNumber - */ - { - "path": "/medical-id-number/:medicalIdNumber", - "include": ["medicalIdNumber"] - }, - /** - * This will censor the `secretClubId` variable from the URL, but will not sensor the `categoryId` variable. - * - * https://example.com/secret-clubs/12345/abcde => https://example.com/secret-clubs/12345/:secretClubId - */ - { - "path": "/secret-clubs/:categoryId/:secretClubId", - "include": ["secretClubId"] - } -] -``` - -### Properties - -> Note: you probably don't need to change this from the default values. - -`properties`, `set_properties`, and `set_once_properties` are a comma separated list of properties that will be censored by this plugin. All properties in these lists should contain either a full URL (ex: "https://www.example.com/super-secret-id/1234") or a pathname (ex: "/super-secret-id/1234"). The default values should already include all properties with URLs that PostHog tracks by default, but more can be added to this list when configuring your plugin if needed. - -### Caveats: - -- Any properties previously defined for a user by `$set_once` cannot be overwritten by this plugin. It can only overwrite `$set_once` properties when they are initially set. -- The routes JSON must be updated whenever a new route is added to your app. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/logo.png deleted file mode 100644 index d93192084f93c19b013f470d6efe3ee17c2a6cc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85255 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 BpFjWr diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json deleted file mode 100644 index 6acaffa3c98a1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@avalabs/posthog-route-censor-plugin", - "version": "3.0.23", - "description": "Removes route variables from the URLs stored in posthog.", - "author": "Connor Chevli ", - "main": "dist/index.js", - "private": false, - "license": "BSD-3-Clause", - "keywords": [ - "posthog", - "analytics", - "route", - "privacy", - "anonymize" - ], - "scripts": { - "build": "tsc --p tsconfig.json && rollup -c", - "lint": "eslint --fix -c ./.eslintrc.js \"src/**/*.ts*\"", - "prettier": "prettier --write \"src/**/*.ts*\"", - "prepare": "husky install", - "prerelease": "npm version patch && yarn && yarn build" - }, - "dependencies": { - "@posthog/plugin-scaffold": "1.3.4", - "@remix-run/router": "1.5.0" - }, - "devDependencies": { - "@rollup/plugin-node-resolve": "15.0.1", - "@rollup/plugin-typescript": "9.0.2", - "@types/node": "18.14.0", - "@typescript-eslint/eslint-plugin": "5.46.0", - "@typescript-eslint/parser": "5.52.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.5.0", - "eslint-plugin-prettier": "4.2.1", - "husky": "8.0.3", - "prettier": "2.8.4", - "rollup": "3.7.0", - "rollup-plugin-copy": "3.4.0", - "typescript": "4.9.5" - }, - "homepage": "https://github.com/ava-labs/posthog-route-censor-plugin", - "repository": { - "type": "git", - "url": "https://github.com/ava-labs/posthog-route-censor-plugin" - }, - "bugs": { - "url": "https://github.com/ava-labs/posthog-route-censor-plugin/issues" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs deleted file mode 100644 index 9ee646ca8f6fa..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/rollup.config.mjs +++ /dev/null @@ -1,20 +0,0 @@ -import typescript from '@rollup/plugin-typescript'; -import nodeResolve from '@rollup/plugin-node-resolve'; - -export default [ - { - input: 'src/index.ts', - output: [ - { - name: 'main', - format: 'cjs', - file: 'dist/index.js' - }, - ], - plugins: [ - // Compile TypeScript files - typescript({ tsconfig: './tsconfig.json' }), - nodeResolve(), - ], - }, -]; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock deleted file mode 100644 index b4a1490df35dc..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/yarn.lock +++ /dev/null @@ -1,1292 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.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" - -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== - dependencies: - "@humanwhocodes/object-schema" "^1.2.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@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@maxmind/geoip2-node@^3.4.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz#f65de05398eddcbab296abd712ea680a2b9e4a1b" - integrity sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA== - dependencies: - camelcase-keys "^7.0.0" - ip6addr "^0.2.5" - maxmind "^4.2.0" - -"@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" - -"@posthog/plugin-scaffold@1.3.4": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.3.4.tgz#56a36f55c8709b89968501c15dd9f3cb216af6c7" - integrity sha512-69AC7GA3sU/z5X6SVlH7mgj+0XgolvOp9IUtvRNA4CXF/OglFM81SXbTkURxL9VBSNfdAZxRp+8x+h4rmyj4dw== - dependencies: - "@maxmind/geoip2-node" "^3.4.0" - -"@remix-run/router@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.5.0.tgz#57618e57942a5f0131374a9fdb0167e25a117fdc" - integrity sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg== - -"@rollup/plugin-node-resolve@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" - integrity sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg== - dependencies: - "@rollup/pluginutils" "^5.0.1" - "@types/resolve" "1.20.2" - deepmerge "^4.2.2" - is-builtin-module "^3.2.0" - is-module "^1.0.0" - resolve "^1.22.1" - -"@rollup/plugin-typescript@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-9.0.2.tgz#c0cdfa39e267f306ff7316405a35406d5821eaa7" - integrity sha512-/sS93vmHUMjzDUsl5scNQr1mUlNE1QjBBvOhmRwJCH8k2RRhDIm3c977B3wdu3t3Ap17W6dDeXP3hj1P1Un1bA== - dependencies: - "@rollup/pluginutils" "^5.0.1" - resolve "^1.22.1" - -"@rollup/pluginutils@^5.0.1": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" - integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@types/estree@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/fs-extra@^8.0.1": - version "8.1.2" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.2.tgz#7125cc2e4bdd9bd2fc83005ffdb1d0ba00cca61f" - integrity sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg== - dependencies: - "@types/node" "*" - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - -"@types/node@*": - version "18.15.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" - integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== - -"@types/node@18.14.0": - version "18.14.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" - integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== - -"@types/resolve@1.20.2": - version "1.20.2" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" - integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== - -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== - -"@typescript-eslint/eslint-plugin@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz#9a96a713b9616c783501a3c1774c9e2b40217ad0" - integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== - dependencies: - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/type-utils" "5.46.0" - "@typescript-eslint/utils" "5.46.0" - debug "^4.3.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" - integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== - dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz#60790b14d0c687dd633b22b8121374764f76ce0d" - integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== - dependencies: - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/visitor-keys" "5.46.0" - -"@typescript-eslint/scope-manager@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" - integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== - dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" - -"@typescript-eslint/type-utils@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz#3a4507b3b437e2fd9e95c3e5eea5ae16f79d64b3" - integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== - dependencies: - "@typescript-eslint/typescript-estree" "5.46.0" - "@typescript-eslint/utils" "5.46.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.0.tgz#f4d76622a996b88153bbd829ea9ccb9f7a5d28bc" - integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== - -"@typescript-eslint/types@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" - integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== - -"@typescript-eslint/typescript-estree@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz#a6c2b84b9351f78209a1d1f2d99ca553f7fa29a5" - integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== - dependencies: - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/visitor-keys" "5.46.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/typescript-estree@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" - integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== - dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.0.tgz#600cd873ba471b7d8b0b9f35de34cf852c6fcb31" - integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== - dependencies: - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/typescript-estree" "5.46.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz#36d87248ae20c61ef72404bcd61f14aa2563915f" - integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== - dependencies: - "@typescript-eslint/types" "5.46.0" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" - integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== - dependencies: - "@typescript-eslint/types" "5.52.0" - eslint-visitor-keys "^3.3.0" - -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@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -ajv@^6.10.0, ajv@^6.12.4: - 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" - -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@^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" - -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== - -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== - -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== - -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== - -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" - -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" - -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -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@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - -camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -chalk@^4.0.0: - 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" - -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.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== - -colorette@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" - integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== - -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== - -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== - -cross-spawn@^7.0.2: - 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" - -debug@^4.1.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" - -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.2.2: - 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== - -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" - -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" - -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== - -eslint-config-prettier@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== - -eslint-plugin-prettier@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -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.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" - integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== - -eslint@8.34.0: - version "8.34.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - 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.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - 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" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - 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.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.5.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" - integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.0" - -esquery@^1.4.0: - 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: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -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== - -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-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.0.3, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - 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.0.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== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -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" - -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" - -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" - -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@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -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: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -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.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@^7.1.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" - -globals@^13.19.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - -globby@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" - integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -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" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - 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== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -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@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -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== - -ignore@^5.1.1, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - 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" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -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: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip6addr@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.5.tgz#06e134f44b4e1a684fd91b24035dca7a53b8f759" - integrity sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - -is-builtin-module@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - -is-core-module@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -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-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - 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-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - -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.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-object@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" - integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -js-sdsl@^4.1.4: - version "4.4.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" - integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== - -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" - -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@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== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -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" - -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" - -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" - -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== - -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" - -map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -maxmind@^4.2.0: - version "4.3.10" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.10.tgz#4af97159f0aeade1a824f571e775a41891e3b5bf" - integrity sha512-H83pPwi4OqpjPmvAVtuimVWFe6JwHdFK+UIzq4KdvQrKUMLieIrsvU/A9N8jbmOqC2JJPA+jtlFwodyqmzl/3w== - dependencies: - mmdb-lib "2.0.2" - tiny-lru "10.4.1" - -merge2@^1.2.3, 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== - -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" - -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" - -mmdb-lib@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-2.0.2.tgz#fe60404142c0456c19607c72caa15821731ae957" - integrity sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA== - -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== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -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== - -once@^1.3.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" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-limit@^3.0.2: - 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@^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" - -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" - -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-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@^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-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== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -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-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -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== - -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== - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -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@^1.22.1: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -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== - -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-plugin-copy@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz#f1228a3ffb66ffad8606e2f3fb7ff23141ed3286" - integrity sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ== - dependencies: - "@types/fs-extra" "^8.0.1" - colorette "^1.1.0" - fs-extra "^8.1.0" - globby "10.0.1" - is-plain-object "^3.0.0" - -rollup@3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.7.0.tgz#7c4310378cf28764abb6b7611c9ccec081ff6d97" - integrity sha512-FIJe0msW9P7L9BTfvaJyvn1U1BVCNTL3w8O+PKIrCyiMLg+rIUGb4MbcgVZ10Lnm1uWXOTOWRNARjfXC1+M12Q== - optionalDependencies: - fsevents "~2.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" - -semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.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@^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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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-json-comments@^3.1.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== - -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-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== - -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== - -tiny-lru@10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-10.4.1.tgz#dec67a62115a4cb31d2065b8116d010daac362fe" - integrity sha512-buLIzw7ppqymuO3pt10jHk/6QMeZLbidihMQU+N6sogF6EnBzG0qtDWIHuhw1x3dyNgVL/KTGIZsTK81+yCzLg== - -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" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -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-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@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -typescript@4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -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" - -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" - -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" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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== - -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== - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 7219a31b810d1..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: 'bug' -assignees: '' - ---- - -## Describe the bug -A clear and concise description of what the bug is. - -## To Reproduce -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -## Expected behavior -A clear and concise description of what you expected to happen. - -## Screenshots -If applicable, add screenshots to help explain your problem. - -## Additional context -Add any other context about the problem here. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 0f41c00a8ca4f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -## Is your feature request related to a problem? Please describe. -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -## Describe the solution you'd like -A clear and concise description of what you want to happen. - -## Describe alternatives you've considered -A clear and concise description of any alternative solutions or features you've considered. - -## Additional context -Add any other context or screenshots about the feature request here. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml deleted file mode 100644 index 2a07f0a1aad53..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.github/workflows/ci.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: CI - -on: - - push - -jobs: - unit-tests: - name: Unit tests - runs-on: ubuntu-20.04 - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Set up Node 14 - uses: actions/setup-node@v2 - with: - node-version: 14 - - - name: Install dependencies - run: yarn --frozen-lockfile - - - name: Run unit tests - run: yarn test diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore deleted file mode 100644 index e82eb841636eb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -node_modules/ -.npm - -# Editors -.vscode -.idea - -# Yalc -.yalc -yalc* - -# macOS -.DS_Store \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE deleted file mode 100644 index cceaff9ae9321..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 PostHog - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md deleted file mode 100644 index 5b956265d03d2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# posthog-url-normalizer-plugin - -[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](https://opensource.org/licenses/MIT) - -A PostHog plugin to normalize the format of urls in your application allowing you to more easily compare them in insights. - -Normalize the format of urls in your application allowing you to more easily compare them in insights. By default, this converts all urls to lowercase and strips extra trailing slashes, overrighting the old `current_url` value. - -Support [PostHog](https://posthog.com/) and give it a try today. It's the best analytics platform for startups I've found. You won't regret it! - -## Developing Locally - -To develop this plugin locally, you'll need to clone it and then run specs. Please make sure you've got Node and Yarn installed. Pull requests welcome! - -git clone https://github.com/MarkBennett/posthog-url-normalizer-plugin.git -yarn install -yarn test --watch - -From there, edit away and enjoy! - -## Installation - -1. Open PostHog. -1. Go to the Plugins page from the sidebar. -1. Head to the Advanced tab. -1. "Install from GitHub, GitLab or npm" using this repository's URL. - -## Roadmap - -This plugin is currently feature complete, but please consider starting a discussion or leaving an issue if there are features you'd like to see added. - -## Contributing - -Contributions of code, issues, reviews and documentation are welcome! - -## Acknoledgements - -Thanks to @Twixes and @marcushyett-ph for their help getting this plugin up and running, along with the awesome @posthog community! diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/logo.png b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/logo.png deleted file mode 100644 index 57b5da34f7561cbcfa46400b725bd051b2a0d8cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3319 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 2.1.2 < 3" - -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== - -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: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -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-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -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-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-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-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-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== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== - 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-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.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.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-worker@^27.5.1: - 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@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== - dependencies: - "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - -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@^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" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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== - -json5@^2.2.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -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== - -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.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -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== - -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" - -lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -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" - -make-dir@^3.0.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" - -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" - -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== - -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: - 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: - 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" - -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== - -minimatch@^3.0.4, minimatch@^3.1.1: - 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" - -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== - -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== - -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-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - -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== - -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" - -nwsapi@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" - integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== - -once@^1.3.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.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" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -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-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-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== - -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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -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-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@^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== - -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.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== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -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" - -posthog-plugins@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/posthog-plugins/-/posthog-plugins-0.2.4.tgz#e4050795e7e14ada29de301f6b15e900bbad2ce8" - integrity sha512-M+t4Juu/Vr/GSRwjNDXunarPck7YXEqF6AKb4u5tRrOBI2VIyHjJiLtsIj5SwVsl4VKpMyyfahV/0No7ByT3TA== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -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" - -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== - -punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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== - -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== - -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: - 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@^1.20.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -rimraf@^3.0.0: - 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" - -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== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver@^6.0.0, semver@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2: - 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" - -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@^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== - -signal-exit@^3.0.2, signal-exit@^3.0.3: - 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== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-support@^0.5.6: - 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.6.0, source-map@^0.6.1, 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: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -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.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -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@^4.1.0, string-width@^4.2.0: - 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" - -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@^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-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== - -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.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-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.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== - -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== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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" - -throat@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== - -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" - -tough-cookie@^4.0.0: - 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@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -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.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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.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== - -update-browserslist-db@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" - integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== - dependencies: - escalade "^3.1.1" - picocolors "^1.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" - -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - 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" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.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" - -word-wrap@~1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" - integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== - -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@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^20.2.2: - 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@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore b/plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore deleted file mode 100644 index c564040bac1ce..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.idea -node_modules/ \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc b/plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc deleted file mode 100644 index 4e534aad29fb2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/README.md b/plugin-server/src/cdp/legacy-plugins/pubsub/README.md deleted file mode 100644 index 071dde97752dc..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# Google Pub/Sub Plugin - -Sends events to a Pub/Sub topic on ingestion. - -## Installation - -1. Visit 'Plugins' in PostHog -1. Find this plugin from the repository or install `https://github.com/vendasta/pubsub-plugin` -1. Configure the plugin - 1. Upload your Google Cloud key `.json` file. ([How to get the file](https://cloud.google.com/pubsub/docs/reference/libraries).) - 1. Enter your Topic ID -1. Watch events publish to Topic - -## Message Format - -```json -{ - "event": "$autocapture", - "distinct_id": "U-aafca76a-45ee-491f-a801-6d6e9963c636", - "team_id": 1, - "ip": "111.111.111.1111", - "site_url": "https://yoursiteurl.com", - "timestamp": "2021-09-03T15:08:58.813971+00:00", - "uuid": "017bac34-ae6e-0000-24f7-2ae87f5f89d9", - "properties": { - "$os": "Windows", - "$browser": "Chrome", - "$device_type": "Desktop", - "$current_url": "", - "$host": "", - "$pathname": "", - "$browser_version": 92, - "$screen_height": 1080, - "$screen_width": 1920, - "$viewport_height": 975, - "$viewport_width": 1920, - "$lib": "web", - "$lib_version": "1.12.3", - "$insert_id": "mac0om92q3eoff5p", - "$time": 1630681734.981, - "distinct_id": "U-aafca76a-45ee-491f-a801-6d6e9963c636", - "$device_id": "17a8c213255504-03fa008e947a61-6373264-1fa400-17a8c2132566a7", - "$user_id": "U-aafca76a-45ee-491f-a801-6d6e9963c636", - "$search_engine": "google", - "$initial_referrer": "https://www.google.com/", - "$initial_referring_domain": "www.google.com", - "$referrer": "https://www.google.com/", - "$referring_domain": "www.google.com", - "$active_feature_flags": [ - ], - "$event_type": "click", - "$ce_version": 1, - "token": "0GJcKFgOeBbm1q4S2TRWX8TaZif85RX5fdzVjD8AJZM", - "$geoip_city_name": "Idukki", - "$geoip_country_name": "India", - "$geoip_country_code": "IN", - "$geoip_continent_name": "Asia", - "$geoip_continent_code": "AS", - "$geoip_postal_code": "685501", - "$geoip_latitude": 9.8466, - "$geoip_longitude": 76.9689, - "$geoip_time_zone": "Asia/Kolkata", - "$geoip_subdivision_1_code": "KL", - "$geoip_subdivision_1_name": "Kerala", - "$plugins_succeeded": [ - ], - "$plugins_failed": [ - ], - "$plugins_deferred": [ - ] - }, - "elements": [ - ], - "people_set": { - "$geoip_city_name": "Idukki", - "$geoip_country_name": "India", - "$geoip_country_code": "IN", - "$geoip_continent_name": "Asia", - "$geoip_continent_code": "AS", - "$geoip_postal_code": "685501", - "$geoip_latitude": 9.8466, - "$geoip_longitude": 76.9689, - "$geoip_time_zone": "Asia/Kolkata", - "$geoip_subdivision_1_code": "KL", - "$geoip_subdivision_1_name": "Kerala" - }, - "people_set_once": { - "$initial_geoip_city_name": "Idukki", - "$initial_geoip_country_name": "India", - "$initial_geoip_country_code": "IN", - "$initial_geoip_continent_name": "Asia", - "$initial_geoip_continent_code": "AS", - "$initial_geoip_postal_code": "685501", - "$initial_geoip_latitude": 9.8466, - "$initial_geoip_longitude": 76.9689, - "$initial_geoip_time_zone": "Asia/Kolkata", - "$initial_geoip_subdivision_1_code": "KL", - "$initial_geoip_subdivision_1_name": "Kerala" - } -} -``` diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/logo.png b/plugin-server/src/cdp/legacy-plugins/pubsub/logo.png deleted file mode 100644 index 53bd466239d36212e982a724de350731154db4cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10740 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 Q0^Z=-m7AKy>ei3{11B651ONa4 diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/package.json b/plugin-server/src/cdp/legacy-plugins/pubsub/package.json deleted file mode 100644 index c14356534d587..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@posthog/pubsub-plugin", - "private": true, - "version": "0.0.8", - "description": "Export PostHog events to Google Cloud Pub/Sub on ingestion.", - "devDependencies": { - "@google-cloud/pubsub": "^2.16.0", - "@posthog/plugin-contrib": "^0.0.5", - "@posthog/plugin-scaffold": "^0.12.0", - "@types/generic-pool": "^3.1.9", - "generic-pool": "^3.7.8" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 409f02992bc04..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "[ISSUE]" -labels: bug -assignees: '' - ---- - -**Describe the issue** -Enter a clear and concise description of what the bug/issue is. - -**To Reproduce** -Mention the steps to reproduce the behavior that causes the bug/issue: - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md deleted file mode 100644 index 48bf36579724d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/ISSUE_TEMPLATE/feature-request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature Request -about: Suggest an idea for this project -title: "[ENHANCEMENT]" -labels: enhancement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md deleted file mode 100644 index 18a3022713328..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.github/pull_request_template.md +++ /dev/null @@ -1,13 +0,0 @@ -**Fixes** # (*issue*) - -## Type of change -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update -## Checklist: -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my own code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have added unit tests for the code -- [ ] I have made corresponding changes to the documentation diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore deleted file mode 100644 index 40b878db5b1c9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc deleted file mode 100644 index f0db82f111549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS deleted file mode 100644 index ad2f64e803898..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @thtmnisamnstr diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md deleted file mode 100644 index ace4717c0aafe..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,80 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at **contact@rudderstack.com**. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [https://www.contributor-covenant.org][contributor-covenant]. - -For answers to common questions about this code of conduct, see the [FAQs][faqs]. - - - - -[homepage]: https://www.contributor-covenant.org -[contributor-covenant]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html -[faqs]: https://www.contributor-covenant.org/faq diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md deleted file mode 100644 index 6362556d6df89..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/CONTRIBUTING.md +++ /dev/null @@ -1,47 +0,0 @@ -# Contributing to RudderStack # - -Thanks for taking the time and for your help improving this project! - -## Getting Help ## - -If you have a question about rudder or have encountered problems using it, -start by asking a question on [Slack][slack]. - -## Rudder Labs Contributor Agreement ## - -To contribute to this project, we need you to sign to [Contributor License Agreement (“CLA”)][CLA] for the first commit you make. By agreeing to the [CLA][CLA] -we can add you to list of approved contributors and review the changes proposed by you. - -## Installing and Setting Up \*\* Software Name \*\* - -\*\* Describe, in detail, how to setup and start using the software. \*\* - -## Submitting a Pull Request ## - -Do you have an improvement? - -1. Submit an [issue][issue] describing your proposed change. -2. We will try to respond to your issue promptly. -3. Fork this repo, develop and test your code changes. See the project's [README](README.md) for further information about working in this repository. -4. Submit a pull request against this repo's `main` branch. - - Include instructions on how to test your changes. -5. Your branch may be merged once all configured checks pass, including: - - A review from appropriate maintainers - -## Committing ## - -We prefer squash or rebase commits so that all changes from a branch are -committed to master as a single commit. All pull requests are squashed when -merged, but rebasing prior to merge gives you better control over the commit -message. - -We look forward to your feedback on improving this project. - - - - -\*\* Update variable links. \*\* - -[slack]: https://resources.rudderstack.com/join-rudderstack-slack -[issue]: https://github.com/rudderlabs/rudder-repo-template/issues/new -[CLA]: https://rudderlabs.wufoo.com/forms/rudderlabs-contributor-license-agreement diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE deleted file mode 100644 index 2abc92cbcbe63..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 RudderStack - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md deleted file mode 100644 index c7a3198255588..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/README.md +++ /dev/null @@ -1,90 +0,0 @@ -

RudderStack - Customer Data Platform for Developers

- -

- -

Customer Data Platform for Developers

- -
- - - -# RudderStack PostHog Plugin -
- - | **Send events from your PostHog instance to RudderStack** | -| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - - - -Questions? Please join our [Slack channel](https://resources.rudderstack.com/join-rudderstack-slack) or read about us on [Product Hunt](https://www.producthunt.com/posts/rudderstack). - -
- - -## Get Started - - - Create a PostHog source in your [RudderStack dashboard](https://app.rudderstack.com/). Learn more about adding a source in RudderStack [here](https://docs.rudderstack.com/get-started/adding-source-and-destination-rudderstack). - - ![PH-init](https://github.com/rudderlabs/rudderstack-posthog-plugin/blob/master/images/PH-init.png) - - - After adding the source, it should look something like the following: - - ![PH-source](https://user-images.githubusercontent.com/59817155/109136455-2416f100-777e-11eb-83db-342bee7f119b.png) - - - Get the source `write-key` and your `RudderStack server URL` (also called the `Data Plane URL`). - - Copy this repo URL. - - Go to your PostHog dashboard, and add a custom plugin with this URL. - - ![PH-plugin](https://github.com/rudderlabs/rudderstack-posthog-plugin/blob/master/images/Screenshot%202021-02-22%20at%207.49.50%20PM.png) - - - Once added successfully, you will need to configure the RudderStack plugin with the source write key and RudderStack server URL that you copied above. The default RudderStack server URL is configured to https://hosted.rudderlabs.com/v1/batch. Append `v1/batch` to this URL. - - ![PH-plugin-config](https://github.com/rudderlabs/rudderstack-posthog-plugin/blob/master/images/Screenshot%202021-02-22%20at%207.50.55%20PM.png) - - - Finally, enable this plugin and you should start seeing events sent to your PostHog instance flowing to this RudderStack source. - - For more info on PostHog plugins, check [this](https://posthog.com/docs/plugins/overview). - -## License - -**RudderStack PostHog Plugin** is released under the [MIT License][mit_license]. - -## Contribute - -We would love to see you contribute to RudderStack. Get more information on how to contribute [here](CONTRIBUTING.md). - -## Follow Us - -- [RudderStack Blog][rudderstack-blog] - -- [Slack][slack] - -- [Twitter][twitter] - -- [LinkedIn][linkedin] - -- [dev.to][devto] - -- [Medium][medium] - -- [YouTube][youtube] - -- [HackerNews][hackernews] - -- [Product Hunt][producthunt] - -[slack]: https://resources.rudderstack.com/join-rudderstack-slack -[twitter]: https://twitter.com/rudderstack -[linkedin]: https://www.linkedin.com/company/rudderlabs/ -[devto]: https://dev.to/rudderstack -[medium]: https://rudderstack.medium.com/ -[youtube]: https://www.youtube.com/channel/UCgV-B77bV_-LOmKYHw8jvBw -[rudderstack-blog]: https://rudderstack.com/blog/ -[hackernews]: https://news.ycombinator.com/item?id=21081756 -[producthunt]: https://www.producthunt.com/posts/rudderstack -[agplv3_license]: https://www.gnu.org/licenses/agpl-3.0-standalone.html -[sspl_license]: https://www.mongodb.com/licensing/server-side-public-license -[mit_license]: https://opensource.org/licenses/MIT -[config-generator]: https://github.com/rudderlabs/config-generator -[config-generator-section]: https://github.com/rudderlabs/rudder-server/blob/master/README.md#rudderstack-config-generator -[rudder-logo]: https://repository-images.githubusercontent.com/197743848/b352c900-dbc8-11e9-9d45-4deb9274101f diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-init.png b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/PH-init.png deleted file mode 100644 index 6b02f8d70c57406dd023cf3fe439b5610797c44f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70137 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�!>tqoK`KtVu7Kv9YXLApwl4hjeeDAGf*A-(q! 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 z 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 b{P3S~&utUqvdW+?1|aZs^>bP0l+XkK!eIaw diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.50.55 PM.png b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/images/Screenshot 2021-02-22 at 7.50.55 PM.png deleted file mode 100644 index ec1ae83824517ed38f9891dcf59efe763141962f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396690 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%0Ae@Z8R?MQZHv$JIn!G!>q@phR`Pzhf1Wop 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

H>iEScrPmF8z^V-bqW)8m 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

BrPihp)LuU3O=bsv_k z7Q+@n=Q2dA+2C4T!SjCDe4_SBrbNQYvotcusW;S5mD8*6LV>9O`Odt?pha zHT&?|c6J$ZsOhj;-NThsHv<+y;%E1d)c&}>{yg{jb^2@mk)PB5_!Iur&He``KcRfs S5;A1~0000w5Ao zU@~AJ1NeK3H*N)wBNJn$$CsmuHNYg1$l)agm=ox%Q7k|(6SEI5ivaT}mt_Lk;Be|$ zNeKbwLnB%zkl?y5rU?%NOtVlRcd+*}&^8viEG~wrEHrf{2FDvonnf53`-N#1Vt|P} z%>wkRmq5(|bTe5w8g`+ViAWOxbTW}kB!`$R$h37t4-=tIi_kHrlue|AiEtu(T+9^{myn???<*ODq!kX zhmlz4xYHL{ZR78rT-P;Sx3;cf=BByCq*>c^-Qp7oIm0sbXwwh1v50hZ8=FW_hUy7| zG4OP&Ly_4;{9JFyB4R4?Z?)l)NSWX!53~#;Iqj0ePKAq})511Pd@6{9Y=wKZMWHPT zG|T%`U&OTKie8Hn)kpde97qE&7mei$uV=Vy;M#N^Q-^3hh!#v_xxSb(TDIcy!-W z#!e#VGT=5roeXv^h~8ln6A>44p-qSQlnMcRpb5?wbj(2okOU;jFUK@rKE#YiJ?Z5E zRtjB*%1Zl7VTauKM8py=SZa3I&twmf8;Awp3uin$i7@=ICY|ge4-NU@e{;slY066; zwUN-(hn4WJnMii792nMkMTPq)Zt+- z7GC7e-O zWI!1|sm4wsjq%)*FNyvZomhCcBNC4-L~Df=R)7jW-9YBgxBa)20c(FJ3t01!-qO=4Oy91kS>O}mpBcf|? zkSiO4PZjv&ev^nyacZw{%Y8(e0&(<_0yf#<0rL$zB48wVEXHF*mJ9j9*1xHO6ay4d zr;B4_r~_jKtg#~OW*FZJ#<$u{bgMB^icYa;V(}hT&EOLSGM__hAq5BSV%*M^I2zHZ z%CpmIuRgRU3nBK!@DJltm!d(l>uYk-BwL?iNVhYQZ%PWqW6)@KX|Y@LhGC6J(?pu4 z9!J0!cBe-eBJwIqevdI1Jd)$wjmAU~Re|2tL+e9wxiei#vhIqy;e}izy zW>19<(UP^h>UO@B((+ub%vxk?Yt~<`E}lZj88vpA$P_dJ=w~(dn#fb251!mn7i%bg zMZ}V)oh*_pos7$spdTV~y~!hf zOFH3ZOZRt(-0Zr^-;yTW?H-Cf$9TZ)S%Dwek`A~(^C12t4S;hv^B0VSb;$GwjD&Ys zR=#d=5B&<)E&k^Uvi(-iXBU!1()CG?Tr27QG)bo88u(aDqDaO*-;>5<{DaC@m8;y) zdHRX#r1NcK@TZTC$4I=*1ScBPz5*Y*=wSx>zSZF{c}XVoFHM-foc0or5A%MOAK<~i z!AUxg51h4HN99j16)6tH{4|eGJP}00ZT%R<6dFq|d4X;2G}Qh9lSlU;4Di9Bc6{bl zJ-o1*MnPy;B))QE$b`E>hKY=hlyGb#-Qi-V-QF_JWKbkz&c@`!X)j+tIc6o(uA002ovPDHLkV1i!* BScCuo diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/package.json b/plugin-server/src/cdp/legacy-plugins/salesforce/package.json deleted file mode 100644 index 28f37f2c09530..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@vinovest/posthog-salesforce", - "displayName": "Posthog Salesforce Plugin", - "version": "2.0.1", - "keywords": [ - "posthog", - "plugin" - ], - "main": "dist/index.js", - "repository": "github:PostHog/posthog-salesforce", - "bugs": { - "url": "https://github.com/PostHog/posthog-salesforce/issues" - }, - "homepage": "https://github.com/PostHog/posthog-salesforce#readme", - "license": "MIT", - "scripts": { - "release": "./node_modules/.bin/standard-version --no-verify -a", - "test": "jest src", - "build": "npm run clean && npm run compile", - "clean": "rimraf dist/*", - "purge": "rimraf dist node_modules", - "compile": "tsc", - "lint": "eslint .", - "lint:fix": "eslint --fix .", - "format": "prettier --write .", - "format:check": "prettier --check ." - }, - "devDependencies": { - "@posthog/plugin-scaffold": "1.4.2", - "@types/jest": "^26.0.19", - "@types/node-fetch": "^2.5.8", - "@types/qs": "^6.9.6", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "eslint": "^7.0.0", - "jest": "^26.6.3", - "lint-staged": "~10.5.3", - "prettier": "^2.2.1", - "rimraf": "^3.0.2", - "standard-version": "^9.3.0", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - }, - "dependencies": { - "@posthog/plugin-contrib": "^0.0.5" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore b/plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore deleted file mode 100644 index a513319e0be18..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.idea -yarn-error.log -dist -.yalc -yalc.lock -test.js -.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc b/plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc deleted file mode 100644 index 2161d46def30e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "none", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE b/plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE deleted file mode 100644 index df9c38f57d98c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Yakko Majuri - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/README.md b/plugin-server/src/cdp/legacy-plugins/sendgrid/README.md deleted file mode 100644 index 07ca60900fbca..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Sendgrid Plugin - -Send emails and user data to Sendgrid when you identify users using PostHog. - -![Sendgrid Dashboard](readme-assets/sendgrid-dash.png) - -## Installation - -1. Visit 'Project Plugins' under 'Settings' -1. Enable plugins if you haven't already done so -1. Click the 'Repository' tab next to 'Installed' -1. Click 'Install' on this plugin -1. Add your [Sendgrid](sendgrid.com) API key at the configuration step -1. Enable the plugin and watch your contacts list get populated in Sendgrid! diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/logo.png b/plugin-server/src/cdp/legacy-plugins/sendgrid/logo.png deleted file mode 100644 index dbc05d31da9706dc17b9653c86d6f42572cd5f5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2284 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

L>*~=Lxu5 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 z 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

UII8GGHCY4WPh2F{YSp`84LoHJsenh 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ɁF_9fWlBD>{LCX}xq)9&aX(ssffN*P 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 z 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 2.1.2 < 3" - -import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip6addr@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" - integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.4.0" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" - integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== - 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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -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-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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.0: - 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-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.5.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136" - integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA== - dependencies: - abab "^2.0.5" - acorn "^8.1.0" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "6.0.1" - request "^2.88.2" - request-promise-native "^1.0.9" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.4" - xml-name-validator "^3.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== - -json-parse-even-better-errors@^2.3.0: - 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@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsprim@^1.2.2, jsprim@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@^10.5.2: - version "10.5.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" - integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" - integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.3" - through "^2.3.8" - -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" - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash@^4.17.19, lodash@^4.7.0: - 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.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.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" - -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" - -make-dir@^3.0.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" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -maxmind@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.1.tgz#b20103f19e9fc12e4d1618814380d89a00f65770" - integrity sha512-0CxAgwWIwQy4zF1/qCMOeUPleMTYgfnsuIsZ4Otzx6hzON4PCqivPiH6Kz7iWrC++KOGCbSB3nxkJMvDEdWt6g== - dependencies: - mmdb-lib "1.2.0" - tiny-lru "7.0.6" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.47.0: - version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== - dependencies: - mime-db "1.47.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mmdb-lib@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mmdb-lib/-/mmdb-lib-1.2.0.tgz#0ecd93f4942f65a2d09be0502fa9126939606727" - integrity sha512-3XYebkStxqCgWJjsmT9FCaE19Yi4Tvs2SBPKhUks3rJJh52oF1AKAd9kei+LTutud3a6RCZ0o2Um96Fn7o3zVA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^1.1.71: - version "1.1.71" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -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: - 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@^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-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-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: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -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== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4: - version "2.2.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" - integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== - -picomatch@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -prompts@^2.0.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" - integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -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== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.18.1: - 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" - -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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@^3.0.0: - 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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -rxjs@^6.6.3: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -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@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.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== - -semver@^7.3.2: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.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 sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -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@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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== - -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.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-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tiny-lru@7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" - integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz#04bfd1026ba4577de5472df4f5e89af49de5edda" - integrity sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" - integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== - dependencies: - lodash "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -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, which@^2.0.2: - 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" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.4: - version "7.4.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" - integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -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== - -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: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -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.4.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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore b/plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore deleted file mode 100644 index a513319e0be18..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.idea -yarn-error.log -dist -.yalc -yalc.lock -test.js -.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc b/plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc deleted file mode 100644 index 2161d46def30e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "none", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE b/plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE deleted file mode 100644 index df9c38f57d98c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Yakko Majuri - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/README.md b/plugin-server/src/cdp/legacy-plugins/taxonomy/README.md deleted file mode 100644 index bc77265f8492e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Taxonomy Plugin - -Standardize your event names into a single pattern by converting all event names that don't match the pattern to the selected pattern. - -## Supported Patterns - -The plugin can convert from any of these to all the others: - -* Camel Case: `helloThereWorld` -* Pascal Case: `HelloThereWorld` -* Snake Case: `hello_there_world` -* Kebab Case: `hello-there-world` -* Spaces: `hello there world` diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/logo.png b/plugin-server/src/cdp/legacy-plugins/taxonomy/logo.png deleted file mode 100644 index d69a9cdfb9f1a1670062c73ebef65bea66d57b5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2826 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 diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/package.json b/plugin-server/src/cdp/legacy-plugins/taxonomy/package.json deleted file mode 100644 index c3a02202c990d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "taxonomy-plugin", - "version": "0.0.1", - "description": "Standardize your event names into a single pattern.", - "main": "index.js", - "repository": { - "type": "git", - "url": "git+https://github.com/PostHog/taxonomy-plugin.git" - }, - "author": "Yakko Majuri", - "license": "MIT", - "bugs": { - "url": "https://github.com/PostHog/taxonomy-plugin/issues" - }, - "homepage": "https://github.com/PostHog/taxonomy-plugin#readme", - "scripts": { - "test": "./node_modules/.bin/jest" - }, - "devDependencies": { - "husky": "^4.3.0", - "lint-staged": "^10.5.2", - "prettier": "^2.2.1", - "@posthog/plugin-scaffold": "^0.2.7", - "jest": "^26.6.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "*.{js,ts,tsx,json,yml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock b/plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock deleted file mode 100644 index 2a45b80f1c73d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/yarn.lock +++ /dev/null @@ -1,3935 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@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/core@^7.1.0", "@babel/core@^7.7.5": - 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" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.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-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.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-member-expression-to-functions@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" - integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== - dependencies: - "@babel/types" "^7.12.7" - -"@babel/helper-module-imports@^7.12.1": - 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.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" - integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": - 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-replace-supers@^7.12.1": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" - integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.7" - "@babel/helper-optimise-call-expression" "^7.12.10" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.11" - -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^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", "@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/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.5" - "@babel/types" "^7.12.5" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.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-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.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": - 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.1.0", "@babel/traverse@^7.12.1", "@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.12.1", "@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", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - 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" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@posthog/plugin-scaffold@^0.2.7": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.2.7.tgz#0d4a87385ec5c88184ad252a2587b9793f50a58d" - integrity sha512-bgrXLwUMMJ5TzyNK41jlgKdpZffvwjDxYeZ7nL1VDAI/Svv4/DSIA7JtcXZV14q2x99vB3woPckWUUAC7K2jmg== - -"@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.12" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" - integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" - integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" - integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/node@*": - version "14.14.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" - integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" - integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@types/yargs@^15.0.0": - version "15.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" - integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== - dependencies: - "@types/yargs-parser" "*" - -abab@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -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@^6.12.3: - 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" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -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" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -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.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0: - 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.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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-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@^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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -combined-stream@^1.0.6, 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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - 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" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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.2.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" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3: - 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.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -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" - -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" - -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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -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== - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - 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-json-stable-stringify@^2.0.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 sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -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-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 "^3.1.2" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" - integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.1: - 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: - 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-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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-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" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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== - -graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -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== - -husky@^4.3.0: - version "4.3.7" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.7.tgz#ca47bbe6213c1aa8b16bbd504530d9600de91e88" - integrity sha512-0fQlcCDq/xypoyYSJvEuzbDPHFf8ZF9IXKJxlrnvxABTSzK1VPT2RKYQKrcgJ+YD39swgoB6sbzywUqFxUiqjw== - dependencies: - chalk "^4.0.0" - ci-info "^2.0.0" - compare-versions "^3.6.0" - cosmiconfig "^7.0.0" - find-versions "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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" - -import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.1.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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -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-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - 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@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@^10.5.2: - version "10.5.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" - integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" - integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.3" - through "^2.3.8" - -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" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@^4.17.19: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.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" - -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" - -make-dir@^3.0.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" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== - dependencies: - mime-db "1.45.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" - integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -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: - 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@^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-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-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: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -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== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.18.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@^3.0.0: - 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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -rxjs@^6.6.3: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -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@^5.4.1, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.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== - -semver@^7.3.2: - 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" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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== - -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.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-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" - integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -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, which@^2.0.2: - 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" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.2.3: - version "7.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" - integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -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: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -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.4.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" - -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== diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore deleted file mode 100644 index a513319e0be18..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.idea -yarn-error.log -dist -.yalc -yalc.lock -test.js -.DS_STORE diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc deleted file mode 100644 index 2161d46def30e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "none", - "tabWidth": 4, - "semi": false, - "singleQuote": true, - "printWidth": 120 -} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE deleted file mode 100644 index df9c38f57d98c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Yakko Majuri - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md deleted file mode 100644 index 72c4bf085830f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Timestamp Parser Plugin - -Parse event timestamps into: - -- Day of the week -- Day of the month -- Month -- Year -- Hour -- Minute - - -So you can explore questions like: - -- Do we get more purchases on weekdays or weekends? -- Why does our traffic spike on Tuesdays? -- How do users use our platform differently during the holiday season? diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/logo.png b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/logo.png deleted file mode 100644 index 9bb84fff1a1aaee3b0a6a316acd71887dc18596e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8651 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 s<&SiLCjdSH1n9p#2N?Y0dk`4laE^dyg*--v9sr diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json deleted file mode 100644 index a0b2e6c3d74ab..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "timestamp-parser-plugin", - "version": "0.0.1", - "description": "Parse your event timestamps into useful date properties.", - "main": "index.js", - "repository": { - "type": "git", - "url": "git+https://github.com/PostHog/timestamp-parser-plugin.git" - }, - "author": "Yakko Majuri", - "license": "MIT", - "bugs": { - "url": "https://github.com/PostHog/timestamp-parser-plugin/issues" - }, - "homepage": "https://github.com/PostHog/timestamp-parser-plugin#readme", - "scripts": { - "test": "./node_modules/.bin/jest" - }, - "devDependencies": { - "husky": "^4.3.0", - "lint-staged": "^10.5.2", - "prettier": "^2.2.1", - "@posthog/plugin-scaffold": "^0.2.7", - "jest": "^26.6.3" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "*.{js,ts,tsx,json,yml}": "prettier --write" - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock deleted file mode 100644 index 2a45b80f1c73d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/yarn.lock +++ /dev/null @@ -1,3935 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@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/core@^7.1.0", "@babel/core@^7.7.5": - 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" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.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-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.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-member-expression-to-functions@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" - integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== - dependencies: - "@babel/types" "^7.12.7" - -"@babel/helper-module-imports@^7.12.1": - 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.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" - integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": - 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-replace-supers@^7.12.1": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" - integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.7" - "@babel/helper-optimise-call-expression" "^7.12.10" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.11" - -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^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", "@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/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.5" - "@babel/types" "^7.12.5" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.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-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.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^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-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.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-top-level-await@^7.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": - 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.1.0", "@babel/traverse@^7.12.1", "@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.12.1", "@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", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - 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" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@posthog/plugin-scaffold@^0.2.7": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-0.2.7.tgz#0d4a87385ec5c88184ad252a2587b9793f50a58d" - integrity sha512-bgrXLwUMMJ5TzyNK41jlgKdpZffvwjDxYeZ7nL1VDAI/Svv4/DSIA7JtcXZV14q2x99vB3woPckWUUAC7K2jmg== - -"@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.12" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" - integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" - integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" - integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/node@*": - version "14.14.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" - integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.0.0": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" - integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@types/yargs@^15.0.0": - version "15.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" - integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== - dependencies: - "@types/yargs-parser" "*" - -abab@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -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@^6.12.3: - 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" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-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" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -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== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^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@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -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" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - 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-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -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" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -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.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0: - 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.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - 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== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -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: - 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-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@^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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -combined-stream@^1.0.6, 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@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - 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" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - 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" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -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.2.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" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0, debug@^2.3.3: - 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.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -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== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -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== - -end-of-stream@^1.1.0: - 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" - -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" - -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" - -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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -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== - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0, 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - 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-json-stable-stringify@^2.0.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 sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -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" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - 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" - -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-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 "^3.1.2" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" - integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.1: - 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: - 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-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" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -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-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.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-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" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -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== - -graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -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== - -husky@^4.3.0: - version "4.3.7" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.7.tgz#ca47bbe6213c1aa8b16bbd504530d9600de91e88" - integrity sha512-0fQlcCDq/xypoyYSJvEuzbDPHFf8ZF9IXKJxlrnvxABTSzK1VPT2RKYQKrcgJ+YD39swgoB6sbzywUqFxUiqjw== - dependencies: - chalk "^4.0.0" - ci-info "^2.0.0" - compare-versions "^3.6.0" - cosmiconfig "^7.0.0" - find-versions "^4.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^5.0.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" - -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" - -import-fresh@^3.2.1: - 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.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -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-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.1.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" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -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-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-plain-object@^2.0.3, 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.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -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@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -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" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -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== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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@^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 sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - 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@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, 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== - -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.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@^10.5.2: - version "10.5.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" - integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" - integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.3" - through "^2.3.8" - -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" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@^4.17.19: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.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" - -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" - -make-dir@^3.0.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" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -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== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== - dependencies: - mime-db "1.45.0" - -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== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -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== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" - integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -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-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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== - -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 sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - 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" - -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -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: - 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@^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-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-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: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - 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" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -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-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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -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== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.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@^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" - -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" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -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@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - -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" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -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== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.18.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -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" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@^3.0.0: - 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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -rxjs@^6.6.3: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - 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-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-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -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@^5.4.1, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.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== - -semver@^7.3.2: - 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" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -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: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - 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-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -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 sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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== - -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.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-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -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== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -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" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -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== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.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" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" - integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -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" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -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, which@^2.0.2: - 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" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -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" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.2.3: - version "7.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" - integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -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== - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -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: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -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.4.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" - -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== From d28c1a7ee8a1664b7cd3fb25d559f8cc973efb5c Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 16:22:53 +0100 Subject: [PATCH 27/76] Fix --- .../legacy-plugins/downsampling/.eslintrc.js | 11 -- .../downsampling/jest.config.js | 4 - .../legacy-plugins/downsampling/tsconfig.json | 16 --- .../notification-bar-app/tsconfig.json | 18 --- .../pace-posthog-integration/.eslintrc.js | 14 --- .../pace-posthog-integration/jest.config.js | 13 --- .../pace-posthog-integration/tsconfig.json | 17 --- .../pineapple-mode-app/tsconfig.json | 18 --- .../plugin-advanced-geoip/.eslintrc.js | 14 --- .../plugin-advanced-geoip/jest.config.js | 13 --- .../plugin-advanced-geoip/tsconfig.json | 17 --- .../posthog-ai-costs-app/.eslintrc.js | 13 --- .../posthog-ai-costs-app/jest.config.js | 9 -- .../posthog-ai-costs-app/tsconfig.json | 16 --- .../posthog-app-unduplicator/.eslintrc.js | 14 --- .../posthog-app-unduplicator/jest.config.js | 14 --- .../posthog-app-unduplicator/tsconfig.json | 17 --- .../.eslintrc.js | 11 -- .../jest.config.js | 5 - .../tsconfig.json | 14 --- .../legacy-plugins/posthog-avo/tsconfig.json | 15 --- .../posthog-braze-app/.eslintrc.js | 14 --- .../posthog-braze-app/jest.config.js | 15 --- .../posthog-braze-app/tsconfig.json | 16 --- .../posthog-filter-out/.eslintrc.js | 19 ---- .../posthog-filter-out/tsconfig.json | 19 ---- .../legacy-plugins/posthog-gcs/tsconfig.json | 15 --- .../posthog-patterns-app/jest.config.js | 9 -- .../posthog-patterns-app/tsconfig.json | 16 --- .../posthog-plugin-geoip/.eslintrc.js | 14 --- .../posthog-plugin-geoip/jest.config.js | 13 --- .../posthog-plugin-geoip/tsconfig.json | 16 --- .../posthog-plugin-replicator/.eslintrc.js | 14 --- .../posthog-plugin-replicator/jest.config.js | 13 --- .../posthog-plugin-replicator/tsconfig.json | 16 --- .../posthog-route-censor/.eslintrc.js | 28 ----- .../posthog-route-censor/tsconfig.json | 24 ---- .../posthog-url-normalizer/jest.config.js | 5 - .../posthog-url-normalizer/tsconfig.json | 103 ------------------ .../cdp/legacy-plugins/pubsub/tsconfig.json | 15 --- .../legacy-plugins/salesforce/.eslintrc.js | 11 -- .../legacy-plugins/salesforce/jest.config.js | 13 --- .../legacy-plugins/salesforce/tsconfig.json | 15 --- 43 files changed, 706 deletions(-) delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/.eslintrc.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/jest.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js deleted file mode 100644 index 8d554700cc96b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/.eslintrc.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - extends: ['plugin:@typescript-eslint/recommended'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js b/plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js deleted file mode 100644 index 341dbdf6ea232..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/jest.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json deleted file mode 100644 index d944d12ad04ef..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "CommonJS", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "resolveJsonModule": true, - "outDir": "dist", - "rootDir": "src" - }, - "exclude": ["**/*.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json deleted file mode 100644 index 836dcd48cee68..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "declaration": true, - "removeComments": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "esModuleInterop": true, - "jsx": "react", - "target": "ES2015", - "sourceMap": true, - "outDir": "./dist", - "baseUrl": "./src", - "incremental": true, - "resolveJsonModule": true - }, - "exclude": ["node_modules", "dist"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js deleted file mode 100644 index 7014226ee89d6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'simple-import-sort'], - extends: ['plugin:@typescript-eslint/recommended', 'prettier'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js deleted file mode 100644 index e8fe1cf80ad20..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { pathsToModuleNameMapper } = require('ts-jest/utils') -const { compilerOptions } = require('./tsconfig') - -const moduleNameMapper = undefined -if (compilerOptions.paths) { - moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) -} - -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - moduleNameMapper, -} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json deleted file mode 100644 index 0963b3061e611..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "types": ["node", "jest"], - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true, - "skipLibCheck": true - }, - "exclude": ["**.test.ts", "node_modules"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json deleted file mode 100644 index 836dcd48cee68..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "declaration": true, - "removeComments": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "esModuleInterop": true, - "jsx": "react", - "target": "ES2015", - "sourceMap": true, - "outDir": "./dist", - "baseUrl": "./src", - "incremental": true, - "resolveJsonModule": true - }, - "exclude": ["node_modules", "dist"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js deleted file mode 100644 index 7014226ee89d6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'simple-import-sort'], - extends: ['plugin:@typescript-eslint/recommended', 'prettier'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js deleted file mode 100644 index e8fe1cf80ad20..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { pathsToModuleNameMapper } = require('ts-jest/utils') -const { compilerOptions } = require('./tsconfig') - -const moduleNameMapper = undefined -if (compilerOptions.paths) { - moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) -} - -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - moduleNameMapper, -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json deleted file mode 100644 index c7548c6c974c2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true, - "skipLibCheck": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js deleted file mode 100644 index b952bfdd18931..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/.eslintrc.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - "env": { - "browser": true, - "es2021": true - }, - "extends": "eslint:recommended", - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "rules": { - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js deleted file mode 100644 index 007f6c04b0c49..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/jest.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - preset: 'ts-jest', - moduleDirectories: ['node_modules', 'src'], - transform: { - '^.+\\.(ts|tsx)?$': 'ts-jest', - '^.+\\.(js|jsx)$': 'babel-jest', - }, - transformIgnorePatterns: [], -} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json deleted file mode 100644 index 4b9aa4797246c..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true - }, - "exclude": ["**.test.ts"] -} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js deleted file mode 100644 index 7014226ee89d6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'simple-import-sort'], - extends: ['plugin:@typescript-eslint/recommended', 'prettier'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js deleted file mode 100644 index f84941f24873d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/jest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const { pathsToModuleNameMapper } = require('ts-jest/utils') -const { compilerOptions } = require('./tsconfig') - -const moduleNameMapper = undefined -if (compilerOptions.paths) { - moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) -} - -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - moduleNameMapper, - setupFilesAfterEnv: ['given2/setup'], -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json deleted file mode 100644 index c7548c6c974c2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true, - "skipLibCheck": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js deleted file mode 100644 index 8d554700cc96b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/.eslintrc.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - extends: ['plugin:@typescript-eslint/recommended'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js deleted file mode 100644 index 06d73c640b44a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json deleted file mode 100644 index 5d90033b66a1b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "CommonJS", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "resolveJsonModule": true - }, - "exclude": ["node_modules", "*.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json deleted file mode 100644 index 8c2108edaf372..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ES2019"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js deleted file mode 100644 index 7014226ee89d6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'simple-import-sort'], - extends: ['plugin:@typescript-eslint/recommended', 'prettier'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js deleted file mode 100644 index 29666131f9299..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/jest.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - preset: 'ts-jest', - moduleDirectories: ['node_modules', 'src'], - transform: { - '^.+\\.(ts|tsx)?$': 'ts-jest', - '^.+\\.(js|jsx)$': 'babel-jest', - }, - transformIgnorePatterns: [], - globals: { - 'ts-jest': { - // Without isolatedModules, tests run realy slow, so we enable them - isolatedModules: true, - }, - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json deleted file mode 100644 index 962462f8f91e8..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js deleted file mode 100644 index e6ffb76231132..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/.eslintrc.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - env: { - browser: true, - es2021: true, - }, - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 12, - sourceType: "module", - }, - plugins: ["@typescript-eslint"], - rules: { - indent: ["error", 4], - "linebreak-style": ["error", "unix"], - quotes: ["error", "double"], - semi: ["error", "always"], - }, -}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json deleted file mode 100644 index b71867d71a4df..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "esModuleInterop": true, - "module": "commonjs", - "moduleResolution": "node", - "noEmit": false, - "outDir": "dist", - "resolveJsonModule": true, - "sourceMap": true, - "target": "es6", - "baseUrl": ".", - "rootDir": "./src", - "paths": { - "src/*": ["./src/*"] - } - }, - "lib": ["ESNext"], - "include": ["src/**/*.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json deleted file mode 100644 index 8c2108edaf372..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ES2019"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js deleted file mode 100644 index bfb42743723ea..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/jest.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - preset: 'ts-jest', - moduleDirectories: ['node_modules'], - transform: { - '^.+\\.(ts|tsx)?$': 'ts-jest', - '^.+\\.(js|jsx)$': 'babel-jest', - }, - transformIgnorePatterns: [], -} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json deleted file mode 100644 index efe8445d2bb87..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js deleted file mode 100644 index 7014226ee89d6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'simple-import-sort'], - extends: ['plugin:@typescript-eslint/recommended', 'prettier'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js deleted file mode 100644 index e8fe1cf80ad20..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { pathsToModuleNameMapper } = require('ts-jest/utils') -const { compilerOptions } = require('./tsconfig') - -const moduleNameMapper = undefined -if (compilerOptions.paths) { - moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) -} - -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - moduleNameMapper, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json deleted file mode 100644 index 962462f8f91e8..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ESNext"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js deleted file mode 100644 index 7014226ee89d6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'simple-import-sort'], - extends: ['plugin:@typescript-eslint/recommended', 'prettier'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js deleted file mode 100644 index e8fe1cf80ad20..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { pathsToModuleNameMapper } = require('ts-jest/utils') -const { compilerOptions } = require('./tsconfig') - -const moduleNameMapper = undefined -if (compilerOptions.paths) { - moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) -} - -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - moduleNameMapper, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json deleted file mode 100644 index c8be791c4e505..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "types": ["node", "jest"], - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true, - "resolveJsonModule": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js deleted file mode 100644 index 08c35087eb81b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/.eslintrc.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - env: { - browser: true, - es2021: true, - node: true, - }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'prettier', - 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. - ], - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - ecmaVersion: 12, - sourceType: 'module', - }, - plugins: ['@typescript-eslint'], - rules: { - '@typescript-eslint/explicit-module-boundary-types': 'off', - 'react/prop-types': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-var-requires': 'off', - }, -}; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json deleted file mode 100644 index 2f60eabf46355..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "allowJs": false, - "allowSyntheticDefaultImports": true, - "baseUrl": "src", - "declaration": false, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "isolatedModules": false, - "lib": ["DOM", "DOM.Iterable", "ESNext"], - "module": "ESNext", - "moduleResolution": "Node", - "outDir": "dist", - "resolveJsonModule": true, - "rootDir": "src", - "skipLibCheck": true, - "sourceMap": false, - "strict": true, - "target": "ESNext", - "useDefineForClassFields": true - }, - "include": ["./src"], - "exclude": ["dist"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js deleted file mode 100644 index 8cbf8940ccd9a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', -}; \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json deleted file mode 100644 index ba648354aa9c4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/tsconfig.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs" /* Specify what module code is generated. */, - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, - - /* Type Checking */ - "strict": true /* Enable all strict type-checking options. */, - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json deleted file mode 100644 index d87871683dfaf..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ES2019"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true - }, - "exclude": ["**.test.ts"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/.eslintrc.js b/plugin-server/src/cdp/legacy-plugins/salesforce/.eslintrc.js deleted file mode 100644 index 8d554700cc96b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/.eslintrc.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - extends: ['plugin:@typescript-eslint/recommended'], - ignorePatterns: ['bin', 'dist', 'node_modules'], - rules: { - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-var-requires': 'off', - curly: 'error', - }, -} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/jest.config.js b/plugin-server/src/cdp/legacy-plugins/salesforce/jest.config.js deleted file mode 100644 index e8fe1cf80ad20..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { pathsToModuleNameMapper } = require('ts-jest/utils') -const { compilerOptions } = require('./tsconfig') - -const moduleNameMapper = undefined -if (compilerOptions.paths) { - moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' }) -} - -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - moduleNameMapper, -} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json b/plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json deleted file mode 100644 index 8c2108edaf372..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "lib": ["ES2019"], - "module": "ES2015", - "moduleResolution": "Node", - "strict": true, - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noEmit": true - }, - "exclude": ["**.test.ts"] -} From cbeb38c657c920790c9fca69ea8bd5668afff419 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 16:26:13 +0100 Subject: [PATCH 28/76] Fix --- plugin-server/src/cdp/legacy-plugins/types.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts index 02f7a54f5ba9e..b65484dfe43a8 100644 --- a/plugin-server/src/cdp/legacy-plugins/types.ts +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -10,7 +10,6 @@ export type LegacyPluginLogger = { } export type LegacyPluginMeta = { - // storage: StorageExtension config: Record global: Record From 43999bd4e8055342e276e361543249348a7eefc0 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 17:14:37 +0100 Subject: [PATCH 29/76] fix --- .../src/cdp/legacy-plugins/hubspot/index.ts | 62 ++++++++++++------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts index 83ab6c1f514ed..a8c6d59988f59 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -1,4 +1,6 @@ -import { RetryError } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' const hubspotPropsMap = { companyName: 'company', @@ -16,10 +18,10 @@ const hubspotPropsMap = { website: 'website', domain: 'website', company_website: 'website', - companyWebsite: 'website' + companyWebsite: 'website', } -export async function setupPlugin({ config, global }) { +export async function setupPlugin({ config, global, fetch }: LegacyPluginMeta) { try { global.hubspotAccessToken = config.hubspotAccessToken @@ -28,8 +30,8 @@ export async function setupPlugin({ config, global }) { { headers: { Authorization: `Bearer ${config.hubspotAccessToken}`, - 'Content-Type': 'application/json' - } + 'Content-Type': 'application/json', + }, } ) @@ -41,7 +43,8 @@ export async function setupPlugin({ config, global }) { } } -export async function onEvent(event, { config, global }) { +export async function onEvent(event: ProcessedPluginEvent, meta: LegacyPluginMeta) { + const { config, global } = meta const triggeringEvents = (config.triggeringEvents || '').split(',') if (triggeringEvents.indexOf(event.event) >= 0) { @@ -53,10 +56,11 @@ export async function onEvent(event, { config, global }) { return } await createHubspotContact( + meta, email, { ...(event['$set'] ?? {}), - ...(event['properties'] ?? {}) + ...(event['properties'] ?? {}), }, global.hubspotAccessToken, config.additionalPropertyMappings, @@ -66,8 +70,15 @@ export async function onEvent(event, { config, global }) { } } -async function createHubspotContact(email, properties, accessToken, additionalPropertyMappings, eventSendTime) { - let hubspotFilteredProps = {} +async function createHubspotContact( + meta: LegacyPluginMeta, + email, + properties, + accessToken, + additionalPropertyMappings, + eventSendTime +) { + const hubspotFilteredProps = {} for (const [key, val] of Object.entries(properties)) { if (hubspotPropsMap[key]) { hubspotFilteredProps[hubspotPropsMap[key]] = val @@ -75,7 +86,7 @@ async function createHubspotContact(email, properties, accessToken, additionalPr } if (additionalPropertyMappings) { - for (let mapping of additionalPropertyMappings.split(',')) { + for (const mapping of additionalPropertyMappings.split(',')) { const [postHogProperty, hubSpotProperty] = mapping.split(':') if (postHogProperty && hubSpotProperty) { // special case to convert an event's timestamp to the format Hubspot uses them @@ -90,52 +101,52 @@ async function createHubspotContact(email, properties, accessToken, additionalPr } } - const addContactResponse = await fetch(`https://api.hubapi.com/crm/v3/objects/contacts`, { + const addContactResponse = await meta.fetch(`https://api.hubapi.com/crm/v3/objects/contacts`, { method: 'POST', headers: { Authorization: `Bearer ${accessToken}`, - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, - body: JSON.stringify({ properties: { email: email, ...hubspotFilteredProps } }) + body: JSON.stringify({ properties: { email: email, ...hubspotFilteredProps } }), }) const addContactResponseJson = await addContactResponse.json() if (!statusOk(addContactResponse) || addContactResponseJson.status === 'error') { const errorMessage = addContactResponseJson.message ?? '' - console.log( + meta.logger.log( `Unable to add contact ${email} to Hubspot. Status Code: ${addContactResponse.status}. Error message: ${errorMessage}` ) if (addContactResponse.status === 409) { const existingIdRegex = /Existing ID: ([0-9]+)/ const existingId = addContactResponseJson.message.match(existingIdRegex) - console.log(`Attempting to update contact ${email} instead...`) + meta.logger.log(`Attempting to update contact ${email} instead...`) - const updateContactResponse = await fetch( + const updateContactResponse = await meta.fetch( `https://api.hubapi.com/crm/v3/objects/contacts/${existingId[1]}`, { method: 'PATCH', headers: { Authorization: `Bearer ${accessToken}`, - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, - body: JSON.stringify({ properties: { email: email, ...hubspotFilteredProps } }) + body: JSON.stringify({ properties: { email: email, ...hubspotFilteredProps } }), } ) const updateResponseJson = await updateContactResponse.json() if (!statusOk(updateContactResponse)) { const errorMessage = updateResponseJson.message ?? '' - console.log( + meta.logger.log( `Unable to update contact ${email} to Hubspot. Status Code: ${updateContactResponse.status}. Error message: ${errorMessage}` ) } else { - console.log(`Successfully updated Hubspot Contact for ${email}`) + meta.logger.log(`Successfully updated Hubspot Contact for ${email}`) } } } else { - console.log(`Created Hubspot Contact for ${email}`) + meta.logger.log(`Created Hubspot Contact for ${email}`) } } @@ -144,7 +155,8 @@ function statusOk(res) { } function isEmail(email) { - const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + const re = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return re.test(String(email).toLowerCase()) } @@ -163,3 +175,9 @@ function getEmailFromEvent(event) { return null } + +export const hubspotPlugin: LegacyPlugin = { + id: 'hubspot', + onEvent, + setupPlugin, +} From 3231131d973450db88727636db9a625eaafe99cb Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 17:27:33 +0100 Subject: [PATCH 30/76] Fixes --- .../cdp/legacy-plugins/customerio/index.ts | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts index 798ee94941c36..1a596c11452e5 100644 --- a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts @@ -42,7 +42,6 @@ const EVENTS_CONFIG_MAP = { interface Customer { status: Set<'seen' | 'identified' | 'with_email'> - existsAlready: boolean email: string | null } @@ -127,7 +126,7 @@ export const onEvent = async (event: ProcessedPluginEvent, meta: CustomerIoMeta) return } - const customer: Customer = await syncCustomerMetadata(meta, event) + const customer: Customer = syncCustomerMetadata(meta, event) logger.debug(customer) logger.debug(shouldCustomerBeTracked(customer, global.eventsConfig)) if (!shouldCustomerBeTracked(customer, global.eventsConfig)) { @@ -144,14 +143,10 @@ export const onEvent = async (event: ProcessedPluginEvent, meta: CustomerIoMeta) ) } -async function syncCustomerMetadata(meta: CustomerIoMeta, event: ProcessedPluginEvent): Promise { +function syncCustomerMetadata(meta: CustomerIoMeta, event: ProcessedPluginEvent): Customer { const { logger } = meta - const customerStatusKey = `customer-status/${event.distinct_id}` - const customerStatusArray = [] as string[] - const customerStatus = new Set(customerStatusArray) as Customer['status'] - const customerExistsAlready = customerStatus.has('seen') const email = getEmailFromEvent(event) - + const customerStatus = new Set() as Customer['status'] logger.debug(email) // Update customer status @@ -163,14 +158,8 @@ async function syncCustomerMetadata(meta: CustomerIoMeta, event: ProcessedPlugin customerStatus.add('with_email') } - if (customerStatus.size > customerStatusArray.length) { - // TODO: Fix this - // await storage.set(customerStatusKey, Array.from(customerStatus)) - } - return { status: customerStatus, - existsAlready: customerExistsAlready, email, } } @@ -204,7 +193,6 @@ async function exportSingleEvent( const customerPayload: Record = { ...(event.$set || {}), - _update: customer.existsAlready, identifier: event.distinct_id, } @@ -248,6 +236,9 @@ function isEmail(email: string): boolean { } function getEmailFromEvent(event: ProcessedPluginEvent): string | null { + if (event.person?.properties?.email) { + return event.person.properties.email + } const setAttribute = event.$set if (typeof setAttribute !== 'object' || !setAttribute['email']) { return null From 343551ce2d38399d85835bbdae19236d6d3a1fe8 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 17:29:30 +0100 Subject: [PATCH 31/76] fix --- plugin-server/src/cdp/legacy-plugins/customerio/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts index 1a596c11452e5..4650a58471ec0 100644 --- a/plugin-server/src/cdp/legacy-plugins/customerio/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/customerio/index.ts @@ -256,6 +256,6 @@ function getEmailFromEvent(event: ProcessedPluginEvent): string | null { export const customerioPlugin: LegacyPlugin = { id: 'customer-io', - setupPlugin, + setupPlugin: setupPlugin as any, onEvent, } From c574e3522385c5c948b690ddf2b66d6bbdf04d23 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 17:32:17 +0100 Subject: [PATCH 32/76] Fixes --- .../cdp-cyclotron-plugins-worker.consumer.ts | 29 +++---------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 580212585f761..ddbbd4c0462e4 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -1,4 +1,4 @@ -import { Meta, ProcessedPluginEvent, RetryError, StorageExtension } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { DateTime } from 'luxon' import { Response, trackedFetch } from '~/src/utils/fetch' @@ -12,22 +12,7 @@ import { CdpCyclotronWorker } from './cdp-cyclotron-worker.consumer' type PluginState = { setupPromise: Promise errored: boolean - meta: Meta -} - -const createStorage = (): StorageExtension => { - const storage: Record = {} - return { - get: (key: string) => Promise.resolve(storage[key]), - set: (key: string, value: any) => { - storage[key] = value - return Promise.resolve() - }, - del: (key: string) => { - delete storage[key] - return Promise.resolve() - }, - } + meta: LegacyPluginMeta } /** @@ -101,16 +86,9 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { let state = this.pluginState[pluginId] if (!state) { - const meta: LegacyPluginMeta = { + const meta: LegacyPluginMeta = { config: invocation.globals.inputs, - attachments: {}, global: {}, - jobs: {}, - metrics: {}, - cache: {} as any, - storage: createStorage(), - geoip: {} as any, - utils: {} as any, fetch: (...args) => this.fetch(...args), logger: logger, } @@ -164,6 +142,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { }) await plugin.onEvent?.(event, { ...state.meta, + // NOTE: We override logger and fetch here so we can track the calls logger, fetch: this.fetch, }) From e8665e55706a5bcec879db525b055b789b0246cd Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 18:20:25 +0100 Subject: [PATCH 33/76] Added migration commands --- posthog/cdp/migrations.py | 96 +++++++++++++++++++ .../migrate_plugins_to_hog_functions.py | 23 +++++ posthog/models/plugin.py | 10 ++ 3 files changed, 129 insertions(+) create mode 100644 posthog/cdp/migrations.py create mode 100644 posthog/management/commands/migrate_plugins_to_hog_functions.py diff --git a/posthog/cdp/migrations.py b/posthog/cdp/migrations.py new file mode 100644 index 0000000000000..f79effda7b42c --- /dev/null +++ b/posthog/cdp/migrations.py @@ -0,0 +1,96 @@ +# Migrate from legacy plugins to new hog function plugins + + +import json +from posthog.api.hog_function import HogFunctionSerializer +from posthog.models.hog_functions.hog_function import HogFunction +from posthog.models.plugin import PluginAttachment, PluginConfig + + +def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): + # Get all legacy plugin_configs that are active with their attachments and global values + legacy_plugins = PluginConfig.objects.select_related("plugin").filter(enabled=True) + + if team_ids: + legacy_plugins = legacy_plugins.filter(team_id__in=team_ids) + + hog_functions = [] + + for plugin_config in legacy_plugins: + print(plugin_config.plugin.name) + print(plugin_config.config) + print(plugin_config.plugin.config_schema) + + plugin_id = plugin_config.plugin.url.replace("inline://", "").replace("https://github.com/PostHog/", "") + + inputs = {} + inputs_schema = [] + + # Iterate over the plugin config to build the inputs + + for schema in plugin_config.plugin.config_schema: + if not schema.get("key"): + continue + + print("Converting schema", schema) + + # Some hacky stuff to convert the schemas correctly + input_schema = { + "key": schema["key"], + "type": schema["type"], + "label": schema.get("name", schema["key"]), + "description": schema.get("hint", ""), + "secret": schema.get("secret", False), + "required": schema.get("required", False), + "default": schema.get("default", None), + } + + if schema["type"] == "choice": + input_schema["choices"] = [ + { + "label": choice, + "value": choice, + } + for choice in schema["choices"] + ] + input_schema["type"] = "string" + elif schema["type"] == "attachment": + input_schema["type"] = "string" + + inputs_schema.append(input_schema) + + for key, value in plugin_config.config.items(): + inputs[key] = {"value": value} + + # Load all attachments for this plugin config + attachments = PluginAttachment.objects.filter(plugin_config=plugin_config) + + for attachment in attachments: + inputs[attachment.key] = {"value": attachment.parse_contents()} + + serializer_context = {"team": plugin_config.team, "get_team": lambda: plugin_config.team} + + data = { + "template_id": f"plugin-{plugin_id}", + "type": "destination", + "name": plugin_config.plugin.name, + "description": "This is a legacy destination migrated from our old plugin system.", + "filters": {}, + "inputs": inputs, + "inputs_schema": inputs_schema, + "enabled": True, + "icon_url": plugin_config.plugin.icon, + } + + print("Attempting to create hog function", data) + print(json.dumps(data, indent=2)) + + serializer = HogFunctionSerializer( + data=data, + context=serializer_context, + ) + serializer.is_valid(raise_exception=True) + hog_functions.append(HogFunction(**serializer.validated_data)) + + print(hog_functions) + return hog_functions diff --git a/posthog/management/commands/migrate_plugins_to_hog_functions.py b/posthog/management/commands/migrate_plugins_to_hog_functions.py new file mode 100644 index 0000000000000..8aa05aee700ac --- /dev/null +++ b/posthog/management/commands/migrate_plugins_to_hog_functions.py @@ -0,0 +1,23 @@ +from django.core.management.base import BaseCommand + +from posthog.cdp.migrations import migrate_legacy_plugins + + +class Command(BaseCommand): + help = "Migrate plugins to HogFunctions" + + def add_arguments(self, parser): + parser.add_argument( + "--dry-run", + type=bool, + help="If set, will not actually perform the migration, but will print out what would have been done", + ) + parser.add_argument("--team-ids", type=str, help="Comma separated list of team ids to sync") + parser.add_argument("--test-mode", type=str, help="Whether to just copy as a test function rather than migrate") + + def handle(self, *args, **options): + dry_run = options["dry_run"] + team_ids = options["team_ids"] + test_mode = options["test_mode"] + + migrate_legacy_plugins(dry_run=dry_run, team_ids=team_ids, test_mode=test_mode) diff --git a/posthog/models/plugin.py b/posthog/models/plugin.py index d2e204bdf3211..a11295e217bc7 100644 --- a/posthog/models/plugin.py +++ b/posthog/models/plugin.py @@ -1,4 +1,5 @@ import datetime +import json import os import subprocess from dataclasses import dataclass @@ -274,6 +275,15 @@ class PluginAttachment(models.Model): file_size = models.IntegerField() contents = models.BinaryField() + def parse_contents(self) -> str | None: + if self.content_type == "application/json": + return json.loads(self.contents) + + if self.content_type == "text/plain": + return self.contents.decode("utf-8") + + return None + class PluginStorage(models.Model): plugin_config = models.ForeignKey("PluginConfig", on_delete=models.CASCADE) From 04ba772fc45c6c9308d7350b36dc747c3b4be1ea Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 18:23:26 +0100 Subject: [PATCH 34/76] Fixes --- posthog/cdp/migrations.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/posthog/cdp/migrations.py b/posthog/cdp/migrations.py index f79effda7b42c..378e4acb0b8ca 100644 --- a/posthog/cdp/migrations.py +++ b/posthog/cdp/migrations.py @@ -7,7 +7,7 @@ from posthog.models.plugin import PluginAttachment, PluginConfig -def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): +def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=True): # Get all legacy plugin_configs that are active with their attachments and global values legacy_plugins = PluginConfig.objects.select_related("plugin").filter(enabled=True) @@ -17,11 +17,15 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): hog_functions = [] for plugin_config in legacy_plugins: - print(plugin_config.plugin.name) - print(plugin_config.config) - print(plugin_config.plugin.config_schema) + print(plugin_config.plugin.name) # noqa: T201 + print(plugin_config.config) # noqa: T201 + print(plugin_config.plugin.config_schema) # noqa: T201 plugin_id = plugin_config.plugin.url.replace("inline://", "").replace("https://github.com/PostHog/", "") + plugin_name = plugin_config.plugin.name + + if test_mode: + plugin_name = f"[CDP-TEST-HIDDEN] {plugin_name}" inputs = {} inputs_schema = [] @@ -32,7 +36,7 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): if not schema.get("key"): continue - print("Converting schema", schema) + print("Converting schema", schema) # noqa: T201 # Some hacky stuff to convert the schemas correctly input_schema = { @@ -73,7 +77,7 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): data = { "template_id": f"plugin-{plugin_id}", "type": "destination", - "name": plugin_config.plugin.name, + "name": plugin_name, "description": "This is a legacy destination migrated from our old plugin system.", "filters": {}, "inputs": inputs, @@ -82,8 +86,8 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): "icon_url": plugin_config.plugin.icon, } - print("Attempting to create hog function", data) - print(json.dumps(data, indent=2)) + print("Attempting to create hog function", data) # noqa: T201 + print(json.dumps(data, indent=2)) # noqa: T201 serializer = HogFunctionSerializer( data=data, @@ -92,5 +96,18 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=False): serializer.is_valid(raise_exception=True) hog_functions.append(HogFunction(**serializer.validated_data)) - print(hog_functions) + print(hog_functions) # noqa: T201 + + if dry_run: + print("Dry run, not creating hog functions") # noqa: T201 + return hog_functions + + print("Creating hog functions") # noqa: T201 + HogFunction.objects.bulk_create(hog_functions) + + # Disable the old plugins + PluginConfig.objects.filter(id__in=[plugin_config.id for plugin_config in legacy_plugins]).update(enabled=False) + + print("Done") # noqa: T201 + return hog_functions From 99987b2b3fd645a76a5ace480a9fba5dd4891ee7 Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 18:27:03 +0100 Subject: [PATCH 35/76] Fix --- .../templates/_internal/template_legacy_plugin.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/posthog/cdp/templates/_internal/template_legacy_plugin.py b/posthog/cdp/templates/_internal/template_legacy_plugin.py index cef66400e47a7..184251cc6b2c6 100644 --- a/posthog/cdp/templates/_internal/template_legacy_plugin.py +++ b/posthog/cdp/templates/_internal/template_legacy_plugin.py @@ -1,19 +1,5 @@ from posthog.cdp.templates.hog_function_template import HogFunctionTemplate -legacy_plugin_template: HogFunctionTemplate = HogFunctionTemplate( - status="alpha", - type="destination", - id="template-legacy-plugin", - name="Legacy plugin", - description="Legacy plugins", - icon_url="/static/hedgehog/builder-hog-01.png", - category=["Custom", "Analytics"], - hog=""" -print('not used') -""".strip(), - inputs_schema=[], -) - def create_legacy_plugin_template(template_id: str) -> HogFunctionTemplate: return HogFunctionTemplate( From 2ffb989f606d2e460376fa4004b81ae37fdd815f Mon Sep 17 00:00:00 2001 From: Ben White Date: Mon, 27 Jan 2025 18:28:49 +0100 Subject: [PATCH 36/76] Fix --- plugin-server/tests/cdp/cdp-e2e.test.ts | 113 ------------------------ 1 file changed, 113 deletions(-) diff --git a/plugin-server/tests/cdp/cdp-e2e.test.ts b/plugin-server/tests/cdp/cdp-e2e.test.ts index 50db3eb85f189..425eeeb37f6b7 100644 --- a/plugin-server/tests/cdp/cdp-e2e.test.ts +++ b/plugin-server/tests/cdp/cdp-e2e.test.ts @@ -3,7 +3,6 @@ import { getProducedKafkaMessages, getProducedKafkaMessagesForTopic } from '../h import { CdpCyclotronWorker, CdpCyclotronWorkerFetch } from '../../src/cdp/consumers/cdp-cyclotron-worker.consumer' import { CdpProcessedEventsConsumer } from '../../src/cdp/consumers/cdp-processed-events.consumer' -import { CdpCyclotronWorkerPlugins } from '../../src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer' import { HogFunctionInvocationGlobals, HogFunctionType } from '../../src/cdp/types' import { KAFKA_APP_METRICS_2, KAFKA_LOG_ENTRIES } from '../../src/config/kafka-topics' import { Hub, Team } from '../../src/types' @@ -35,7 +34,6 @@ describe('CDP Consumer loop', () => { let processedEventsConsumer: CdpProcessedEventsConsumer let cyclotronWorker: CdpCyclotronWorker | undefined let cyclotronFetchWorker: CdpCyclotronWorkerFetch | undefined - let cdpCyclotronWorkerPlugins: CdpCyclotronWorkerPlugins | undefined let hub: Hub let team: Team @@ -65,8 +63,6 @@ describe('CDP Consumer loop', () => { cyclotronWorker = new CdpCyclotronWorker(hub) await cyclotronWorker.start() - cdpCyclotronWorkerPlugins = new CdpCyclotronWorkerPlugins(hub) - await cdpCyclotronWorkerPlugins.start() cyclotronFetchWorker = new CdpCyclotronWorkerFetch(hub) await cyclotronFetchWorker.start() @@ -93,7 +89,6 @@ describe('CDP Consumer loop', () => { processedEventsConsumer?.stop().then(() => console.log('Stopped processedEventsConsumer')), cyclotronWorker?.stop().then(() => console.log('Stopped cyclotronWorker')), cyclotronFetchWorker?.stop().then(() => console.log('Stopped cyclotronFetchWorker')), - cdpCyclotronWorkerPlugins?.stop().then(() => console.log('Stopped cdpCyclotronWorkerPlugins')), ] await Promise.all(stoppers) @@ -216,113 +211,5 @@ describe('CDP Consumer loop', () => { }, ]) }) - - it('should invoke a legacy plugin in the worker loop until completed', async () => { - const invocations = await processedEventsConsumer.processBatch([globals]) - expect(invocations).toHaveLength(1) - - await waitForExpect(() => { - expect(getProducedKafkaMessages()).toHaveLength(7) - }, 5000) - - expect(mockFetch).toHaveBeenCalledTimes(1) - - expect(mockFetch.mock.calls[0]).toMatchInlineSnapshot(` - [ - "https://example.com/posthog-webhook", - { - "body": "{"event":{"uuid":"b3a1fe86-b10c-43cc-acaf-d208977608d0","event":"$pageview","elements_chain":"","distinct_id":"distinct_id","url":"http://localhost:8000/events/1","properties":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"},"timestamp":"2024-09-03T09:00:00Z"},"groups":{},"nested":{"foo":"http://localhost:8000/events/1"},"person":{"id":"uuid","name":"test","url":"http://localhost:8000/persons/1","properties":{"email":"test@posthog.com","first_name":"Pumpkin"}},"event_url":"http://localhost:8000/events/1-test"}", - "headers": { - "version": "v=1.0.0", - }, - "method": "POST", - "timeout": 10000, - }, - ] - `) - - const logMessages = getProducedKafkaMessagesForTopic(KAFKA_LOG_ENTRIES) - const metricsMessages = getProducedKafkaMessagesForTopic(KAFKA_APP_METRICS_2) - - expect(metricsMessages).toMatchObject([ - { - topic: 'clickhouse_app_metrics2_test', - value: { - app_source: 'hog_function', - app_source_id: fnFetchNoFilters.id.toString(), - count: 1, - metric_kind: 'other', - metric_name: 'fetch', - team_id: 2, - }, - }, - { - topic: 'clickhouse_app_metrics2_test', - value: { - app_source: 'hog_function', - app_source_id: fnFetchNoFilters.id.toString(), - count: 1, - metric_kind: 'success', - metric_name: 'succeeded', - team_id: 2, - }, - }, - ]) - - expect(logMessages).toMatchObject([ - { - topic: 'log_entries_test', - value: { - level: 'debug', - log_source: 'hog_function', - log_source_id: fnFetchNoFilters.id.toString(), - message: 'Executing function', - team_id: 2, - }, - }, - { - topic: 'log_entries_test', - value: { - level: 'debug', - log_source: 'hog_function', - log_source_id: fnFetchNoFilters.id.toString(), - message: expect.stringContaining( - "Suspending function due to async function call 'fetch'. Payload:" - ), - team_id: 2, - }, - }, - { - topic: 'log_entries_test', - value: { - level: 'debug', - log_source: 'hog_function', - log_source_id: fnFetchNoFilters.id.toString(), - message: 'Resuming function', - team_id: 2, - }, - }, - { - topic: 'log_entries_test', - value: { - level: 'info', - log_source: 'hog_function', - log_source_id: fnFetchNoFilters.id.toString(), - message: `Fetch response:, {"status":200,"body":{"success":true}}`, - team_id: 2, - }, - }, - { - topic: 'log_entries_test', - value: { - level: 'debug', - log_source: 'hog_function', - log_source_id: fnFetchNoFilters.id.toString(), - message: expect.stringContaining('Function completed in'), - team_id: 2, - }, - }, - ]) - }) }) }) From 406d7de5bd019ecec4f90c4d4f0211c7f7ec6550 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:10:53 +0100 Subject: [PATCH 37/76] Fix migration --- posthog/cdp/migrations.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/posthog/cdp/migrations.py b/posthog/cdp/migrations.py index 378e4acb0b8ca..8b260cbea49cf 100644 --- a/posthog/cdp/migrations.py +++ b/posthog/cdp/migrations.py @@ -72,7 +72,7 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=True): for attachment in attachments: inputs[attachment.key] = {"value": attachment.parse_contents()} - serializer_context = {"team": plugin_config.team, "get_team": lambda: plugin_config.team} + serializer_context = {"team": plugin_config.team, "get_team": (lambda config=plugin_config: config.team)} data = { "template_id": f"plugin-{plugin_id}", @@ -105,8 +105,10 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=True): print("Creating hog functions") # noqa: T201 HogFunction.objects.bulk_create(hog_functions) - # Disable the old plugins - PluginConfig.objects.filter(id__in=[plugin_config.id for plugin_config in legacy_plugins]).update(enabled=False) + if not test_mode: + print("Disabling old plugins") # noqa: T201 + # Disable the old plugins + PluginConfig.objects.filter(id__in=[plugin_config.id for plugin_config in legacy_plugins]).update(enabled=False) print("Done") # noqa: T201 From 0460d3a08f1b02510327c7a23ebb5a0617ba7ac6 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:15:17 +0100 Subject: [PATCH 38/76] Fixes --- posthog/cdp/migrations.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/posthog/cdp/migrations.py b/posthog/cdp/migrations.py index 8b260cbea49cf..86aa29e7108a7 100644 --- a/posthog/cdp/migrations.py +++ b/posthog/cdp/migrations.py @@ -17,9 +17,13 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=True): hog_functions = [] for plugin_config in legacy_plugins: - print(plugin_config.plugin.name) # noqa: T201 - print(plugin_config.config) # noqa: T201 - print(plugin_config.plugin.config_schema) # noqa: T201 + methods = plugin_config.plugin.capabilities.get("methods", []) + + if "onEvent" not in methods or "composeWebhook" not in methods: + print("Skipping plugin", plugin_config.plugin.name, "as it doesn't have onEvent or composeWebhook") # noqa: T201 + continue + + print("Attempting to migrate plugin", plugin_config) # noqa: T201 plugin_id = plugin_config.plugin.url.replace("inline://", "").replace("https://github.com/PostHog/", "") plugin_name = plugin_config.plugin.name @@ -86,8 +90,7 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=True): "icon_url": plugin_config.plugin.icon, } - print("Attempting to create hog function", data) # noqa: T201 - print(json.dumps(data, indent=2)) # noqa: T201 + print("Attempting to create hog function...") # noqa: T201 serializer = HogFunctionSerializer( data=data, @@ -98,6 +101,10 @@ def migrate_legacy_plugins(dry_run=True, team_ids=None, test_mode=True): print(hog_functions) # noqa: T201 + if not hog_functions: + print("No hog functions to create") # noqa: T201 + return [] + if dry_run: print("Dry run, not creating hog functions") # noqa: T201 return hog_functions From e2450472199a8b656b5b64f1218490a5cf41ff47 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:17:18 +0100 Subject: [PATCH 39/76] Fixes --- .../cdp-cyclotron-plugins-worker.consumer.ts | 1 + .../cdp-cyclotron-plugins-worker.test.ts | 11 ---------- .../hog-function-manager.service.test.ts | 20 ++----------------- 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index ddbbd4c0462e4..66094bcbc70dc 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -86,6 +86,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { let state = this.pluginState[pluginId] if (!state) { + // TODO: Modify fetch to be a silent log if it is a test function... const meta: LegacyPluginMeta = { config: invocation.globals.inputs, global: {}, diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index 52247ddf7216c..c5b1faf1558d5 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -110,8 +110,6 @@ describe('CdpCyclotronWorkerPlugins', () => { expect(PLUGINS_BY_ID['intercom'].setupPlugin).toHaveBeenCalledTimes(1) expect(jest.mocked(PLUGINS_BY_ID['intercom'].setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` { - "attachments": {}, - "cache": {}, "config": { "ignoredEmailDomains": "dev.posthog.com", "intercomApiKey": "1234567890", @@ -119,22 +117,13 @@ describe('CdpCyclotronWorkerPlugins', () => { "useEuropeanDataStorage": "No", }, "fetch": [Function], - "geoip": {}, "global": {}, - "jobs": {}, "logger": { "debug": [Function], "error": [Function], "log": [Function], "warn": [Function], }, - "metrics": {}, - "storage": { - "del": [Function], - "get": [Function], - "set": [Function], - }, - "utils": {}, } `) }) diff --git a/plugin-server/src/cdp/services/hog-function-manager.service.test.ts b/plugin-server/src/cdp/services/hog-function-manager.service.test.ts index c4530200b8b5c..41c15d8f1c85a 100644 --- a/plugin-server/src/cdp/services/hog-function-manager.service.test.ts +++ b/plugin-server/src/cdp/services/hog-function-manager.service.test.ts @@ -3,6 +3,7 @@ import { Hub } from '~/src/types' import { closeHub, createHub } from '~/src/utils/db/hub' import { PostgresUse } from '~/src/utils/db/postgres' import { insertHogFunction, insertIntegration } from '~/tests/cdp/fixtures' +import { forSnapshot } from '~/tests/helpers/snapshots' import { createTeam, resetTestDatabase } from '~/tests/helpers/sql' import { HogFunctionManagerService } from './hog-function-manager.service' @@ -70,24 +71,6 @@ describe('HogFunctionManager', () => { }) ) - // hogFunctions.push( - // await insertHogFunction(hub.postgres, teamId1, { - // name: 'Email Provider team 1', - // type: 'email', - // inputs_schema: [ - // { - // type: 'email', - // key: 'message', - // }, - // ], - // inputs: { - // email: { - // value: { from: 'me@a.com', to: 'you@b.com', subject: 'subject', html: 'text' }, - // }, - // }, - // }) - // ) - hogFunctions.push( await insertHogFunction(hub.postgres, teamId2, { name: 'Test Hog Function team 2', @@ -149,6 +132,7 @@ describe('HogFunctionManager', () => { encrypted_inputs: null, masking: null, mappings: null, + template_id: null, depends_on_integration_ids: new Set([integrations[0].id]), }, ]) From 4e7ffe0450f4888b8280cb3aefac679ec4a8ceb0 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:19:57 +0100 Subject: [PATCH 40/76] Fix --- plugin-server/src/cdp/legacy-plugins/types.ts | 1 - posthog/cdp/migrations.py | 4 ---- 2 files changed, 5 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/types.ts b/plugin-server/src/cdp/legacy-plugins/types.ts index 02f7a54f5ba9e..b65484dfe43a8 100644 --- a/plugin-server/src/cdp/legacy-plugins/types.ts +++ b/plugin-server/src/cdp/legacy-plugins/types.ts @@ -10,7 +10,6 @@ export type LegacyPluginLogger = { } export type LegacyPluginMeta = { - // storage: StorageExtension config: Record global: Record diff --git a/posthog/cdp/migrations.py b/posthog/cdp/migrations.py index 86aa29e7108a7..eee11f0e08011 100644 --- a/posthog/cdp/migrations.py +++ b/posthog/cdp/migrations.py @@ -1,7 +1,3 @@ -# Migrate from legacy plugins to new hog function plugins - - -import json from posthog.api.hog_function import HogFunctionSerializer from posthog.models.hog_functions.hog_function import HogFunction from posthog.models.plugin import PluginAttachment, PluginConfig From 3af5796fc46cd23fe911a25f60f21e76e25a09fd Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:22:15 +0100 Subject: [PATCH 41/76] Fixes --- .../commands/migrate_plugins_to_hog_functions.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/posthog/management/commands/migrate_plugins_to_hog_functions.py b/posthog/management/commands/migrate_plugins_to_hog_functions.py index 8aa05aee700ac..ccc58b88604ab 100644 --- a/posthog/management/commands/migrate_plugins_to_hog_functions.py +++ b/posthog/management/commands/migrate_plugins_to_hog_functions.py @@ -9,15 +9,19 @@ class Command(BaseCommand): def add_arguments(self, parser): parser.add_argument( "--dry-run", - type=bool, + action="store_true", help="If set, will not actually perform the migration, but will print out what would have been done", ) parser.add_argument("--team-ids", type=str, help="Comma separated list of team ids to sync") - parser.add_argument("--test-mode", type=str, help="Whether to just copy as a test function rather than migrate") + parser.add_argument( + "--test-mode", action="store_true", help="Whether to just copy as a test function rather than migrate" + ) def handle(self, *args, **options): dry_run = options["dry_run"] team_ids = options["team_ids"] test_mode = options["test_mode"] + print("Migrating plugins to hog functions", options) # noqa: T201 + migrate_legacy_plugins(dry_run=dry_run, team_ids=team_ids, test_mode=test_mode) From 91b8ea5877e6b100224cfcf1b7019866b5efd639 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:36:24 +0100 Subject: [PATCH 42/76] Fixes --- .../cdp-cyclotron-plugins-worker.consumer.ts | 20 +++++++++++-- .../cdp-cyclotron-plugins-worker.test.ts | 29 ++++++++++++++++++- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts index 66094bcbc70dc..37d0492022330 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.consumer.ts @@ -51,6 +51,8 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { ? invocation.hogFunction.template_id.replace('plugin-', '') : null + const isTestFunction = invocation.hogFunction.name.includes('[CDP-TEST-HIDDEN]') + result.logs.push({ level: 'debug', timestamp: DateTime.now(), @@ -85,12 +87,26 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { let state = this.pluginState[pluginId] + const fetch = (...args: Parameters): Promise => { + if (isTestFunction) { + addLog('info', 'Fetch called but mocked due to test function') + return Promise.resolve({ + status: 500, + json: () => + Promise.resolve({ + message: 'Test function', + }), + } as Response) + } + return this.fetch(...args) + } + if (!state) { // TODO: Modify fetch to be a silent log if it is a test function... const meta: LegacyPluginMeta = { config: invocation.globals.inputs, global: {}, - fetch: (...args) => this.fetch(...args), + fetch, logger: logger, } @@ -145,7 +161,7 @@ export class CdpCyclotronWorkerPlugins extends CdpCyclotronWorker { ...state.meta, // NOTE: We override logger and fetch here so we can track the calls logger, - fetch: this.fetch, + fetch, }) result.logs.push({ level: 'debug', diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index c5b1faf1558d5..3acd044f8ace8 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -5,7 +5,7 @@ import { createInvocation, insertHogFunction as _insertHogFunction, } from '~/tests/cdp/fixtures' -import { getProducedKafkaMessages } from '~/tests/helpers/mocks/producer.mock' +import { getProducedKafkaMessages, getProducedKafkaMessagesForTopic } from '~/tests/helpers/mocks/producer.mock' import { forSnapshot } from '~/tests/helpers/snapshots' import { getFirstTeam, resetTestDatabase } from '~/tests/helpers/sql' @@ -210,6 +210,33 @@ describe('CdpCyclotronWorkerPlugins', () => { `) }) + it('should mock out fetch if it is a test function', async () => { + jest.spyOn(PLUGINS_BY_ID['intercom'] as any, 'onEvent') + + const invocation = createInvocation(fn, globals) + invocation.hogFunction.name = 'My function [CDP-TEST-HIDDEN]' + invocation.globals.event.event = 'mycustomevent' + invocation.globals.event.properties = { + email: 'test@posthog.com', + } + + await processor.processInvocations([invocation]) + + expect(mockFetch).toHaveBeenCalledTimes(0) + + expect(PLUGINS_BY_ID['intercom'].onEvent).toHaveBeenCalledTimes(1) + + expect(forSnapshot(getProducedKafkaMessagesForTopic('log_entries_test').map((m) => m.value.message))) + .toMatchInlineSnapshot(` + [ + "Executing plugin intercom", + "Fetch called but mocked due to test function", + "Unable to search contact test@posthog.com in Intercom. Status Code: undefined. Error message: ", + "Execution successful", + ] + `) + }) + it('should handle and collect errors', async () => { jest.spyOn(PLUGINS_BY_ID['intercom'] as any, 'onEvent') From be04729619e663f909cef8fa6f3114ceb6305212 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 28 Jan 2025 09:44:30 +0100 Subject: [PATCH 43/76] fix --- .../src/cdp/services/hog-function-manager.service.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin-server/src/cdp/services/hog-function-manager.service.test.ts b/plugin-server/src/cdp/services/hog-function-manager.service.test.ts index 41c15d8f1c85a..b31892365e316 100644 --- a/plugin-server/src/cdp/services/hog-function-manager.service.test.ts +++ b/plugin-server/src/cdp/services/hog-function-manager.service.test.ts @@ -3,7 +3,6 @@ import { Hub } from '~/src/types' import { closeHub, createHub } from '~/src/utils/db/hub' import { PostgresUse } from '~/src/utils/db/postgres' import { insertHogFunction, insertIntegration } from '~/tests/cdp/fixtures' -import { forSnapshot } from '~/tests/helpers/snapshots' import { createTeam, resetTestDatabase } from '~/tests/helpers/sql' import { HogFunctionManagerService } from './hog-function-manager.service' From 3c6c2a7d5687d6f50115797c8dd07aa9463c37e5 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Wed, 29 Jan 2025 10:54:17 +0100 Subject: [PATCH 44/76] format legacy plugins to new format --- .../src/cdp/legacy-plugins/hubspot/index.ts | 6 +- plugin-server/src/cdp/legacy-plugins/index.ts | 20 ++++ .../pace-posthog-integration/index.ts | 48 +++++---- .../cdp/legacy-plugins/posthog-avo/index.ts | 26 +++-- .../legacy-plugins/posthog-braze-app/index.ts | 37 ++++--- .../posthog-engage-so/{index.js => index.ts} | 27 +++-- .../cdp/legacy-plugins/posthog-gcs/index.ts | 27 +++-- .../posthog-patterns-app/index.ts | 43 +++++--- .../src/cdp/legacy-plugins/pubsub/index.ts | 26 +++-- .../{index.js => index.ts} | 30 +++++- .../legacy-plugins/salesforce/src/index.ts | 100 +++++++----------- .../sendgrid/{index.js => index.ts} | 20 ++-- 12 files changed, 257 insertions(+), 153 deletions(-) rename plugin-server/src/cdp/legacy-plugins/posthog-engage-so/{index.js => index.ts} (50%) rename plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/{index.js => index.ts} (90%) rename plugin-server/src/cdp/legacy-plugins/sendgrid/{index.js => index.ts} (87%) diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts index a8c6d59988f59..63735f5570963 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -1,6 +1,9 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { Response } from '~/src/utils/fetch' + import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' const hubspotPropsMap = { companyName: 'company', @@ -178,6 +181,7 @@ function getEmailFromEvent(event) { export const hubspotPlugin: LegacyPlugin = { id: 'hubspot', - onEvent, + metadata: metadata as any, setupPlugin, + onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index f15927da6081b..07e58e682454c 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -1,7 +1,27 @@ import { customerioPlugin } from './customerio' +import { hubspotPlugin } from './hubspot' import { intercomPlugin } from './intercom' +import { rudderstackPlugin } from './rudderstack-posthog' +import { engagePlugin } from './posthog-engage-so' +import { avoPlugin } from './posthog-avo' +import { patternsPlugin } from './posthog-patterns-app' +import { brazePlugin } from './posthog-braze-app' +import { pubsubPlugin } from './pubsub' +import { sendgridPlugin } from './sendgrid' +import { gcsPlugin } from './posthog-gcs' +import { salesforcePlugin } from './salesforce/src' export const PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, [intercomPlugin.id]: intercomPlugin, + [rudderstackPlugin.id]: rudderstackPlugin, + [hubspotPlugin.id]: hubspotPlugin, + [engagePlugin.id]: engagePlugin, + [avoPlugin.id]: avoPlugin, + [patternsPlugin.id]: patternsPlugin, + [brazePlugin.id]: brazePlugin, + [pubsubPlugin.id]: pubsubPlugin, + [sendgridPlugin.id]: sendgridPlugin, + [gcsPlugin.id]: gcsPlugin, + [salesforcePlugin.id]: salesforcePlugin, } diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts index 52f06ec65e294..425af9325deda 100644 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts @@ -1,29 +1,35 @@ -import { Plugin, Webhook } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -export interface PaceMetaInput { +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' + +type PaceMetaInput = LegacyPluginMeta & { config: { api_key: string } } -const plugin: Plugin = { - composeWebhook: (event, { config }) => - ({ - url: 'https://data.production.paceapp.com/events', - headers: { - 'Content-Type': 'application/json', - 'x-api-key': config.api_key, - }, - body: JSON.stringify({ - data: { - ...event, - properties: Object.fromEntries( - Object.entries(event.properties || {}).filter(([key, _]) => !key.startsWith('$')) - ), - }, - }), - method: 'POST', - } as Webhook), +const onEvent = async (event: ProcessedPluginEvent, { config, fetch }: PaceMetaInput): Promise => { + await fetch('https://data.production.paceapp.com/events', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'x-api-key': config.api_key, + }, + body: JSON.stringify({ + data: { + ...event, + properties: Object.fromEntries( + Object.entries(event.properties || {}).filter(([key, _]) => !key.startsWith('$')) + ) + } + }) + }) } -export default plugin +export const pacePlugin: LegacyPlugin = { + id: 'pace', + metadata: metadata as any, + setupPlugin: () => Promise.resolve(), + onEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts index 5dfd2038bd0c2..2bf2a1ed31616 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts @@ -1,5 +1,11 @@ +import { ProcessedPluginEvent, Plugin } from '@posthog/plugin-scaffold' +import { RetryError } from '@posthog/plugin-scaffold' + +import { Response } from '~/src/utils/fetch' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' import { randomUUID } from 'crypto' -import { Plugin } from '@posthog/plugin-scaffold' interface AvoInspectorMeta { global: { @@ -43,7 +49,7 @@ export const setupPlugin: AvoInspectorPlugin['setupPlugin'] = async ({ config, g ) } -export const composeWebhook: AvoInspectorPlugin['onEvent'] = (event, { config, global }) => { +const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { const isIncluded = global.includeEvents.length > 0 ? global.includeEvents.has(event.event) : true const isExcluded = global.excludeEvents.has(event.event) @@ -74,12 +80,11 @@ export const composeWebhook: AvoInspectorPlugin['onEvent'] = (event, { config, g eventProperties: event.properties ? convertPosthogPropsToAvoProps(event.properties, global.excludeProperties, global.includeProperties) : [], } - return { - url: 'https://api.avo.app/inspector/posthog/v1/track', - headers: global.defaultHeaders, - body: JSON.stringify([avoEvent]), + await fetch('https://api.avo.app/inspector/posthog/v1/track', { method: 'POST', - } + headers: global.defaultHeaders, + body: JSON.stringify([avoEvent]) + }) } const convertPosthogPropsToAvoProps = (properties: Record, excludeProperties: Set, includeProperties: Set): Record[] => { @@ -123,3 +128,10 @@ const getPropValueType = (propValue: any): string => { return propType } } + +export const avoPlugin: LegacyPlugin = { + id: 'avo', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts index 70644bf1192bd..1b12c5c129fb2 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -1,6 +1,9 @@ -import { Plugin, PluginEvent, PluginMeta, Properties, RetryError } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent, Properties, RetryError } from '@posthog/plugin-scaffold' + +import { Response } from '~/src/utils/fetch' +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' import crypto from 'crypto' -import fetch, { RequestInit, Response } from 'node-fetch' export type FetchBraze = ( endpoint: string, @@ -9,7 +12,7 @@ export type FetchBraze = ( requestId?: string ) => Promise | null> -type BrazePlugin = Plugin<{ +type BrazePluginMeta = LegacyPluginMeta & { global: { fetchBraze: FetchBraze } @@ -20,10 +23,10 @@ type BrazePlugin = Plugin<{ userPropertiesToExport: string eventsToExportUserPropertiesFrom: string } -}> +} // NOTE: type is exported for tests -export type BrazeMeta = PluginMeta +export type BrazeMeta = BrazePluginMeta const ENDPOINTS_MAP = { 'US-01': 'https://rest.iad-01.braze.com', @@ -37,7 +40,7 @@ const ENDPOINTS_MAP = { 'EU-02': 'https://rest.fra-02.braze.eu', } -export async function setupPlugin({ config, global }: BrazeMeta): Promise { +export async function setupPlugin({ config, global, fetch, logger }: BrazePluginMeta): Promise { const brazeUrl = ENDPOINTS_MAP[config.brazeEndpoint] // we define a global fetch function that handles authentication and API errors global.fetchBraze = async (endpoint, options = {}, method = 'GET', requestId = '') => { @@ -59,12 +62,12 @@ export async function setupPlugin({ config, global }: BrazeMeta): Promise timeout: 5000, }) } catch (e) { - console.error(e, endpoint, options.body, requestId) + logger.error(e, endpoint, options.body, requestId) throw new RetryError('Fetch failed, retrying.') } finally { const elapsedTime = (Date.now() - startTime) / 1000 if (elapsedTime >= 5) { - console.warn( + logger.warn( `🐢 Slow request warning. Fetch took ${elapsedTime} seconds. Request ID: ${requestId}`, endpoint ) @@ -80,11 +83,11 @@ export async function setupPlugin({ config, global }: BrazeMeta): Promise try { responseJson = await response.json() } catch (e) { - console.error('Error parsing Braze response as JSON: ', e, endpoint, options.body, requestId) + logger.error('Error parsing Braze response as JSON: ', e, endpoint, options.body, requestId) } if (responseJson?.['errors']) { - console.error('Braze API error (not retried): ', responseJson, endpoint, options.body, requestId) + logger.error('Braze API error (not retried): ', responseJson, endpoint, options.body, requestId) } return responseJson } @@ -144,7 +147,7 @@ type BrazeUsersTrackBody = { events: Array // NOTE: max length 75 } -const _generateBrazeRequestBody = (pluginEvent: PluginEvent, meta: BrazeMeta): BrazeUsersTrackBody => { +const _generateBrazeRequestBody = (pluginEvent: ProcessedPluginEvent, meta: BrazeMeta): BrazeUsersTrackBody => { const { event, $set, properties, timestamp } = pluginEvent // If we have $set or properties.$set then attributes should be an array @@ -186,7 +189,7 @@ const _generateBrazeRequestBody = (pluginEvent: PluginEvent, meta: BrazeMeta): B } } -export const onEvent = async (pluginEvent: PluginEvent, meta: BrazeMeta): Promise => { +export const onEvent = async (pluginEvent: ProcessedPluginEvent, meta: BrazePluginMeta): Promise => { // NOTE: We compute a unique ID for this request so we can identify the same request in the logs const requestId = crypto.createHash('sha256').update(JSON.stringify(pluginEvent)).digest('hex') const startTime = Date.now() @@ -207,5 +210,13 @@ export const onEvent = async (pluginEvent: PluginEvent, meta: BrazeMeta): Promis ) const elapsedTime = (Date.now() - startTime) / 1000 - console.log(`🚀 Exported 1 event to Braze in ${elapsedTime} seconds.`) + meta.logger.log(`🚀 Exported 1 event to Braze in ${elapsedTime} seconds.`) +} + + +export const brazePlugin: LegacyPlugin = { + id: 'braze', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts similarity index 50% rename from plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js rename to plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts index 9cdf942e0ef90..c37ef53964f8a 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.js +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts @@ -1,14 +1,19 @@ -function composeWebhook (_event, { config }) { +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' + +const onEvent = async (_event: ProcessedPluginEvent, { config, fetch }: LegacyPluginMeta): Promise => { const event = _event.event if (event.startsWith('$')) { // only process a specific set of custom events if (!['$identify', '$groupidentify', '$set', '$unset', '$create_alias'].includes(event)) { - return null + return } } // Ignore plugin events if (event.startsWith('plugin')) { - return null + return } const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') @@ -16,17 +21,19 @@ function composeWebhook (_event, { config }) { delete config.secret _event.config = config - return { - url: 'https://api.engage.so/posthog', - body: JSON.stringify(_event), + await fetch('https://api.engage.so/posthog', { + method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: auth }, - method: 'POST' - } + body: JSON.stringify(_event) + }) } -module.exports = { - composeWebhook +export const engagePlugin: LegacyPlugin = { + id: 'engage', + metadata: metadata as any, + setupPlugin: () => Promise.resolve(), + onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts index 70d0a6e27989d..6d4998a9735de 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts @@ -1,10 +1,12 @@ -import { Plugin, PluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { Storage, Bucket } from '@google-cloud/storage' import { PassThrough } from 'stream' import { randomBytes } from 'crypto' +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' -type GCSPlugin = Plugin<{ +type gcsMeta = LegacyPluginMeta & { global: { bucket: Bucket eventsToIgnore: Set @@ -15,8 +17,9 @@ type GCSPlugin = Plugin<{ } jobs: { exportEventsWithRetry: string[] - } -}> + }, + attachments: any +} interface GCSCredentials { project_id?: string @@ -38,7 +41,7 @@ interface TableRow { timestamp: string } -function transformEventToRow(fullEvent: PluginEvent): TableRow { +function transformEventToRow(fullEvent: ProcessedPluginEvent): TableRow { const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid, ...rest } = fullEvent const ip = properties?.['$ip'] || fullEvent.ip @@ -68,7 +71,7 @@ function transformEventToRow(fullEvent: PluginEvent): TableRow { } } -export const setupPlugin: GCSPlugin['setupPlugin'] = async ({ attachments, global, config }) => { +const setupPlugin = async ({ attachments, global, config }: gcsMeta): Promise => { if (!attachments.googleCloudKeyJson) { throw new Error('Credentials JSON file not provided!') } @@ -92,7 +95,7 @@ export const setupPlugin: GCSPlugin['setupPlugin'] = async ({ attachments, globa global.eventsToIgnore = new Set((config.exportEventsToIgnore || '').split(',').map((event) => event.trim())) } -export const onEvent: GCSPlugin['onEvent'] = async (event, { global, config }) => { +const onEvent = async (event: ProcessedPluginEvent, { global, logger }: gcsMeta) => { if (global.eventsToIgnore.has(event.event.trim())) { return } @@ -154,8 +157,16 @@ export const onEvent: GCSPlugin['onEvent'] = async (event, { global, config }) = }) }) } catch { - console.error(`Failed to upload ${rows.length} event${rows.length > 1 ? 's' : ''} to GCS. Retrying later.`) + logger.error(`Failed to upload ${rows.length} event${rows.length > 1 ? 's' : ''} to GCS. Retrying later.`) throw new RetryError() } } + +export const gcsPlugin: LegacyPlugin = { + id: 'gcs', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, + } + \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts index 047ec2131a3b3..f17d09887b3f6 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts @@ -1,23 +1,27 @@ +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' + import { PluginInput, - Plugin, - Meta, RetryError, } from "@posthog/plugin-scaffold"; -import fetch, { Response } from "node-fetch"; +import { Response } from "~/src/utils/fetch"; -type PatternsInputs = { - webhookUrl: string; - allowedEventTypes: string; -}; - -export interface PatternsPluginInput extends PluginInput { - config: PatternsInputs; +type PatternsMeta = LegacyPluginMeta & { + config: { + webhookUrl: string; + allowedEventTypes: string; + } + global: { + allowedEventTypesSet: Set; + } } // Plugin method that runs on plugin load //@ts-ignore -export async function setupPlugin({ config, global }: Meta) { +export async function setupPlugin({ config, global }: PatternsMeta): Promise { if (config.allowedEventTypes) { let allowedEventTypes = config.allowedEventTypes.split(","); allowedEventTypes = allowedEventTypes.map((eventType: string) => eventType.trim()); @@ -26,16 +30,16 @@ export async function setupPlugin({ config, global }: Meta) } // Plugin method to export events -export const onEvent: Plugin["onEvent"] = async ( - event, - { config, global }: Meta -) => { +const onEvent = async ( + event: ProcessedPluginEvent, + { config, global, fetch }: PatternsMeta +): Promise => { if (global.allowedEventTypesSet) { if (!global.allowedEventTypesSet.has(event.event)) { return } } - + let response: Response; response = await fetch(config.webhookUrl, { method: "POST", @@ -48,3 +52,10 @@ export const onEvent: Plugin["onEvent"] = async ( throw new RetryError(`Export events failed: ${JSON.stringify(data)}`); } }; + +export const patternsPlugin: LegacyPlugin = { + id: 'patterns', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts index 5d478e5f5f124..c4092c8186fb7 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -1,7 +1,11 @@ -import { Plugin, PluginMeta, PluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' +import { RetryError } from '@posthog/plugin-scaffold' import { PubSub, Topic } from "@google-cloud/pubsub" -type PubSubPlugin = Plugin<{ +type PubSubMeta = LegacyPluginMeta & { global: { pubSubClient: PubSub pubSubTopic: Topic @@ -9,10 +13,11 @@ type PubSubPlugin = Plugin<{ config: { topicId: string }, -}> + attachments: any +} -export const setupPlugin: PubSubPlugin['setupPlugin'] = async (meta) => { - const { global, attachments, config } = meta +export const setupPlugin = async (meta: PubSubMeta): Promise => { + const { global, attachments, config, logger } = meta if (!attachments.googleCloudKeyJson) { throw new Error('JSON config not provided!') } @@ -35,7 +40,7 @@ export const setupPlugin: PubSubPlugin['setupPlugin'] = async (meta) => { if (!error.message.includes("NOT_FOUND")) { throw new Error(error) } - console.log(`Creating PubSub Topic - ${config.topicId}`) + logger.log(`Creating PubSub Topic - ${config.topicId}`) try { await global.pubSubTopic.create() @@ -48,7 +53,7 @@ export const setupPlugin: PubSubPlugin['setupPlugin'] = async (meta) => { } } -export async function onEvent(fullEvent: PluginEvent, { global, config }: PluginMeta) { +export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config }: PubSubMeta) { if (!global.pubSubClient) { throw new Error('No PubSub client initialized!') } @@ -93,3 +98,10 @@ export async function onEvent(fullEvent: PluginEvent, { global, config }: Plugin throw new RetryError(`Error publishing to Pub/Sub! ${JSON.stringify(error.errors)}`) } } + +export const pubsubPlugin: LegacyPlugin = { + id: 'pubsub', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, +} \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.js b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts similarity index 90% rename from plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.js rename to plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts index 2d69d8ead845f..48080c9f60e64 100644 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.js +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts @@ -1,3 +1,8 @@ +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' + const alias = { userId: 'properties.alias', previousId: ['properties.distinct_id'], @@ -207,7 +212,19 @@ function isValidObject(val) { return isObject(val) || Array.isArray(val) || typeof val === 'function' } -export async function setupPlugin({ config, global, jobs }) { +type RudderstackMeta = LegacyPluginMeta & { + global: { + rudderAuthHeader: { headers: { Authorization: string } } + writeKey: string + dataPlaneUrl: string + } + config: { + dataPlaneUrl: string + writeKey: string + } +} + +export async function setupPlugin({ config, global }: RudderstackMeta) { const rudderBase64AuthToken = Buffer.from(`${config.writeKey}:`).toString('base64') global.rudderAuthHeader = { @@ -219,7 +236,7 @@ export async function setupPlugin({ config, global, jobs }) { global.dataPlaneUrl = config.dataPlaneUrl } -export async function onEvent(event, { global }) { +export async function onEvent(event: ProcessedPluginEvent, { global, fetch }: RudderstackMeta) { const payload = { batch: [constructRudderPayload(event)], sentAt: new Date().toISOString(), @@ -235,7 +252,7 @@ export async function onEvent(event, { global }) { }) } -function constructRudderPayload(event) { +function constructRudderPayload(event: ProcessedPluginEvent) { let rudderPayload = {} // add const value props constructPayload(rudderPayload, event, constants, true) @@ -284,3 +301,10 @@ function constructPayload(outPayload, inPayload, mapping, direct = false) { } }) } + +export const rudderstackPlugin: LegacyPlugin = { + id: 'rudderstack', + metadata: metadata as any, + onEvent, + setupPlugin: setupPlugin as any, +} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts index 7b2c2425d2de4..ceb20b435fb66 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts @@ -1,5 +1,9 @@ -import { PluginMeta, PluginEvent, CacheExtension, RetryError, Properties, Plugin } from '@posthog/plugin-scaffold' -import type { RequestInfo, RequestInit, Response } from 'node-fetch' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import metadata from '../plugin.json' +import { CacheExtension, RetryError, Properties } from '@posthog/plugin-scaffold' +import type { Response } from 'node-fetch' import { URL } from 'url' export interface EventSink { @@ -27,27 +31,6 @@ export const parseEventSinkConfig = (config: SalesforcePluginConfig): EventToSin return eventMapping } -interface Logger { - error: typeof console.error - log: typeof console.log - debug: typeof console.debug -} - -const makeLogger = (debugLoggingOn: boolean): Logger => { - return { - error: console.error, - log: console.log, - debug: debugLoggingOn - ? console.debug - : () => { - /* no-op debug logging */ - }, - } -} - -// fetch only declared, as it's provided as a plugin VM global -declare function fetch(url: RequestInfo, init?: RequestInit): Promise - const CACHE_TOKEN = 'SF_AUTH_TOKEN_' const CACHE_TTL = 60 * 60 * 5 // in seconds @@ -65,17 +48,10 @@ export interface SalesforcePluginConfig { eventEndpointMapping: string } -export interface SalesforcePluginGlobal { - logger: Logger -} - -type SalesForcePlugin = Plugin<{ +export type SalesforceMeta = LegacyPluginMeta & { cache: CacheExtension config: SalesforcePluginConfig - global: SalesforcePluginGlobal -}> - -export type SalesforcePluginMeta = PluginMeta +} const validateEventSinkConfig = (config: SalesforcePluginConfig): void => { const eventMapping = parseEventSinkConfig(config) @@ -107,7 +83,7 @@ const validateEventSinkConfig = (config: SalesforcePluginConfig): void => { } } -export function verifyConfig({ config }: SalesforcePluginMeta): void { +export function verifyConfig({ config }: SalesforceMeta): void { validateEventSinkConfig(config) if (!config.salesforceHost) { @@ -138,35 +114,35 @@ const callSalesforce = async ({ sink, token, event, - logger, + meta, }: { host: string sink: EventSink token: string - event: PluginEvent - logger: Logger + event: ProcessedPluginEvent + meta: SalesforceMeta }): Promise => { - const response = await fetch(`${host}/${sink.salesforcePath}`, { + const response = await meta.fetch(`${host}/${sink.salesforcePath}`, { method: sink.method, headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, body: JSON.stringify(getProperties(event, sink.propertiesToInclude, sink.fieldMappings)), }) - const isOk = await statusOk(response, logger) + const isOk = await statusOk(response, meta.logger) if (!isOk) { throw new Error(`Not a 200 response from event hook ${response.status}. Response: ${JSON.stringify(response)}`) } } export async function sendEventToSalesforce( - event: PluginEvent, - meta: SalesforcePluginMeta, + event: ProcessedPluginEvent, + meta: SalesforceMeta, token: string ): Promise { try { - const { config, global } = meta + const { config, logger } = meta - global.logger.debug('processing event: ', event?.event) + logger.debug('processing event: ', event?.event) const eventMapping = parseEventSinkConfig(config) @@ -179,7 +155,7 @@ export async function sendEventToSalesforce( } eventSink = eventMapping[event.event] - global.logger.debug('v2: processing event: ', event?.event, ' with sink ', eventSink) + logger.debug('v2: processing event: ', event?.event, ' with sink ', eventSink) } else { const eventsToInclude = config.eventsToInclude.split(',').map((e) => e.trim()) if (!eventsToInclude.includes(event.event)) { @@ -193,7 +169,7 @@ export async function sendEventToSalesforce( fieldMappings: {} } - global.logger.debug('v1: processing event: ', event?.event, ' with sink ', eventSink) + logger.debug('v1: processing event: ', event?.event, ' with sink ', eventSink) } return callSalesforce({ @@ -201,10 +177,10 @@ export async function sendEventToSalesforce( sink: eventSink, token, event, - logger: global.logger, + meta }) } catch (error) { - meta.global.logger.error( + meta.logger.error( 'error while sending event to salesforce. event: ', event.event, ' the error was ', @@ -214,7 +190,7 @@ export async function sendEventToSalesforce( } } -async function getToken(meta: SalesforcePluginMeta): Promise { +async function getToken(meta: SalesforceMeta): Promise { const { cache } = meta const token = await cache.get(CACHE_TOKEN, null) if (token == null) { @@ -224,7 +200,7 @@ async function getToken(meta: SalesforcePluginMeta): Promise { return token as string } -async function generateAndSetToken({ config, cache, global }: SalesforcePluginMeta): Promise { +async function generateAndSetToken({ config, cache, logger, fetch }: SalesforceMeta): Promise { const details: Record = { grant_type: 'password', client_id: config.consumerKey, @@ -241,14 +217,14 @@ async function generateAndSetToken({ config, cache, global }: SalesforcePluginMe } const tokenURL = `${config.salesforceHost}/services/oauth2/token` - global.logger.debug('getting token from ', tokenURL) + logger.debug('getting token from ', tokenURL) const response = await fetch(tokenURL, { method: 'post', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: formBody.join('&'), }) - if (!statusOk(response, global.logger)) { + if (!statusOk(response, logger)) { throw new Error(`Got bad response getting the token ${response.status}`) } const body = await response.json() @@ -256,18 +232,15 @@ async function generateAndSetToken({ config, cache, global }: SalesforcePluginMe return body.access_token } -export async function setupPlugin(meta: SalesforcePluginMeta): Promise { - const { global } = meta - - const debugLoggingOn = meta.config.debugLogging === 'debug logging on' - global.logger = makeLogger(debugLoggingOn) +export async function setupPlugin(meta: SalesforceMeta): Promise { + const { logger } = meta verifyConfig(meta) try { await getToken(meta) } catch (error) { - global.logger.error('error in getToken', error) + logger.error('error in getToken', error) throw new RetryError('Failed to getToken. cache or salesforce is unavailable') } } @@ -281,13 +254,13 @@ function configToMatchingEvents(config: SalesforcePluginConfig): string[] { return [] } -export function shouldSendEvent(event: PluginEvent, meta: SalesforcePluginMeta): boolean { +export function shouldSendEvent(event: ProcessedPluginEvent, meta: SalesforceMeta): boolean { const { config } = meta const eventsToMatch = configToMatchingEvents(config) return eventsToMatch.includes(event.event) } -export async function onEvent(event: PluginEvent, meta: SalesforcePluginMeta): Promise { +export async function onEvent(event: ProcessedPluginEvent, meta: SalesforceMeta): Promise { if (!shouldSendEvent(event, meta)) { return } @@ -295,7 +268,7 @@ export async function onEvent(event: PluginEvent, meta: SalesforcePluginMeta): P await sendEventToSalesforce(event, meta, await getToken(meta)) } -async function statusOk(res: Response, logger: Logger): Promise { +async function statusOk(res: Response, logger: SalesforceMeta['logger']): Promise { logger.debug('testing response for whether it is "ok". has status: ', res.status, ' debug: ', JSON.stringify(res)) return String(res.status)[0] === '2' } @@ -306,7 +279,7 @@ function getNestedProperty(properties: Record, path: string): any { return path.split('.').reduce((acc, part) => acc[part], properties); } -export function getProperties(event: PluginEvent, propertiesToInclude: string, fieldMappings: FieldMappings = {}): Properties { +export function getProperties(event: ProcessedPluginEvent, propertiesToInclude: string, fieldMappings: FieldMappings = {}): Properties { const { properties } = event if (!properties) { @@ -326,3 +299,10 @@ export function getProperties(event: PluginEvent, propertiesToInclude: string, f return mappedProperties } + +export const salesforcePlugin: LegacyPlugin = { + id: 'salesforce', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.js b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts similarity index 87% rename from plugin-server/src/cdp/legacy-plugins/sendgrid/index.js rename to plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts index cc95abd5907d1..6eb2e469ba5ba 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.js +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts @@ -1,4 +1,8 @@ -async function setupPlugin({ config, global }) { +import { ProcessedPluginEvent } from "@posthog/plugin-scaffold" +import { LegacyPlugin, LegacyPluginMeta } from "../types" +import metadata from './plugin.json' + +const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): Promise => { // With this call we validate the API Key and also we get the list of custom fields, which will be needed // to configure the map between PostHog and Sendgrid. const fieldsDefResponse = await fetch('https://api.sendgrid.com/v3/marketing/field_definitions', { @@ -22,7 +26,7 @@ async function setupPlugin({ config, global }) { try { posthogPropsToSendgridCustomFieldNamesMap = parseCustomFieldsMap(config.customFields) } catch (e) { - console.error(`Invalid format for custom fields: ${e}`) + logger.error(`Invalid format for custom fields: ${e}`) throw new Error('Invalid format for custom fields') } @@ -40,7 +44,7 @@ async function setupPlugin({ config, global }) { global.customFieldsMap = posthogPropsToSendgridCustomFieldIDsMap } -async function onEvent(event, { config, global }) { +const onEvent = async (event: ProcessedPluginEvent, { config, global, logger, fetch }: LegacyPluginMeta): Promise => { if (event.event !== '$identify') { return } @@ -82,7 +86,7 @@ async function onEvent(event, { config, global }) { } catch (e) { // noop } finally { - console.error(`Unable to export ${contacts.length} contacts to Sendgrid: ${errorText}`) + logger.error(`Unable to export ${contacts.length} contacts to Sendgrid: ${errorText}`) throw new Error(`Unable to export ${contacts.length} contacts to Sendgrid`) } } @@ -139,7 +143,9 @@ function parseCustomFieldsMap(customProps) { return result } -module.exports = { - setupPlugin, - onEvent +export const sendgridPlugin: LegacyPlugin = { + id: 'sendgrid', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, } From e9a178afc74491bcd0e200e23e16041f90ffb2d6 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:14:48 +0100 Subject: [PATCH 45/76] add laudspeaker plugin --- plugin-server/src/cdp/legacy-plugins/index.ts | 3 +- .../posthog-laudspeaker-app/index.ts | 349 ++++++++++++++++++ .../posthog-laudspeaker-app/plugin.json | 0 3 files changed, 351 insertions(+), 1 deletion(-) create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index 07e58e682454c..5aa3cae65ae94 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -10,7 +10,7 @@ import { pubsubPlugin } from './pubsub' import { sendgridPlugin } from './sendgrid' import { gcsPlugin } from './posthog-gcs' import { salesforcePlugin } from './salesforce/src' - +import { laudspeakerPlugin } from './posthog-laudspeaker-app' export const PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, [intercomPlugin.id]: intercomPlugin, @@ -24,4 +24,5 @@ export const PLUGINS_BY_ID = { [sendgridPlugin.id]: sendgridPlugin, [gcsPlugin.id]: gcsPlugin, [salesforcePlugin.id]: salesforcePlugin, + [laudspeakerPlugin.id]: laudspeakerPlugin, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts new file mode 100644 index 0000000000000..335d25637cd53 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts @@ -0,0 +1,349 @@ +import { ProcessedPluginEvent } from "@posthog/plugin-scaffold" +import { LegacyPlugin, LegacyPluginMeta } from "../types" +import metadata from './plugin.json' + +const alias = { + userId: 'properties.alias', + previousId: ['properties.distinct_id'], +} + +const page = { + name: 'properties.name', + 'properties.category': 'properties.category', + 'properties.host': 'properties.$host', + 'properties.url': 'properties.$current_url', + 'properties.path': 'properties.$pathname', + 'properties.referrer': 'properties.$referrer', + 'properties.initial_referrer': 'properties.$initial_referrer', + 'properties.referring_domain': 'properties.$referring_domain', + 'properties.initial_referring_domain': 'properties.$initial_referring_domain', +} + +const identify = { + 'context.traits': '$set', + traits: '$set', +} + +const group = { + groupId: 'groupId', + traits: 'traits', +} + +const track = { + event: 'event', +} + +const constants = { + 'context.app.name': 'PostHogPlugin', + channel: 's2s', +} + +// TODO: handle "context.channel" better +const generic = { + 'context.os.name': 'properties.$os', + 'context.browser': 'properties.$browser', + 'context.page.host': 'properties.$host', + 'context.page.url': 'properties.$current_url', + 'context.page.path': 'properties.$pathname', + 'context.page.referrer': 'properties.$referrer', + 'context.page.initial_referrer': 'properties.$initial_referrer', + 'context.page.referring_domain': 'properties.$referring_domain', + 'context.app.version': 'properties.posthog_version', + 'context.page.initial_referring_domain': 'properties.$initial_referring_domain', + 'context.browser_version': 'properties.$browser_version', + 'context.screen.height': 'properties.$screen_height', + 'context.screen.width': 'properties.$screen_width', + 'context.library.name': 'properties.$lib', + 'context.library.version': 'properties.$lib_version', + 'context.ip': 'ip', + messageId: '$insert_id', + originalTimestamp: 'timestamp', + userId: ['$user_id', 'distinct_id'], + anonymousId: ['properties.$anon_distinct_id', 'properties.$device_id', 'properties.distinct_id'], + 'context.active_feature_flags': 'properties.$active_feature_flags', + 'context.posthog_version': 'properties.posthog_version', + 'context.has_slack_webhook': 'properties.has_slack_webhook', + 'context.token': 'properties.token', +} + +const autoCapture = { + event: 'properties.$event_type', + 'properties.elements': 'properties.$elements', +} + +const eventToMapping = { + $identify: { type: 'identify', mapping: identify }, + $create_alias: { type: 'alias', mapping: alias }, + $pageview: { type: 'page', mapping: page }, + $page: { type: 'page', mapping: page }, + $group: { type: 'group', mapping: group }, + $autocapture: { type: 'track', mapping: autoCapture }, + default: { type: 'track', mapping: track }, +} + +function set(target, path, value) { + let keys = path.split('.') + let len = keys.length + + for (let i = 0; i < len; i++) { + let prop = keys[i] + + if (!isObject(target[prop])) { + target[prop] = {} + } + + if (i === len - 1) { + result(target, prop, value) + break + } + + target = target[prop] + } +} + +function result(target, path, value) { + target[path] = value +} + +function isObject(val) { + return val !== null && (typeof val === 'object' || typeof val === 'function') +} + + +// Ref: https://github.com/jonschlinkert/get-value +function get(target, path, options) { + if (!isObject(options)) { + options = { default: options } + } + + if (!isValidObject(target)) { + return typeof options.default !== 'undefined' ? options.default : target + } + + if (typeof path === 'number') { + path = String(path) + } + + const isArray = Array.isArray(path) + const isString = typeof path === 'string' + const splitChar = options.separator || '.' + const joinChar = options.joinChar || (typeof splitChar === 'string' ? splitChar : '.') + + if (!isString && !isArray) { + return target + } + + if (isString && path in target) { + return isValid(path, target, options) ? target[path] : options.default + } + + let segs = isArray ? path : split(path, splitChar, options) + let len = segs.length + let idx = 0 + + do { + let prop = segs[idx] + if (typeof prop === 'number') { + prop = String(prop) + } + + while (prop && prop.slice(-1) === '\\') { + prop = join([prop.slice(0, -1), segs[++idx] || ''], joinChar, options) + } + + if (prop in target) { + if (!isValid(prop, target, options)) { + return options.default + } + + target = target[prop] + } else { + let hasProp = false + let n = idx + 1 + + while (n < len) { + prop = join([prop, segs[n++]], joinChar, options) + + if ((hasProp = prop in target)) { + if (!isValid(prop, target, options)) { + return options.default + } + + target = target[prop] + idx = n - 1 + break + } + } + + if (!hasProp) { + return options.default + } + } + } while (++idx < len && isValidObject(target)) + + if (idx === len) { + return target + } + + return options.default +} + +function join(segs, joinChar, options) { + if (typeof options.join === 'function') { + return options.join(segs) + } + return segs[0] + joinChar + segs[1] +} + +function split(path, splitChar, options) { + if (typeof options.split === 'function') { + return options.split(path) + } + return path.split(splitChar) +} + +function isValid(key, target, options) { + if (typeof options.isValid === 'function') { + return options.isValid(key, target) + } + return true +} + +function isValidObject(val) { + return isObject(val) || Array.isArray(val) || typeof val === 'function' +} + +export async function setupPlugin({ config, global }) { + const laudBase64AuthToken = Buffer.from(`${config.writeKey}:`).toString('base64') + + global.laudAuthHeader = { + headers: { + Authorization: `Api-Key ${config.writeKey}`, + }, + } + global.writeKey = config.writeKey + global.dataPlaneUrl = config.dataPlaneUrl +} + +function getElementByOrderZero(json) { + if (!json.elements || !Array.isArray(json.elements)) { + return null; // or whatever default value you'd like to return + } + return json.elements.find(x => x.order === 0) || null +} + +const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { + let laudspeakerPayload = {} + // add const value props + constructPayload(laudspeakerPayload, event, constants, true) + + // add generic props + constructPayload(laudspeakerPayload, event, generic) + + // get specific event props + const eventName = get(event, 'event') + const { type, mapping } = eventToMapping[eventName] ? eventToMapping[eventName] : eventToMapping['default'] + + //set laud payload type + set(laudspeakerPayload, 'type', type) + + // set laud event props + constructPayload(laudspeakerPayload, event, mapping) + + // add all pther posthog keys under props not starting with $ to laud payload properties + Object.keys(event.properties).forEach((propKey) => { + if (propKey.slice(0, 1) != '$' && event.properties[propKey] != undefined && event.properties[propKey] != null) { + set(laudspeakerPayload, `properties.${propKey}`, event.properties[propKey]) + } + }) + + //check for messageId + //add if not + if (!("messageId" in laudspeakerPayload)) { + if ("$insert_id" in event.properties) { + laudspeakerPayload['messageId'] = event.properties["$insert_id"] + } + //else { + + //} + } + + //check for event name + //add if not + if (!("event" in laudspeakerPayload)) { + if ("event" in event) { + laudspeakerPayload['event'] = event["event"] + } + //else { + + //} + } + + // add top level element if there is a click, change, or submit + if(['click', 'change', 'submit'].includes(laudspeakerPayload["event"])) { + laudspeakerPayload['context']['elements'] = [getElementByOrderZero(event)]; + } + + const userSet = get(event, 'properties.$set') + + if (userSet) { + if (config.phEmail) { + set(laudspeakerPayload, 'phEmail', userSet[config.phEmail]) + } + + if (config.phPhoneNumber) { + set(laudspeakerPayload, 'phPhoneNumber', userSet[config.phPhoneNumber]) + } + + if (config.phDeviceToken) { + set(laudspeakerPayload, 'phDeviceToken', userSet[config.phDeviceToken]) + } + + if (config.phCustom) { + set(laudspeakerPayload, 'phCustom', userSet[config.phCustom]) + } + } + const payload = { + batch: [laudspeakerPayload], + sentAt: new Date().toISOString(), + } + + await fetch(global.dataPlaneUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + ...global.laudAuthHeader.headers, + }, + body: JSON.stringify(payload) + }) +} + +function constructPayload(outPayload, inPayload, mapping, direct = false) { + Object.keys(mapping).forEach((laudKeyPath) => { + let pHKeyPath = mapping[laudKeyPath] + let pHKeyVal = undefined + if (direct) { + pHKeyVal = pHKeyPath + } else if (Array.isArray(pHKeyPath)) { + for (let i = 0; i < pHKeyPath.length; i++) { + pHKeyVal = get(inPayload, pHKeyPath[i]) + if (pHKeyVal) { + break + } + } + } else { + pHKeyVal = get(inPayload, pHKeyPath) + } + if (pHKeyVal != undefined && pHKeyVal != null) { + set(outPayload, laudKeyPath, pHKeyVal) + } + }) +} + +export const laudspeakerPlugin: LegacyPlugin = { + id: 'laudspeaker', + metadata: metadata as any, + setupPlugin: () => Promise.resolve(), + onEvent, + } + \ No newline at end of file diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json new file mode 100644 index 0000000000000..e69de29bb2d1d From 54304657711564c2f034e3764031e9cc8e0b3d57 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:16:40 +0100 Subject: [PATCH 46/76] add plugin.json --- .../posthog-laudspeaker-app/index.ts | 2 - .../posthog-laudspeaker-app/plugin.json | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts index 335d25637cd53..a708e43fa9882 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts @@ -214,8 +214,6 @@ function isValidObject(val) { } export async function setupPlugin({ config, global }) { - const laudBase64AuthToken = Buffer.from(`${config.writeKey}:`).toString('base64') - global.laudAuthHeader = { headers: { Authorization: `Api-Key ${config.writeKey}`, diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json index e69de29bb2d1d..4b6d740308a5a 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json @@ -0,0 +1,56 @@ +{ + "name": "Laudspeaker", + "url": "https://github.com/laudspeaker/laudspeaker-posthog-plugin/", + "description": "Send event data to Laudspeaker", + "main": "index.js", + "config": [ + { + "key": "dataPlaneUrl", + "hint": "Provide Laudspeaker API URL.", + "name": "Laudspeaker API URL", + "type": "string", + "default": "https://api.laudspeaker.com/events/posthog", + "required": true + }, + { + "key": "writeKey", + "hint": "Provide API key for your Laudspeaker account found on the settings page.", + "name": "Laudspeaker API Key", + "type": "string", + "default": "", + "required": true, + "secret": true + }, + { + "key": "phEmail", + "hint": "Provide attribute name for email.", + "name": "Email attribute name", + "type": "string", + "default": "", + "required": false + }, + { + "key": "phPhoneNumber", + "hint": "Provide attribute name for phone number.", + "name": "Phone number attribute name", + "type": "string", + "default": "", + "required": false + }, + { + "key": "phDeviceToken", + "hint": "Provide attribute name for firebase device token", + "name": "Device Token attribute name", + "type": "string", + "default": "", + "required": false + }, + { + "key": "phCustom", + "hint": "Provide attribute name for your custom field.", + "type": "string", + "default": "", + "required": false + } + ] + } \ No newline at end of file From 5af915ba8b93039d91cd1da6c0d7fc330a79def7 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Wed, 29 Jan 2025 14:45:21 +0100 Subject: [PATCH 47/76] fix tests --- plugin-server/package.json | 1 + plugin-server/pnpm-lock.yaml | 48 +++++++++++++++---- .../src/cdp/legacy-plugins/hubspot/index.ts | 2 - plugin-server/src/cdp/legacy-plugins/index.ts | 1 + .../posthog-patterns-app/index.test.ts | 11 +++-- .../posthog-patterns-app/index.ts | 4 +- .../salesforce/src/eventSinkMapping.test.ts | 30 +++++++----- .../src/sendEventToSalesforce.test.ts | 17 ++++--- 8 files changed, 79 insertions(+), 35 deletions(-) diff --git a/plugin-server/package.json b/plugin-server/package.json index 3454713933a8e..e1cdc11f6dbb0 100644 --- a/plugin-server/package.json +++ b/plugin-server/package.json @@ -139,6 +139,7 @@ "eslint-plugin-promise": "^6.1.1", "eslint-plugin-simple-import-sort": "^7.0.0", "jest": "^29.7.0", + "jest-fetch-mock": "^3.0.3", "nodemon": "^2.0.22", "parse-prometheus-text-format": "^1.1.1", "pino-pretty": "^9.1.0", diff --git a/plugin-server/pnpm-lock.yaml b/plugin-server/pnpm-lock.yaml index 9d983ea625345..954ce202ebd43 100644 --- a/plugin-server/pnpm-lock.yaml +++ b/plugin-server/pnpm-lock.yaml @@ -297,6 +297,9 @@ devDependencies: jest: specifier: ^29.7.0 version: 29.7.0(@types/node@16.18.25)(ts-node@10.9.1) + jest-fetch-mock: + specifier: ^3.0.3 + version: 3.0.3 nodemon: specifier: ^2.0.22 version: 2.0.22 @@ -4270,7 +4273,7 @@ packages: detect-libc: 1.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 node-gyp: 9.3.1 nopt: 5.0.0 npmlog: 5.0.1 @@ -5507,6 +5510,14 @@ packages: luxon: 3.4.4 dev: false + /cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: true + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6737,7 +6748,7 @@ packages: extend: 3.0.2 https-proxy-agent: 5.0.1 is-stream: 2.0.1 - node-fetch: 2.6.9 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding - supports-color @@ -6750,7 +6761,7 @@ packages: extend: 3.0.2 https-proxy-agent: 5.0.1 is-stream: 2.0.1 - node-fetch: 2.6.9 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding - supports-color @@ -6945,7 +6956,7 @@ packages: fast-text-encoding: 1.0.6 google-auth-library: 8.7.0 is-stream-ended: 0.1.4 - node-fetch: 2.6.9 + node-fetch: 2.7.0 object-hash: 3.0.0 proto3-json-serializer: 1.1.1 protobufjs: 7.2.3 @@ -7778,6 +7789,15 @@ packages: jest-util: 29.7.0 dev: true + /jest-fetch-mock@3.0.3: + resolution: {integrity: sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==} + dependencies: + cross-fetch: 3.2.0 + promise-polyfill: 8.3.0 + transitivePeerDependencies: + - encoding + dev: true + /jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8821,6 +8841,17 @@ packages: whatwg-url: 5.0.0 dev: false + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -9456,6 +9487,10 @@ packages: optional: true dev: false + /promise-polyfill@8.3.0: + resolution: {integrity: sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==} + dev: true + /promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} @@ -10443,7 +10478,7 @@ packages: dependencies: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 - node-fetch: 2.6.9 + node-fetch: 2.7.0 stream-events: 1.0.5 uuid: 8.3.2 transitivePeerDependencies: @@ -10553,7 +10588,6 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false /transform-ast@2.4.4: resolution: {integrity: sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==} @@ -10997,14 +11031,12 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: false /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts index 63735f5570963..b9c46a281fbfc 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -1,7 +1,5 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' -import { Response } from '~/src/utils/fetch' - import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index 5aa3cae65ae94..54677575a48d0 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -11,6 +11,7 @@ import { sendgridPlugin } from './sendgrid' import { gcsPlugin } from './posthog-gcs' import { salesforcePlugin } from './salesforce/src' import { laudspeakerPlugin } from './posthog-laudspeaker-app' + export const PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, [intercomPlugin.id]: intercomPlugin, diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts index 305836a9557cf..90414b9b086a8 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts @@ -1,12 +1,11 @@ import { createEvent, } from "@posthog/plugin-scaffold/test/utils"; -import fetchMock from "jest-fetch-mock"; +import fetchMock from "jest-fetch-mock" fetchMock.enableMocks(); -import { PatternsPluginInput, onEvent, setupPlugin } from "./index"; -import { Meta } from "@posthog/plugin-scaffold"; +import { PatternsMeta, onEvent, setupPlugin } from "./index"; const testWebhookUrl = "https://api-staging.patterns.app/api/app/webhooks/wh1234"; @@ -21,7 +20,8 @@ test("onEvent called for event", async () => { webhookUrl: testWebhookUrl, }, global: {}, - } as Meta + fetch: fetchMock as unknown, + } as PatternsMeta setupPlugin(meta); const event1 = createEvent({ event: "$pageView" }); @@ -44,7 +44,8 @@ test("onEvent called for allowed event", async () => { allowedEventTypes: "$pageView, $autoCapture, $customEvent1", }, global: {}, - } as Meta + fetch: fetchMock as unknown, + } as PatternsMeta setupPlugin(meta); const event = createEvent({ event: "$pageView" }); diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts index f17d09887b3f6..f8c6796978327 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts @@ -9,7 +9,7 @@ import { } from "@posthog/plugin-scaffold"; import { Response } from "~/src/utils/fetch"; -type PatternsMeta = LegacyPluginMeta & { +export type PatternsMeta = LegacyPluginMeta & { config: { webhookUrl: string; allowedEventTypes: string; @@ -30,7 +30,7 @@ export async function setupPlugin({ config, global }: PatternsMeta): Promise => { diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts index ea3fd4e43bed2..36781fd7353b7 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts @@ -1,10 +1,10 @@ -import { PluginEvent } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { EventSink, EventToSinkMapping, parseEventSinkConfig, + SalesforceMeta, SalesforcePluginConfig, - SalesforcePluginMeta, sendEventToSalesforce, verifyConfig, } from '.' @@ -70,7 +70,7 @@ describe('event sink mapping', () => { config: { eventEndpointMapping: JSON.stringify(invalidMapping), }, - } as unknown) as SalesforcePluginMeta) + } as unknown) as SalesforceMeta) }).toThrowError('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') }) @@ -80,7 +80,7 @@ describe('event sink mapping', () => { config: { eventEndpointMapping: JSON.stringify(missingMethodInvalidMapping), }, - } as unknown) as SalesforcePluginMeta) + } as unknown) as SalesforceMeta) }).toThrowError('You must provide a method for each mapping in config.eventEndpointMapping.') }) @@ -93,7 +93,7 @@ describe('event sink mapping', () => { config: { eventEndpointMapping: JSON.stringify(mapping), }, - } as unknown) as SalesforcePluginMeta) + } as unknown) as SalesforceMeta) }).toThrowError('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') }) @@ -103,7 +103,7 @@ describe('event sink mapping', () => { config: { eventEndpointMapping: '', }, - } as unknown) as SalesforcePluginMeta) + } as unknown) as SalesforceMeta) }).toThrowError('If you are not providing an eventEndpointMapping then you must provide events to include.') }) @@ -121,7 +121,7 @@ describe('event sink mapping', () => { eventEndpointMapping: JSON.stringify(mapping), eventsToInclude: '$pageView', }, - } as unknown) as SalesforcePluginMeta) + } as unknown) as SalesforceMeta) }).toThrowError('You should not provide both eventsToInclude and eventMapping.') }) }) @@ -132,7 +132,7 @@ describe('event sink mapping', () => { debug: jest.fn(), error: jest.fn(), }, - } as unknown) as SalesforcePluginMeta['global'] + } as unknown) as SalesforceMeta['global'] const config = { salesforceHost: 'https://example.io', eventMethodType: 'POST', @@ -153,8 +153,12 @@ describe('event sink mapping', () => { it('does not send to a sink if there is no mapping for the event', async () => { await sendEventToSalesforce( - { event: 'uninteresting' } as PluginEvent, - ({ config, global } as unknown) as SalesforcePluginMeta, + { event: 'uninteresting' } as ProcessedPluginEvent, + ({ + config, + global, + logger: { error: jest.fn(), debug: jest.fn() } + } as unknown) as SalesforceMeta, 'token', ) expect(mockFetch).not.toHaveBeenCalled() @@ -165,12 +169,14 @@ describe('event sink mapping', () => { ({ event: '$pageview', properties: { unwanted: 'excluded', two: 'includes' }, - } as unknown) as PluginEvent, + } as unknown) as ProcessedPluginEvent, ({ global: global, config: config, cache: undefined, - } as unknown) as SalesforcePluginMeta, + fetch: mockFetch as unknown, + logger: { error: jest.fn(), debug: jest.fn() } + } as unknown) as SalesforceMeta, 'the bearer token', ) expect(mockFetch).toHaveBeenCalledWith('https://example.io/something', { diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts index 5c8b0969f2223..82088b23eaf3f 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts @@ -1,5 +1,5 @@ -import { PluginEvent } from '@posthog/plugin-scaffold' -import { SalesforcePluginConfig, SalesforcePluginMeta, sendEventToSalesforce } from '.' +import { PluginEvent, ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { SalesforcePluginConfig, SalesforceMeta, sendEventToSalesforce } from '.' const mockFetch = jest.fn() // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -27,8 +27,13 @@ describe('sendEventsToSalesforce', () => { } as SalesforcePluginConfig await sendEventToSalesforce( - ({ event: '$pageview', properties: { $current_url: 'https://home/io' } } as unknown) as PluginEvent, - ({ config, global } as unknown) as SalesforcePluginMeta, + ({ event: '$pageview', properties: { $current_url: 'https://home/io' } } as unknown) as ProcessedPluginEvent, + ({ + config, + global, + logger: { error: jest.fn(), debug: jest.fn() }, + fetch: mockFetch as unknown, + } as unknown) as SalesforceMeta, 'token' ) @@ -47,8 +52,8 @@ describe('sendEventsToSalesforce', () => { } as SalesforcePluginConfig await sendEventToSalesforce( - ({ event: 'should not send', properties: { $current_url: 'https://home/io' } } as unknown) as PluginEvent, - ({ config, global } as unknown) as SalesforcePluginMeta, + ({ event: 'should not send', properties: { $current_url: 'https://home/io' } } as unknown) as ProcessedPluginEvent, + ({ config, global, logger: { error: jest.fn(), debug: jest.fn() } } as unknown) as SalesforceMeta, 'token' ) From 0c541a8b9c9249d1899c3dd29f030119624ba29b Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Wed, 29 Jan 2025 14:56:31 +0100 Subject: [PATCH 48/76] run prettier --- .../__tests__/rates.json | 356 +- .../legacy-plugins/downsampling/plugin.json | 5 +- .../downsampling/src/__tests__/index.test.js | 12 +- .../legacy-plugins/downsampling/src/index.ts | 10 +- .../drop-events-on-property/index.js | 2 +- .../drop-events-on-property/plugin.json | 6 +- .../early-access-features-app/plugin.json | 7 +- .../flatten-properties/__tests__/index.js | 83 +- .../flatten-properties/index.js | 11 +- .../flatten-properties/plugin.json | 7 +- .../language-url-splitter-app/plugin.json | 2 +- .../pace-posthog-integration/index.ts | 20 +- .../pineapple-mode-app/plugin.json | 3 +- .../posthog-ai-costs-app/plugin.json | 3 +- .../src/ai-cost-data/anthropic/index.ts | 921 +- .../src/ai-cost-data/awsBedrock/index.ts | 22 +- .../src/ai-cost-data/azure/index.ts | 184 +- .../src/ai-cost-data/cohere/index.ts | 22 +- .../src/ai-cost-data/fireworks/index.ts | 408 +- .../src/ai-cost-data/google/index.ts | 132 +- .../src/ai-cost-data/groq/index.ts | 164 +- .../src/ai-cost-data/mappings.ts | 417 +- .../src/ai-cost-data/mistral/index.ts | 112 +- .../ai-cost-data/openai/fine-tuned-models.ts | 58 +- .../src/ai-cost-data/openai/index.ts | 1641 +- .../src/ai-cost-data/openrouter/index.ts | 4304 +-- .../src/ai-cost-data/qstash/index.ts | 40 +- .../src/ai-cost-data/togetherai/chat/index.ts | 992 +- .../src/ai-cost-data/togetherai/chat/llama.ts | 362 +- .../togetherai/completion/index.ts | 442 +- .../togetherai/completion/llama.ts | 234 +- .../posthog-ai-costs-app/src/index.test.js | 59 +- .../posthog-ai-costs-app/src/index.ts | 45 +- .../src/interfaces/Cost.ts | 96 +- .../posthog-ai-costs-app/tsup.config.json | 2 +- .../index.test.ts | 1 - .../cdp/legacy-plugins/posthog-avo/index.ts | 32 +- .../legacy-plugins/posthog-braze-app/index.ts | 1 - .../posthog-braze-app/tests/index.test.ts | 6 +- .../legacy-plugins/posthog-engage-so/index.ts | 52 +- .../posthog-engage-so/plugin.json | 57 +- .../posthog-engage-so/test/index.test.js | 280 +- .../posthog-filter-out/plugin.json | 60 +- .../posthog-filter-out/src/main.test.ts | 279 +- .../posthog-filter-out/src/main.ts | 87 +- .../cdp/legacy-plugins/posthog-gcs/index.ts | 7 +- .../legacy-plugins/posthog-gcs/plugin.json | 2 +- .../posthog-laudspeaker-app/index.ts | 42 +- .../posthog-laudspeaker-app/plugin.json | 16 +- .../posthog-patterns-app/babel.config.js | 2 +- .../posthog-patterns-app/index.test.ts | 119 +- .../posthog-patterns-app/index.ts | 74 +- .../posthog-patterns-app/package-lock.json | 26744 ++++++++-------- .../posthog-patterns-app/plugin.json | 40 +- .../posthog-patterns-app/types.d.ts | 2 +- .../posthog-plugin-geoip/index.ts | 5 +- .../posthog-route-censor/plugin.json | 82 +- .../src/assets/exampleRoutes.json | 24 +- .../posthog-route-censor/src/index.d.ts | 6 +- .../posthog-route-censor/src/index.ts | 56 +- .../posthog-route-censor/src/types/index.ts | 8 +- .../src/utils/censorProperties.ts | 54 +- .../src/utils/censorUrlPath.ts | 56 +- .../src/utils/checkIsValidHttpUrl.ts | 14 +- .../posthog-route-censor/src/utils/index.ts | 4 +- .../posthog-url-normalizer/index.test.ts | 184 +- .../posthog-url-normalizer/index.ts | 37 +- .../legacy-plugins/property-filter/index.js | 2 +- .../property-filter/index.test.js | 6 +- .../property-filter/plugin.json | 36 +- .../src/cdp/legacy-plugins/pubsub/index.ts | 15 +- .../legacy-plugins/pubsub/package-lock.json | 1444 +- .../src/cdp/legacy-plugins/pubsub/plugin.json | 84 +- .../rudderstack-posthog/plugin.json | 46 +- .../salesforce/src/eventSinkMapping.test.ts | 56 +- .../salesforce/src/getProperties.test.ts | 44 +- .../legacy-plugins/salesforce/src/index.ts | 26 +- .../salesforce/src/onEvent.test.ts | 1 - .../src/sendEventToSalesforce.test.ts | 13 +- .../sendgrid/__tests__/index.js | 62 +- .../src/cdp/legacy-plugins/sendgrid/index.ts | 24 +- .../taxonomy/__tests__/index.js | 60 +- .../src/cdp/legacy-plugins/taxonomy/index.js | 60 +- .../cdp/legacy-plugins/taxonomy/plugin.json | 8 +- .../timestamp-parser/__tests__/index.js | 15 +- .../legacy-plugins/timestamp-parser/index.js | 2 +- 86 files changed, 20719 insertions(+), 20902 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json index a1106e0b7b073..470ed0cebec0b 100644 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json +++ b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json @@ -1,179 +1,179 @@ { - "disclaimer": "Usage subject to terms: https://openexchangerates.org/terms", - "license": "https://openexchangerates.org/license", - "timestamp": 1606395600, - "base": "USD", - "rates": { - "AED": 3.673, - "AFN": 76.932772, - "ALL": 104.063386, - "AMD": 481.616228, - "ANG": 1.795167, - "AOA": 655.8475, - "ARS": 80.799783, - "AUD": 1.358257, - "AWG": 1.8, - "AZN": 1.7025, - "BAM": 1.643361, - "BBD": 2, - "BDT": 84.804658, - "BGN": 1.6442, - "BHD": 0.377092, - "BIF": 1937.803155, - "BMD": 1, - "BND": 1.33852, - "BOB": 6.895827, - "BRL": 5.3516, - "BSD": 1, - "BTC": 0.00005771433, - "BTN": 73.781715, - "BWP": 11.032736, - "BYN": 2.569109, - "BZD": 2.015897, - "CAD": 1.300744, - "CDF": 1965.922948, - "CHF": 0.90882, - "CLF": 0.027728, - "CLP": 765.099489, - "CNH": 6.571982, - "CNY": 6.575, - "COP": 3619.874051, - "CRC": 600.945306, - "CUC": 1.000134, - "CUP": 25.75, - "CVE": 93.15, - "CZK": 21.976033, - "DJF": 178.046302, - "DKK": 6.255944, - "DOP": 58.176342, - "DZD": 128.501426, - "EGP": 15.6966, - "ERN": 14.999905, - "ETB": 38.224749, - "EUR": 0.840622, - "FJD": 2.0726, - "FKP": 0.749208, - "GBP": 0.749208, - "GEL": 3.31, - "GGP": 0.749208, - "GHS": 5.855698, - "GIP": 0.749208, - "GMD": 51.775, - "GNF": 9832.048898, - "GTQ": 7.79841, - "GYD": 209.387141, - "HKD": 7.75079, - "HNL": 24.261852, - "HRK": 6.3513, - "HTG": 65.957793, - "HUF": 303.669311, - "IDR": 14148, - "ILS": 3.321437, - "IMP": 0.749208, - "INR": 73.856592, - "IQD": 1193.946411, - "IRR": 42105, - "ISK": 135.6, - "JEP": 0.749208, - "JMD": 147.241502, - "JOD": 0.709, - "JPY": 104.255, - "KES": 109.91, - "KGS": 84.814716, - "KHR": 4064.007415, - "KMF": 413.62507, - "KPW": 900, - "KRW": 1107.80002, - "KWD": 0.30598, - "KYD": 0.833347, - "KZT": 423.488053, - "LAK": 9276.379975, - "LBP": 1512.176085, - "LKR": 185.12101, - "LRD": 157.250002, - "LSL": 15.200788, - "LYD": 1.353034, - "MAD": 9.096661, - "MDL": 17.221924, - "MGA": 3909.448965, - "MKD": 51.77122, - "MMK": 1315.169225, - "MNT": 2840.535717, - "MOP": 7.984859, - "MRO": 357, - "MRU": 37.08, - "MUR": 39.853062, - "MVR": 15.41, - "MWK": 758.386392, - "MXN": 20.05165, - "MYR": 4.0695, - "MZN": 74.13, - "NAD": 15.28, - "NGN": 381.047523, - "NIO": 34.853884, - "NOK": 8.887729, - "NPR": 118.149105, - "NZD": 1.428869, - "OMR": 0.38501, - "PAB": 1, - "PEN": 3.60445, - "PGK": 3.51928, - "PHP": 48.108, - "PKR": 159.193036, - "PLN": 3.761938, - "PYG": 7049.331237, - "QAR": 3.64125, - "RON": 4.0975, - "RSD": 98.83, - "RUB": 75.695, - "RWF": 988.816167, - "SAR": 3.750463, - "SBD": 8.02131, - "SCR": 20.810848, - "SDG": 55.325, - "SEK": 8.536843, - "SGD": 1.3387, - "SHP": 0.749208, - "SLL": 10167.392806, - "SOS": 578.587253, - "SRD": 14.154, - "SSP": 130.26, - "STD": 20900.544238, - "STN": 20.82, - "SVC": 8.750231, - "SYP": 513.03575, - "SZL": 15.198716, - "THB": 30.282027, - "TJS": 11.328751, - "TMT": 3.51, - "TND": 2.73825, - "TOP": 2.289464, - "TRY": 7.894965, - "TTD": 6.785252, - "TWD": 28.511214, - "TZS": 2319.265, - "UAH": 28.445815, - "UGX": 3700.397298, - "USD": 1, - "UYU": 42.639526, - "UZS": 10362.208722, - "VEF": 248487.642241, - "VES": 916600, - "VND": 23177.147306, - "VUV": 111.952965, - "WST": 2.57281, - "XAF": 551.412185, - "XAG": 0.04281743, - "XAU": 0.00055163, - "XCD": 2.70255, - "XDR": 0.701804, - "XOF": 551.412185, - "XPD": 0.00042446, - "XPF": 100.312942, - "XPT": 0.00104059, - "YER": 250.349961, - "ZAR": 15.220557, - "ZMW": 21.012402, - "ZWL": 322 - } -} \ No newline at end of file + "disclaimer": "Usage subject to terms: https://openexchangerates.org/terms", + "license": "https://openexchangerates.org/license", + "timestamp": 1606395600, + "base": "USD", + "rates": { + "AED": 3.673, + "AFN": 76.932772, + "ALL": 104.063386, + "AMD": 481.616228, + "ANG": 1.795167, + "AOA": 655.8475, + "ARS": 80.799783, + "AUD": 1.358257, + "AWG": 1.8, + "AZN": 1.7025, + "BAM": 1.643361, + "BBD": 2, + "BDT": 84.804658, + "BGN": 1.6442, + "BHD": 0.377092, + "BIF": 1937.803155, + "BMD": 1, + "BND": 1.33852, + "BOB": 6.895827, + "BRL": 5.3516, + "BSD": 1, + "BTC": 0.00005771433, + "BTN": 73.781715, + "BWP": 11.032736, + "BYN": 2.569109, + "BZD": 2.015897, + "CAD": 1.300744, + "CDF": 1965.922948, + "CHF": 0.90882, + "CLF": 0.027728, + "CLP": 765.099489, + "CNH": 6.571982, + "CNY": 6.575, + "COP": 3619.874051, + "CRC": 600.945306, + "CUC": 1.000134, + "CUP": 25.75, + "CVE": 93.15, + "CZK": 21.976033, + "DJF": 178.046302, + "DKK": 6.255944, + "DOP": 58.176342, + "DZD": 128.501426, + "EGP": 15.6966, + "ERN": 14.999905, + "ETB": 38.224749, + "EUR": 0.840622, + "FJD": 2.0726, + "FKP": 0.749208, + "GBP": 0.749208, + "GEL": 3.31, + "GGP": 0.749208, + "GHS": 5.855698, + "GIP": 0.749208, + "GMD": 51.775, + "GNF": 9832.048898, + "GTQ": 7.79841, + "GYD": 209.387141, + "HKD": 7.75079, + "HNL": 24.261852, + "HRK": 6.3513, + "HTG": 65.957793, + "HUF": 303.669311, + "IDR": 14148, + "ILS": 3.321437, + "IMP": 0.749208, + "INR": 73.856592, + "IQD": 1193.946411, + "IRR": 42105, + "ISK": 135.6, + "JEP": 0.749208, + "JMD": 147.241502, + "JOD": 0.709, + "JPY": 104.255, + "KES": 109.91, + "KGS": 84.814716, + "KHR": 4064.007415, + "KMF": 413.62507, + "KPW": 900, + "KRW": 1107.80002, + "KWD": 0.30598, + "KYD": 0.833347, + "KZT": 423.488053, + "LAK": 9276.379975, + "LBP": 1512.176085, + "LKR": 185.12101, + "LRD": 157.250002, + "LSL": 15.200788, + "LYD": 1.353034, + "MAD": 9.096661, + "MDL": 17.221924, + "MGA": 3909.448965, + "MKD": 51.77122, + "MMK": 1315.169225, + "MNT": 2840.535717, + "MOP": 7.984859, + "MRO": 357, + "MRU": 37.08, + "MUR": 39.853062, + "MVR": 15.41, + "MWK": 758.386392, + "MXN": 20.05165, + "MYR": 4.0695, + "MZN": 74.13, + "NAD": 15.28, + "NGN": 381.047523, + "NIO": 34.853884, + "NOK": 8.887729, + "NPR": 118.149105, + "NZD": 1.428869, + "OMR": 0.38501, + "PAB": 1, + "PEN": 3.60445, + "PGK": 3.51928, + "PHP": 48.108, + "PKR": 159.193036, + "PLN": 3.761938, + "PYG": 7049.331237, + "QAR": 3.64125, + "RON": 4.0975, + "RSD": 98.83, + "RUB": 75.695, + "RWF": 988.816167, + "SAR": 3.750463, + "SBD": 8.02131, + "SCR": 20.810848, + "SDG": 55.325, + "SEK": 8.536843, + "SGD": 1.3387, + "SHP": 0.749208, + "SLL": 10167.392806, + "SOS": 578.587253, + "SRD": 14.154, + "SSP": 130.26, + "STD": 20900.544238, + "STN": 20.82, + "SVC": 8.750231, + "SYP": 513.03575, + "SZL": 15.198716, + "THB": 30.282027, + "TJS": 11.328751, + "TMT": 3.51, + "TND": 2.73825, + "TOP": 2.289464, + "TRY": 7.894965, + "TTD": 6.785252, + "TWD": 28.511214, + "TZS": 2319.265, + "UAH": 28.445815, + "UGX": 3700.397298, + "USD": 1, + "UYU": 42.639526, + "UZS": 10362.208722, + "VEF": 248487.642241, + "VES": 916600, + "VND": 23177.147306, + "VUV": 111.952965, + "WST": 2.57281, + "XAF": 551.412185, + "XAG": 0.04281743, + "XAU": 0.00055163, + "XCD": 2.70255, + "XDR": 0.701804, + "XOF": 551.412185, + "XPD": 0.00042446, + "XPF": 100.312942, + "XPT": 0.00104059, + "YER": 250.349961, + "ZAR": 15.220557, + "ZMW": 21.012402, + "ZWL": 322 + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json b/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json index 5feab1574bafd..dc79f040f11a4 100644 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json @@ -18,10 +18,7 @@ "hint": "`Distinct ID aware sampling` will sample based on distinct IDs, meaning that a user's events will all be ingested or all be dropped at a given sample percentage.", "name": "Sampling method", "type": "choice", - "choices": [ - "Random sampling", - "Distinct ID aware sampling" - ], + "choices": ["Random sampling", "Distinct ID aware sampling"], "default": "Distinct ID aware sampling", "required": false } diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js b/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js index 8ba16ecc8fc27..3dc3634357140 100644 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js @@ -41,20 +41,17 @@ test('processEvent filters 0 events at 0 percent', () => { } }) - - test('processEvent filters same events at different increasing percent', () => { - // create an event. Hash generates 0.42 const event0 = createEvent({ distinct_id: '1' }) for (let i = 0; i < 5; i++) { resetMeta({ config: { - percentage: (i*10).toString(), + percentage: (i * 10).toString(), }, }) - // Setup Plugin + // Setup Plugin setupPlugin(getMeta()) const event1 = processEvent(event0, getMeta()) @@ -64,14 +61,13 @@ test('processEvent filters same events at different increasing percent', () => { for (let i = 5; i <= 10; i++) { resetMeta({ config: { - percentage: (i*10).toString(), + percentage: (i * 10).toString(), }, }) - // Setup Plugin + // Setup Plugin setupPlugin(getMeta()) const event1 = processEvent(event0, getMeta()) expect(event1).toEqual(event0) } }) - diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts b/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts index ec89c30bcc745..fc46731805979 100644 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts @@ -12,21 +12,17 @@ export function setupPlugin({ config, global }: PluginMeta) { // /* Runs on every event */ export function processEvent(event: PluginEvent, { global }: PluginMeta) { - // hash is a sha256 hash of the distinct_id represented in base 16 - // We take the first 15 digits, convert this into an integer, + // We take the first 15 digits, convert this into an integer, // dividing by the biggest 15 digit, base 16 number to get a value between 0 and 1. // This is stable, so a distinct_id that was allowed before will continue to be allowed, // even if the percentage increases - let shouldIngestEvent = true if (global.randomSampling) { - shouldIngestEvent = parseInt(Math.random()*100) <= global.percentage + shouldIngestEvent = parseInt(Math.random() * 100) <= global.percentage } else { - const hash = createHash("sha256") - .update(event.distinct_id) - .digest("hex") + const hash = createHash('sha256').update(event.distinct_id).digest('hex') const decisionValue = parseInt(hash.substring(0, 15), 16) / 0xfffffffffffffff shouldIngestEvent = decisionValue <= global.percentage / 100 } diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js index 6ee9d72360b91..31b3cf2842ab6 100644 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js +++ b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js @@ -14,4 +14,4 @@ export function processEvent(event, { config }) { } // Return the event to be ingested, or return null to discard return event -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json index 41136ff0c1b81..2558d024fd062 100644 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json @@ -14,13 +14,13 @@ "name": "Property key to filter on", "type": "string", "required": true - }, - { + }, + { "key": "property_values", "hint": "Which value to match to drop events. Split multiple values by comma to filter.", "name": "Property value to filter on", "type": "string", "required": false - } + } ] } diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json index f2d9505ce8e41..b76eb28156ef2 100644 --- a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json @@ -17,13 +17,10 @@ "name": "Show features button on the page", "hint": "If enabled, a button will be shown on the page that will open the features modal.", "type": "choice", - "choices": [ - "Yes", - "No" - ], + "choices": ["Yes", "No"], "default": "No", "required": false, "site": true } ] -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js index eba53db38e2a3..694f6c473e61a 100644 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js @@ -7,21 +7,21 @@ const nestedEventProperties = { c: { d: { e: { - f: 'nested under e' + f: 'nested under e', }, - z: 'nested under d' + z: 'nested under d', }, - z: 'nested under c' + z: 'nested under c', }, - z: 'nested under b' + z: 'nested under b', }, - z: 'nested under a' + z: 'nested under a', }, w: { - array: [{ z: 'nested in w array' }] + array: [{ z: 'nested in w array' }], }, x: 'not nested', - y: 'not nested either' + y: 'not nested either', } describe('the property flattener', () => { @@ -40,7 +40,7 @@ describe('the property flattener', () => { a__b__c__z: 'nested under c', a__b__z: 'nested under b', a__z: 'nested under a', - w__array__0__z: 'nested in w array' + w__array__0__z: 'nested in w array', } expect(eventsOutput).toEqual(createEvent({ event: 'test', properties: expectedProperties })) @@ -52,10 +52,10 @@ describe('the property flattener', () => { properties: { $elements: [ { tag_name: 'span', nth_child: 1 }, - { tag_name: 'div', nth_child: 1 } + { tag_name: 'div', nth_child: 1 }, ], - $elements_chain: 'span:nth_child="1";div:nth_child="1"' - } + $elements_chain: 'span:nth_child="1";div:nth_child="1"', + }, }) const eventsOutput = await processEvent(event, { config: { separator: '__' } }) @@ -63,9 +63,9 @@ describe('the property flattener', () => { const expectedProperties = { $elements: [ { tag_name: 'span', nth_child: 1 }, - { tag_name: 'div', nth_child: 1 } + { tag_name: 'div', nth_child: 1 }, ], - $elements_chain: 'span:nth_child="1";div:nth_child="1"' + $elements_chain: 'span:nth_child="1";div:nth_child="1"', } expect(eventsOutput).toEqual(createEvent({ event: '$autocapture', properties: expectedProperties })) @@ -75,21 +75,19 @@ describe('the property flattener', () => { const event = createEvent({ event: 'organization usage report', properties: { - any: [ - { nested: 'property' } - ] - } + any: [{ nested: 'property' }], + }, }) const eventsOutput = await processEvent(event, { config: { separator: '__' } }) const expectedProperties = { - any: [ - { nested: 'property' } - ] + any: [{ nested: 'property' }], } - expect(eventsOutput).toEqual(createEvent({ event: 'organization usage report', properties: expectedProperties })) + expect(eventsOutput).toEqual( + createEvent({ event: 'organization usage report', properties: expectedProperties }) + ) }) test('set and set once', async () => { @@ -99,16 +97,16 @@ describe('the property flattener', () => { $set: { example: { company_size: 20, - category: ['a', 'b'] - } + category: ['a', 'b'], + }, }, $set_once: { example: { company_size: 20, - category: ['a', 'b'] - } - } - } + category: ['a', 'b'], + }, + }, + }, }) const eventsOutput = await processEvent(event, { config: { separator: '__' } }) @@ -117,21 +115,21 @@ describe('the property flattener', () => { $set: { example: { company_size: 20, - category: ['a', 'b'] + category: ['a', 'b'], }, example__company_size: 20, example__category__0: 'a', - example__category__1: 'b' + example__category__1: 'b', }, $set_once: { example: { company_size: 20, - category: ['a', 'b'] + category: ['a', 'b'], }, example__company_size: 20, example__category__0: 'a', - example__category__1: 'b' - } + example__category__1: 'b', + }, } expect(eventsOutput.properties).toEqual(expectedProperties) @@ -150,16 +148,16 @@ describe('the property flattener', () => { 'pinterest-ads': false, 'snapchat-ads': false, fairing: false, - slack: false + slack: false, }, pixel: true, pixel_settings: { - allow_auto_install: true + allow_auto_install: true, }, currency: 'USD', - timezone: 'XXX' - } - } + timezone: 'XXX', + }, + }, }) const eventsOutput = await processEvent(event, { config: { separator: '__' } }) @@ -174,11 +172,11 @@ describe('the property flattener', () => { 'pinterest-ads': false, 'snapchat-ads': false, fairing: false, - slack: false + slack: false, }, pixel: true, pixel_settings: { - allow_auto_install: true + allow_auto_install: true, }, currency: 'USD', timezone: 'XXX', @@ -189,11 +187,10 @@ describe('the property flattener', () => { ads__slack: false, 'ads__snapchat-ads': false, 'ads__tiktok-ads': false, - pixel_settings__allow_auto_install: true - } + pixel_settings__allow_auto_install: true, + }, } expect(eventsOutput.properties).toEqual(expectedProperties) }) - -}) \ No newline at end of file +}) diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js b/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js index 82dff81c24ff9..ea9412688e82a 100644 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js @@ -17,7 +17,14 @@ async function processEvent(event, { config }) { return event } -const propertyDenyList = ['$elements', '$elements_chain', '$groups', '$active_feature_flags', '$heatmap_data', '$web_vitals_data'] +const propertyDenyList = [ + '$elements', + '$elements_chain', + '$groups', + '$active_feature_flags', + '$heatmap_data', + '$web_vitals_data', +] const flattenProperties = (props, sep, nestedChain = []) => { let newProps = {} @@ -47,5 +54,5 @@ const flattenProperties = (props, sep, nestedChain = []) => { } module.exports = { - processEvent + processEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json b/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json index 59c0a7613bc78..93c4afb644a35 100644 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json @@ -9,12 +9,7 @@ "hint": "For example, to access the value of 'b' in a: { b: 1 } with separator '__', you can do 'a__b'", "name": "Select a separator format for accessing your nested properties", "type": "choice", - "choices": [ - "__", - ".", - ">", - "/" - ], + "choices": ["__", ".", ">", "/"], "order": 1, "default": "__", "required": true diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json index ed4bf5a6b717d..abb0a519bc623 100644 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json @@ -50,4 +50,4 @@ "required": true } ] -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts index 425af9325deda..4e02616fd324e 100644 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts @@ -13,23 +13,23 @@ const onEvent = async (event: ProcessedPluginEvent, { config, fetch }: PaceMetaI await fetch('https://data.production.paceapp.com/events', { method: 'POST', headers: { - 'Content-Type': 'application/json', - 'x-api-key': config.api_key, + 'Content-Type': 'application/json', + 'x-api-key': config.api_key, }, body: JSON.stringify({ data: { ...event, properties: Object.fromEntries( Object.entries(event.properties || {}).filter(([key, _]) => !key.startsWith('$')) - ) - } - }) - }) + ), + }, + }), + }) } export const pacePlugin: LegacyPlugin = { - id: 'pace', - metadata: metadata as any, - setupPlugin: () => Promise.resolve(), - onEvent, + id: 'pace', + metadata: metadata as any, + setupPlugin: () => Promise.resolve(), + onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json index 2d6bf8706dde6..a2eb508c188eb 100644 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json @@ -62,7 +62,8 @@ "hint": "Any valid CSS color. For example: \"#ff0000\" or \"red\"", "default": "", "site": true - }, { + }, + { "key": "buttonBackground", "name": "Button background", "type": "string", diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json index 67282c19d6775..adfc641ed1987 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json @@ -3,6 +3,5 @@ "url": "https://github.com/PostHog/posthog-hello-world-plugin", "description": "Calculate costs for AI generations events based on the number of tokens.", "main": "dist/index.js", - "config": [ - ] + "config": [] } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts index 958f2659b9868..828d63c723417 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts @@ -3,510 +3,477 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelDetailsMap, ModelRow } from "../../interfaces/Cost"; +import { ModelDetailsMap, ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "claude-instant-1", + { + model: { + operator: 'equals', + value: 'claude-instant-1', + }, + cost: { + prompt_token: 0.00000163, + completion_token: 0.0000551, + }, }, - cost: { - prompt_token: 0.00000163, - completion_token: 0.0000551, + { + model: { + operator: 'equals', + value: 'claude-v1', + }, + cost: { + prompt_token: 0.000008, + completion_token: 0.000024, + }, }, - }, - { - model: { - operator: "equals", - value: "claude-v1", - }, - cost: { - prompt_token: 0.000008, - completion_token: 0.000024, - }, - }, - { - model: { - operator: "equals", - value: "claude-2", + { + model: { + operator: 'equals', + value: 'claude-2', + }, + cost: { + prompt_token: 0.000008, + completion_token: 0.000024, + }, }, - cost: { - prompt_token: 0.000008, - completion_token: 0.000024, - }, - }, - { - model: { - operator: "equals", - value: "claude-instant-1.2", - }, - cost: { - prompt_token: 0.00000163, - completion_token: 0.00000551, - }, - }, - { - model: { - operator: "equals", - value: "claude-2.0", - }, - cost: { - prompt_token: 0.00001102, - completion_token: 0.00003268, - }, - }, - { - model: { - operator: "equals", - value: "claude-3-opus-20240229", + { + model: { + operator: 'equals', + value: 'claude-instant-1.2', + }, + cost: { + prompt_token: 0.00000163, + completion_token: 0.00000551, + }, }, - cost: { - prompt_token: 0.000015, - completion_token: 0.000075, + { + model: { + operator: 'equals', + value: 'claude-2.0', + }, + cost: { + prompt_token: 0.00001102, + completion_token: 0.00003268, + }, }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "claude-3-sonnet-20240229", + { + model: { + operator: 'equals', + value: 'claude-3-opus-20240229', + }, + cost: { + prompt_token: 0.000015, + completion_token: 0.000075, + }, + showInPlayground: true, }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, + { + model: { + operator: 'equals', + value: 'claude-3-sonnet-20240229', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: true, }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "claude-3-5-sonnet-20240620", + { + model: { + operator: 'equals', + value: 'claude-3-5-sonnet-20240620', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: true, }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, + { + model: { + operator: 'equals', + value: 'claude-3-5-sonnet-20241022', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: true, }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "claude-3-5-sonnet-20241022", + { + model: { + operator: 'equals', + value: 'claude-3-haiku-20240307', + }, + cost: { + prompt_token: 0.00000025, + completion_token: 0.00000125, + }, + showInPlayground: true, }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, + { + model: { + operator: 'equals', + value: 'claude-3-5-haiku-20241022', + }, + cost: { + prompt_token: 0.000001, + completion_token: 0.000005, + }, + showInPlayground: true, }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "claude-3-haiku-20240307", - }, - cost: { - prompt_token: 0.00000025, - completion_token: 0.00000125, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "claude-3-5-haiku-20241022", - }, - cost: { - prompt_token: 0.000001, - completion_token: 0.000005, - }, - showInPlayground: true, - }, -]; +] export const modelDetails: ModelDetailsMap = { - "claude-3-opus": { - matches: ["claude-3-opus-20240229"], - searchTerms: ["claude 3 opus", "claude-3-opus", "opus"], - info: { - maxTokens: 200000, - releaseDate: "2024-03-04", - description: - "Claude 3 Opus is Anthropic's most advanced model, demonstrating exceptional performance across complex tasks with near-perfect recall in long-context scenarios and sophisticated capabilities in coding, analysis, and creative work.", - tradeOffs: [ - "Premium pricing reflects advanced capabilities", - "Higher latency due to model complexity", - "Resource-intensive for optimal performance", - ], - benchmarks: { - mmlu: 0.868, - hellaswag: 0.954, - bbh: 0.868, - math: 0.952, - }, - capabilities: [ - "Near-perfect recall with 200k context window", - "Advanced mathematical reasoning and problem-solving", - "Superior code generation and debugging", - "Complex document analysis and summarization", - "Sophisticated data extraction and interpretation", - "Multi-step reasoning tasks", - "Advanced pattern recognition", - ], - strengths: [ - "Exceptional context handling (>99% accuracy in NIAH tests)", - "Strong performance in mathematical tasks (95.2% accuracy)", - "Advanced code generation capabilities (68.4% success rate)", - "Precise document summarization", - "Focused and actionable responses", - "Self-awareness in identifying artificial content", - "Consistent performance across diverse tasks", - ], - weaknesses: [ - "Occasional struggles with PDF data extraction", - "Challenges with heat map interpretation", - "Potential for hallucination in visual analysis", - "May return errors for certain coding edge cases", - "Higher latency compared to lighter models", - ], - recommendations: [ - "Large-context processing applications", - "Complex mathematical and analytical tasks", - "Advanced software development projects", - "Detailed document analysis and summarization", - "Research and academic applications", - "Enterprise-grade AI solutions", - "Tasks requiring high accuracy and reliability", - ], + 'claude-3-opus': { + matches: ['claude-3-opus-20240229'], + searchTerms: ['claude 3 opus', 'claude-3-opus', 'opus'], + info: { + maxTokens: 200000, + releaseDate: '2024-03-04', + description: + "Claude 3 Opus is Anthropic's most advanced model, demonstrating exceptional performance across complex tasks with near-perfect recall in long-context scenarios and sophisticated capabilities in coding, analysis, and creative work.", + tradeOffs: [ + 'Premium pricing reflects advanced capabilities', + 'Higher latency due to model complexity', + 'Resource-intensive for optimal performance', + ], + benchmarks: { + mmlu: 0.868, + hellaswag: 0.954, + bbh: 0.868, + math: 0.952, + }, + capabilities: [ + 'Near-perfect recall with 200k context window', + 'Advanced mathematical reasoning and problem-solving', + 'Superior code generation and debugging', + 'Complex document analysis and summarization', + 'Sophisticated data extraction and interpretation', + 'Multi-step reasoning tasks', + 'Advanced pattern recognition', + ], + strengths: [ + 'Exceptional context handling (>99% accuracy in NIAH tests)', + 'Strong performance in mathematical tasks (95.2% accuracy)', + 'Advanced code generation capabilities (68.4% success rate)', + 'Precise document summarization', + 'Focused and actionable responses', + 'Self-awareness in identifying artificial content', + 'Consistent performance across diverse tasks', + ], + weaknesses: [ + 'Occasional struggles with PDF data extraction', + 'Challenges with heat map interpretation', + 'Potential for hallucination in visual analysis', + 'May return errors for certain coding edge cases', + 'Higher latency compared to lighter models', + ], + recommendations: [ + 'Large-context processing applications', + 'Complex mathematical and analytical tasks', + 'Advanced software development projects', + 'Detailed document analysis and summarization', + 'Research and academic applications', + 'Enterprise-grade AI solutions', + 'Tasks requiring high accuracy and reliability', + ], + }, }, - }, - "claude-3-sonnet": { - matches: [ - "claude-3-sonnet-20240229", - "claude-3-5-sonnet-20240620", - "claude-3-5-sonnet-20241022", - ], - searchTerms: [ - "claude 3 sonnet", - "claude-3-sonnet", - "sonnet", - "claude 3.5 sonnet", - ], - info: { - maxTokens: 200000, - releaseDate: "2024-03-04", - description: - "Claude 3 Sonnet offers a strong balance of intelligence and speed, suitable for most use cases.", - tradeOffs: [ - "Lower cost than Opus", - "Slightly reduced capabilities compared to Opus", - ], - benchmarks: { - mmlu: 0.887, // 88.7% on MMLU - hellaswag: 0.89, // 89% on HellaSwag - bbh: 0.931, - }, - capabilities: [ - "General reasoning and analysis", - "Code generation and review", - "Content creation and editing", - "Task automation", - "Data analysis", - ], - strengths: [ - "Balanced performance profile", - "Reliable output quality", - "Good response speed", - "Strong general knowledge", - "Versatile across many tasks", - ], - weaknesses: [ - "May need guidance on complex tasks", - "Less specialized than Opus", - "Moderate processing speed", - ], - recommendations: [ - "General purpose development", - "Content creation and editing", - "Business analysis", - "Educational applications", - "Daily productivity tasks", - ], + 'claude-3-sonnet': { + matches: ['claude-3-sonnet-20240229', 'claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20241022'], + searchTerms: ['claude 3 sonnet', 'claude-3-sonnet', 'sonnet', 'claude 3.5 sonnet'], + info: { + maxTokens: 200000, + releaseDate: '2024-03-04', + description: + 'Claude 3 Sonnet offers a strong balance of intelligence and speed, suitable for most use cases.', + tradeOffs: ['Lower cost than Opus', 'Slightly reduced capabilities compared to Opus'], + benchmarks: { + mmlu: 0.887, // 88.7% on MMLU + hellaswag: 0.89, // 89% on HellaSwag + bbh: 0.931, + }, + capabilities: [ + 'General reasoning and analysis', + 'Code generation and review', + 'Content creation and editing', + 'Task automation', + 'Data analysis', + ], + strengths: [ + 'Balanced performance profile', + 'Reliable output quality', + 'Good response speed', + 'Strong general knowledge', + 'Versatile across many tasks', + ], + weaknesses: [ + 'May need guidance on complex tasks', + 'Less specialized than Opus', + 'Moderate processing speed', + ], + recommendations: [ + 'General purpose development', + 'Content creation and editing', + 'Business analysis', + 'Educational applications', + 'Daily productivity tasks', + ], + }, }, - }, - "claude-3-haiku": { - matches: ["claude-3-haiku-20240307", "claude-3-5-haiku-20241022"], - searchTerms: [ - "claude 3 haiku", - "claude-3-haiku", - "haiku", - "claude 3.5 haiku", - ], - info: { - maxTokens: 200000, - releaseDate: "2024-03-04", - description: - "Claude 3 Haiku is optimized for rapid response times and high throughput, delivering impressive speed while maintaining reliable performance. It excels in scenarios requiring quick interactions and efficient processing of straightforward tasks.", - tradeOffs: [ - "Optimized for speed and efficiency", - "Excellent performance-to-cost ratio", - "Best suited for high-throughput applications", - "Balance of speed and reliability", - ], - benchmarks: { - mmlu: 0.752, - hellaswag: 0.859, - bbh: 0.737, - }, - capabilities: [ - "High-speed token generation (134 tokens/sec)", - "Low latency responses (0.43s to first token)", - "Efficient streaming support", - "Function/tool calling", - "JSON mode support", - "Parallel query processing", - "Context window handling up to 200k tokens", - ], - strengths: [ - "Superior output speed (134.2 tokens/second)", - "Minimal latency (0.43s TTFT)", - "Consistent performance across context lengths", - "Efficient resource utilization", - "Cost-effective processing", - "Reliable API features", - "Stable performance over time", - ], - weaknesses: [ - "Performance varies with input length", - "Latency increases with context size", - "Lower quality index compared to larger models", - "Variable speed with parallel processing", - "Response time sensitivity to input complexity", - ], - recommendations: [ - "Real-time applications", - "Customer service automation", - "Quick content checks", - "Simple queries and responses", - "High-volume, straightforward tasks", - ], + 'claude-3-haiku': { + matches: ['claude-3-haiku-20240307', 'claude-3-5-haiku-20241022'], + searchTerms: ['claude 3 haiku', 'claude-3-haiku', 'haiku', 'claude 3.5 haiku'], + info: { + maxTokens: 200000, + releaseDate: '2024-03-04', + description: + 'Claude 3 Haiku is optimized for rapid response times and high throughput, delivering impressive speed while maintaining reliable performance. It excels in scenarios requiring quick interactions and efficient processing of straightforward tasks.', + tradeOffs: [ + 'Optimized for speed and efficiency', + 'Excellent performance-to-cost ratio', + 'Best suited for high-throughput applications', + 'Balance of speed and reliability', + ], + benchmarks: { + mmlu: 0.752, + hellaswag: 0.859, + bbh: 0.737, + }, + capabilities: [ + 'High-speed token generation (134 tokens/sec)', + 'Low latency responses (0.43s to first token)', + 'Efficient streaming support', + 'Function/tool calling', + 'JSON mode support', + 'Parallel query processing', + 'Context window handling up to 200k tokens', + ], + strengths: [ + 'Superior output speed (134.2 tokens/second)', + 'Minimal latency (0.43s TTFT)', + 'Consistent performance across context lengths', + 'Efficient resource utilization', + 'Cost-effective processing', + 'Reliable API features', + 'Stable performance over time', + ], + weaknesses: [ + 'Performance varies with input length', + 'Latency increases with context size', + 'Lower quality index compared to larger models', + 'Variable speed with parallel processing', + 'Response time sensitivity to input complexity', + ], + recommendations: [ + 'Real-time applications', + 'Customer service automation', + 'Quick content checks', + 'Simple queries and responses', + 'High-volume, straightforward tasks', + ], + }, }, - }, - "claude-2": { - matches: ["claude-2", "claude-2.0"], - searchTerms: ["claude 2", "claude-2"], - info: { - maxTokens: 200000, - releaseDate: "2023-07-11", - description: - "Claude 2 is Anthropic's previous generation model, offering reliable performance for various tasks.", - tradeOffs: [ - "More affordable than Claude 3", - "Less capable than newer models", - ], - benchmarks: {}, - capabilities: [ - "General text generation", - "Basic analysis", - "Code assistance", - "Content creation", - "Task automation", - ], - strengths: [ - "Stable performance", - "Reliable outputs", - "Good general knowledge", - "Cost-effective", - "Proven track record", - ], - weaknesses: [ - "Older architecture", - "Limited advanced features", - "Less refined outputs", - ], - recommendations: [ - "Legacy applications", - "Basic automation", - "General text processing", - "Simple analysis tasks", - "Standard content creation", - ], + 'claude-2': { + matches: ['claude-2', 'claude-2.0'], + searchTerms: ['claude 2', 'claude-2'], + info: { + maxTokens: 200000, + releaseDate: '2023-07-11', + description: + "Claude 2 is Anthropic's previous generation model, offering reliable performance for various tasks.", + tradeOffs: ['More affordable than Claude 3', 'Less capable than newer models'], + benchmarks: {}, + capabilities: [ + 'General text generation', + 'Basic analysis', + 'Code assistance', + 'Content creation', + 'Task automation', + ], + strengths: [ + 'Stable performance', + 'Reliable outputs', + 'Good general knowledge', + 'Cost-effective', + 'Proven track record', + ], + weaknesses: ['Older architecture', 'Limited advanced features', 'Less refined outputs'], + recommendations: [ + 'Legacy applications', + 'Basic automation', + 'General text processing', + 'Simple analysis tasks', + 'Standard content creation', + ], + }, }, - }, - "claude-instant": { - matches: ["claude-instant-1", "claude-instant-1.2"], - searchTerms: ["claude instant", "claude-instant"], - info: { - maxTokens: 100000, - releaseDate: "2023-08-09", - description: - "Claude Instant is Anthropic's faster, lighter previous generation model.", - tradeOffs: [ - "Fastest response times in Claude 2 series", - "Most affordable", - "Reduced capabilities", - ], - benchmarks: { - mmlu: 0.734, - }, - capabilities: [ - "Quick responses", - "Basic text processing", - "Simple queries", - "Lightweight tasks", - "Efficient processing", - ], - strengths: [ - "Fast processing speed", - "Resource efficient", - "Cost-effective", - "Consistent performance", - "Low latency", - ], - weaknesses: [ - "Basic capabilities only", - "Limited analysis depth", - "Simpler responses", - ], - recommendations: [ - "Quick response systems", - "Basic chatbots", - "Simple automation", - "High-volume processing", - "Efficient text handling", - ], + 'claude-instant': { + matches: ['claude-instant-1', 'claude-instant-1.2'], + searchTerms: ['claude instant', 'claude-instant'], + info: { + maxTokens: 100000, + releaseDate: '2023-08-09', + description: "Claude Instant is Anthropic's faster, lighter previous generation model.", + tradeOffs: ['Fastest response times in Claude 2 series', 'Most affordable', 'Reduced capabilities'], + benchmarks: { + mmlu: 0.734, + }, + capabilities: [ + 'Quick responses', + 'Basic text processing', + 'Simple queries', + 'Lightweight tasks', + 'Efficient processing', + ], + strengths: [ + 'Fast processing speed', + 'Resource efficient', + 'Cost-effective', + 'Consistent performance', + 'Low latency', + ], + weaknesses: ['Basic capabilities only', 'Limited analysis depth', 'Simpler responses'], + recommendations: [ + 'Quick response systems', + 'Basic chatbots', + 'Simple automation', + 'High-volume processing', + 'Efficient text handling', + ], + }, }, - }, - "claude-3.5-sonnet": { - matches: ["claude-3-5-sonnet-20240620", "claude-3-5-sonnet-20241022"], - searchTerms: ["claude 3.5 sonnet", "claude-3-5-sonnet"], - info: { - maxTokens: 200000, - releaseDate: "2024-06-20", - description: - "Claude 3.5 Sonnet is Anthropic's latest model, delivering enhanced performance with optimized speed and efficiency. It excels in graduate-level reasoning, undergraduate knowledge, and code generation while maintaining high throughput.", - tradeOffs: [ - "Balanced performance-to-cost ratio", - "Optimized for production workloads", - "High throughput with moderate latency", - "Strong accuracy with reasonable resource usage", - ], - benchmarks: { - mmlu: 0.887, - hellaswag: 0.89, - bbh: 0.931, - multilingual_math: 0.916, // 91.6% on multilingual math tasks - reasoning_over_text: 0.871, // 87.1% on reasoning over text - }, - capabilities: [ - "Advanced graduate-level reasoning", - "Strong undergraduate knowledge base", - "Superior code generation and review", - "Complex data extraction and analysis", - "Multi-step problem solving", - "High-accuracy classification tasks", - "Efficient document processing", - ], - strengths: [ - "Exceptional coding performance", - "High precision in classification (85%)", - "Strong data extraction capabilities", - "Efficient throughput (~79 tokens/second)", - "Reliable performance on complex tasks", - "Excellent multilingual math processing", - "Superior text reasoning abilities", - ], - weaknesses: [ - "Lower performance on abstract reasoning puzzles", - "Struggles with numerical and date-related questions", - "May introduce regressions in certain classification scenarios", - "Requires clear prompting for optimal performance", - "Variable performance on complex extraction tasks", - ], - recommendations: [ - "Production-grade applications requiring reliability", - "Code generation and review systems", - "Complex data extraction pipelines", - "High-accuracy classification systems", - "Document analysis and processing", - "Educational and academic applications", - "Enterprise-scale deployments", - ], + 'claude-3.5-sonnet': { + matches: ['claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20241022'], + searchTerms: ['claude 3.5 sonnet', 'claude-3-5-sonnet'], + info: { + maxTokens: 200000, + releaseDate: '2024-06-20', + description: + "Claude 3.5 Sonnet is Anthropic's latest model, delivering enhanced performance with optimized speed and efficiency. It excels in graduate-level reasoning, undergraduate knowledge, and code generation while maintaining high throughput.", + tradeOffs: [ + 'Balanced performance-to-cost ratio', + 'Optimized for production workloads', + 'High throughput with moderate latency', + 'Strong accuracy with reasonable resource usage', + ], + benchmarks: { + mmlu: 0.887, + hellaswag: 0.89, + bbh: 0.931, + multilingual_math: 0.916, // 91.6% on multilingual math tasks + reasoning_over_text: 0.871, // 87.1% on reasoning over text + }, + capabilities: [ + 'Advanced graduate-level reasoning', + 'Strong undergraduate knowledge base', + 'Superior code generation and review', + 'Complex data extraction and analysis', + 'Multi-step problem solving', + 'High-accuracy classification tasks', + 'Efficient document processing', + ], + strengths: [ + 'Exceptional coding performance', + 'High precision in classification (85%)', + 'Strong data extraction capabilities', + 'Efficient throughput (~79 tokens/second)', + 'Reliable performance on complex tasks', + 'Excellent multilingual math processing', + 'Superior text reasoning abilities', + ], + weaknesses: [ + 'Lower performance on abstract reasoning puzzles', + 'Struggles with numerical and date-related questions', + 'May introduce regressions in certain classification scenarios', + 'Requires clear prompting for optimal performance', + 'Variable performance on complex extraction tasks', + ], + recommendations: [ + 'Production-grade applications requiring reliability', + 'Code generation and review systems', + 'Complex data extraction pipelines', + 'High-accuracy classification systems', + 'Document analysis and processing', + 'Educational and academic applications', + 'Enterprise-scale deployments', + ], + }, }, - }, - "claude-3.5-haiku": { - matches: ["claude-3-5-haiku-20241022"], - searchTerms: ["claude 3.5 haiku", "claude-3-5-haiku"], - info: { - maxTokens: 200000, - releaseDate: "2024-10-22", - description: - "Claude 3.5 Haiku represents a significant advancement in high-throughput, cost-effective AI processing. It delivers enhanced performance over its predecessor while maintaining exceptional speed and efficiency, making it ideal for large-scale applications requiring quick responses.", - tradeOffs: [ - "Optimized for maximum throughput", - "Enhanced speed-to-performance ratio", - "Improved cost efficiency", - "Better balance of speed and accuracy", - ], - benchmarks: { - quality_index: 62, // Improved Quality Index over Claude 3 Haiku - throughput: 145, // tokens per second - ttft: 0.39, // Time to First Token in seconds - }, - capabilities: [ - "Enhanced token generation speed (145 tokens/sec)", - "Reduced latency (0.39s to first token)", - "Improved parallel processing", - "Advanced streaming capabilities", - "Robust function calling", - "Enhanced JSON mode reliability", - "Efficient context handling up to 200k tokens", - "Improved error handling", - ], - strengths: [ - "Superior throughput (145 tokens/second)", - "Minimal startup latency (0.39s TTFT)", - "Enhanced stability under load", - "Improved response consistency", - "Better error recovery", - "More reliable streaming", - "Enhanced parallel processing capabilities", - "Optimized resource utilization", - ], - weaknesses: [ - "Performance degradation with very long contexts", - "Variability in complex reasoning tasks", - "May struggle with nuanced analysis", - "Limited creative capabilities", - "Reduced performance in edge cases", - ], - recommendations: [ - "High-volume API services", - "Real-time chat systems", - "Large-scale data processing", - "Streaming applications", - "Cost-sensitive deployments", - "Quick-response systems", - "Parallel processing workflows", - "Resource-constrained environments", - ], + 'claude-3.5-haiku': { + matches: ['claude-3-5-haiku-20241022'], + searchTerms: ['claude 3.5 haiku', 'claude-3-5-haiku'], + info: { + maxTokens: 200000, + releaseDate: '2024-10-22', + description: + 'Claude 3.5 Haiku represents a significant advancement in high-throughput, cost-effective AI processing. It delivers enhanced performance over its predecessor while maintaining exceptional speed and efficiency, making it ideal for large-scale applications requiring quick responses.', + tradeOffs: [ + 'Optimized for maximum throughput', + 'Enhanced speed-to-performance ratio', + 'Improved cost efficiency', + 'Better balance of speed and accuracy', + ], + benchmarks: { + quality_index: 62, // Improved Quality Index over Claude 3 Haiku + throughput: 145, // tokens per second + ttft: 0.39, // Time to First Token in seconds + }, + capabilities: [ + 'Enhanced token generation speed (145 tokens/sec)', + 'Reduced latency (0.39s to first token)', + 'Improved parallel processing', + 'Advanced streaming capabilities', + 'Robust function calling', + 'Enhanced JSON mode reliability', + 'Efficient context handling up to 200k tokens', + 'Improved error handling', + ], + strengths: [ + 'Superior throughput (145 tokens/second)', + 'Minimal startup latency (0.39s TTFT)', + 'Enhanced stability under load', + 'Improved response consistency', + 'Better error recovery', + 'More reliable streaming', + 'Enhanced parallel processing capabilities', + 'Optimized resource utilization', + ], + weaknesses: [ + 'Performance degradation with very long contexts', + 'Variability in complex reasoning tasks', + 'May struggle with nuanced analysis', + 'Limited creative capabilities', + 'Reduced performance in edge cases', + ], + recommendations: [ + 'High-volume API services', + 'Real-time chat systems', + 'Large-scale data processing', + 'Streaming applications', + 'Cost-sensitive deployments', + 'Quick-response systems', + 'Parallel processing workflows', + 'Resource-constrained environments', + ], + }, }, - }, -}; +} -const reverseModelMap: { [key: string]: string } = {}; +const reverseModelMap: { [key: string]: string } = {} for (const parentModel in modelDetails) { - const details = modelDetails[parentModel]; - details.matches.forEach((modelName) => { - reverseModelMap[modelName] = parentModel; - }); + const details = modelDetails[parentModel] + details.matches.forEach((modelName) => { + reverseModelMap[modelName] = parentModel + }) } export const anthropicProvider = { - costs, - modelDetails, - reverseModelMap, -}; + costs, + modelDetails, + reverseModelMap, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts index 570a7385d8117..851b03f498861 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts @@ -2,17 +2,17 @@ * * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "meta.llama3-8b-instruct-v1%3A0", + { + model: { + operator: 'equals', + value: 'meta.llama3-8b-instruct-v1%3A0', + }, + cost: { + prompt_token: 0.00022, + completion_token: 0.00072, + }, }, - cost: { - prompt_token: 0.00022, - completion_token: 0.00072, - }, - }, -]; +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts index fedde26a87662..6fc47a922a0ab 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts @@ -2,97 +2,97 @@ * * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "gpt-4-turbo-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: "equals", - value: "gpt-45-turbo", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: "equals", - value: "gpt4-turbo-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: "equals", - value: "gpt-4-preview-1106", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: "equals", - value: "gpt-35-turbo-1106", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: "equals", - value: "gpt35", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: "equals", - value: "gpt-35-turbo-0613", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: "equals", - value: "gpt-35-16k", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - }, - { - model: { - operator: "equals", - value: "gpt-4-vision", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'gpt-4-turbo-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-45-turbo', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt4-turbo-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-preview-1106', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-35-turbo-1106', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt35', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-35-turbo-0613', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-35-16k', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-vision', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts index aaed678e857e6..7d914cfe13d27 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts @@ -3,17 +3,17 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "cohere/command-r", + { + model: { + operator: 'equals', + value: 'cohere/command-r', + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000015, + }, }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000015, - }, - }, -]; +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts index 0962a3f8ded87..c5828d46b5f86 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts @@ -1,208 +1,204 @@ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "accounts/fireworks/models/mixtral-8x7b-instruct", - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000005, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/mixtral-8x22b-instruct", - }, - cost: { - prompt_token: 0.0000012, - completion_token: 0.0000012, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/yi-large", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000003, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/sd3", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/sd3-medium", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/stable-diffusion-xl-1024-v1-0", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/playground-v2-1024px-aesthetic", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/playground-v2-5-1024px-aesthetic", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/SSD-1B", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/japanese-stable-diffusion-xl", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/sd3-turbo", - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/sd3-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/sd3-medium-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: - "accounts/fireworks/models/stable-diffusion-xl-1024-v1-0-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: - "accounts/fireworks/models/playground-v2-1024px-aesthetic-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: - "accounts/fireworks/models/playground-v2-5-1024px-aesthetic-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/SSD-1B-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: - "accounts/fireworks/models/japanese-stable-diffusion-xl-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/sd3-turbo-ControlNet", - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: "equals", - value: "accounts/fireworks/models/llama-v3p1-405b-instruct", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000003, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/mixtral-8x7b-instruct', + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000005, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/mixtral-8x22b-instruct', + }, + cost: { + prompt_token: 0.0000012, + completion_token: 0.0000012, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/yi-large', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000003, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/sd3', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/sd3-medium', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/playground-v2-1024px-aesthetic', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/SSD-1B', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/japanese-stable-diffusion-xl', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/sd3-turbo', + }, + cost: { + prompt_token: 0.00013, + completion_token: 0.00013, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/sd3-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/sd3-medium-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/playground-v2-1024px-aesthetic-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/SSD-1B-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/japanese-stable-diffusion-xl-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/sd3-turbo-ControlNet', + }, + cost: { + prompt_token: 0.0002, + completion_token: 0.0002, + }, + }, + { + model: { + operator: 'equals', + value: 'accounts/fireworks/models/llama-v3p1-405b-instruct', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000003, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts index d26aaa9c3bd72..8e07a6d1bc303 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts @@ -3,78 +3,78 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "includes", - value: "gemini-pro", + { + model: { + operator: 'includes', + value: 'gemini-pro', + }, + cost: { + prompt_token: 0.000000125, + completion_token: 0.000000375, + }, }, - cost: { - prompt_token: 0.000000125, - completion_token: 0.000000375, + { + model: { + operator: 'equals', + value: 'gemini-1.0-pro-vision-001', + }, + cost: { + prompt_token: 0.000000125, + completion_token: 0.000000375, + }, }, - }, - { - model: { - operator: "equals", - value: "gemini-1.0-pro-vision-001", + { + model: { + operator: 'equals', + value: 'gemini-1.0-pro', + }, + cost: { + prompt_token: 0.000000125, + completion_token: 0.000000375, + }, }, - cost: { - prompt_token: 0.000000125, - completion_token: 0.000000375, + { + model: { + operator: 'includes', + value: 'gemini-1.5-flash', + }, + cost: { + prompt_token: 0.00000035, + completion_token: 0.00000105, + }, }, - }, - { - model: { - operator: "equals", - value: "gemini-1.0-pro", + { + model: { + operator: 'equals', + value: 'gemini-flash-1.5-8b', + }, + cost: { + prompt_token: 3.75e-8, + completion_token: 1.5e-7, + }, }, - cost: { - prompt_token: 0.000000125, - completion_token: 0.000000375, + { + model: { + operator: 'includes', + value: 'gemini-1.5-pro', + }, + cost: { + prompt_token: 0.0000035, + completion_token: 0.0000105, + }, }, - }, - { - model: { - operator: "includes", - value: "gemini-1.5-flash", + { + model: { + operator: 'equals', + value: 'claude-3-5-sonnet-v2@20241022', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000015, + }, + showInPlayground: false, }, - cost: { - prompt_token: 0.00000035, - completion_token: 0.00000105, - }, - }, - { - model: { - operator: "equals", - value: "gemini-flash-1.5-8b", - }, - cost: { - prompt_token: 3.75e-8, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: "includes", - value: "gemini-1.5-pro", - }, - cost: { - prompt_token: 0.0000035, - completion_token: 0.0000105, - }, - }, - { - model: { - operator: "equals", - value: "claude-3-5-sonnet-v2@20241022", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, - }, - showInPlayground: false, - }, -]; +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts index 9348571d1129e..553e86b20e94e 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts @@ -3,87 +3,87 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "llama2-70b-4096", - }, - cost: { - prompt_token: 0.0000007, - completion_token: 0.0000008, - }, - }, - { - model: { - operator: "equals", - value: "mixtral-8x7b-32768", - }, - cost: { - prompt_token: 0.00000024, - completion_token: 0.00000024, - }, - }, - { - model: { - operator: "equals", - value: "gemma-7b-it", - }, - cost: { - prompt_token: 0.00000007, - completion_token: 0.00000007, - }, - }, - { - model: { - operator: "equals", - value: "gemma2-9b-it", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "llama3-70b-8192", - }, - cost: { - prompt_token: 0.00000059, - completion_token: 0.00000079, - }, - }, - { - model: { - operator: "equals", - value: "llama3-8b-8192", - }, - cost: { - prompt_token: 0.00000005, - completion_token: 0.00000008, - }, - }, - { - model: { - operator: "equals", - value: "llama3-groq-70b-8192-tool-use-preview", - }, - cost: { - prompt_token: 0.00000089, - completion_token: 0.00000089, - }, - }, - { - model: { - operator: "equals", - value: "llama3-groq-8b-8192-tool-use-preview", - }, - cost: { - prompt_token: 0.00000019, - completion_token: 0.00000019, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'llama2-70b-4096', + }, + cost: { + prompt_token: 0.0000007, + completion_token: 0.0000008, + }, + }, + { + model: { + operator: 'equals', + value: 'mixtral-8x7b-32768', + }, + cost: { + prompt_token: 0.00000024, + completion_token: 0.00000024, + }, + }, + { + model: { + operator: 'equals', + value: 'gemma-7b-it', + }, + cost: { + prompt_token: 0.00000007, + completion_token: 0.00000007, + }, + }, + { + model: { + operator: 'equals', + value: 'gemma2-9b-it', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: 'equals', + value: 'llama3-70b-8192', + }, + cost: { + prompt_token: 0.00000059, + completion_token: 0.00000079, + }, + }, + { + model: { + operator: 'equals', + value: 'llama3-8b-8192', + }, + cost: { + prompt_token: 0.00000005, + completion_token: 0.00000008, + }, + }, + { + model: { + operator: 'equals', + value: 'llama3-groq-70b-8192-tool-use-preview', + }, + cost: { + prompt_token: 0.00000089, + completion_token: 0.00000089, + }, + }, + { + model: { + operator: 'equals', + value: 'llama3-groq-8b-8192-tool-use-preview', + }, + cost: { + prompt_token: 0.00000019, + completion_token: 0.00000019, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts index 30668e2213d1b..e56f6089dc2a8 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts @@ -1,237 +1,234 @@ -import { costs as fineTunedOpenAICosts } from "./openai/fine-tuned-models"; -import { costs as togetherAIChatCosts } from "./togetherai/chat"; -import { costs as togetherAIChatLlamaCosts } from "./togetherai/chat/llama"; -import { costs as togetherAICompletionCosts } from "./togetherai/completion"; -import { costs as togetherAICompletionLlamaCosts } from "./togetherai/completion"; -import { costs as azureCosts } from "./azure"; -import { costs as googleCosts } from "./google"; -import { costs as cohereCosts } from "./cohere"; -import { costs as mistralCosts } from "./mistral"; -import { costs as openRouterCosts } from "./openrouter"; -import { costs as fireworksAICosts } from "./fireworks"; -import { costs as groqCosts } from "./groq"; -import { ModelDetailsMap, ModelRow } from "../interfaces/Cost"; -import { costs as qstashCosts } from "./qstash"; -import { openAIProvider } from "./openai"; -import { anthropicProvider } from "./anthropic"; -import { costs as awsBedrockCosts } from "./awsBedrock"; +import { costs as fineTunedOpenAICosts } from './openai/fine-tuned-models' +import { costs as togetherAIChatCosts } from './togetherai/chat' +import { costs as togetherAIChatLlamaCosts } from './togetherai/chat/llama' +import { costs as togetherAICompletionCosts } from './togetherai/completion' +import { costs as togetherAICompletionLlamaCosts } from './togetherai/completion' +import { costs as azureCosts } from './azure' +import { costs as googleCosts } from './google' +import { costs as cohereCosts } from './cohere' +import { costs as mistralCosts } from './mistral' +import { costs as openRouterCosts } from './openrouter' +import { costs as fireworksAICosts } from './fireworks' +import { costs as groqCosts } from './groq' +import { ModelDetailsMap, ModelRow } from '../interfaces/Cost' +import { costs as qstashCosts } from './qstash' +import { openAIProvider } from './openai' +import { anthropicProvider } from './anthropic' +import { costs as awsBedrockCosts } from './awsBedrock' -const openAiPattern = /^https:\/\/api\.openai\.com/; -const anthropicPattern = /^https:\/\/api\.anthropic\.com/; -const azurePattern = - /^(https?:\/\/)?([^.]*\.)?(openai\.azure\.com|azure-api\.net)(\/.*)?$/; -const localProxyPattern = /^http:\/\/127\.0\.0\.1:\d+\/v\d+\/?$/; -const heliconeProxyPattern = /^https:\/\/oai\.hconeai\.com/; -const amdbartekPattern = /^https:\/\/.*\.amdbartek\.dev/; -const anyscalePattern = /^https:\/\/api\.endpoints\.anyscale\.com/; -const cloudflareAiGatewayPattern = /^https:\/\/gateway\.ai\.cloudflare\.com/; -const twoYFV = /^https:\/\/api\.2yfv\.com/; -const togetherPattern = /^https:\/\/api\.together\.xyz/; -const lemonFox = /^https:\/\/api\.lemonfox\.ai/; -const fireworks = /^https:\/\/api\.fireworks\.ai/; -const perplexity = /^https:\/\/api\.perplexity\.ai/; -const googleapis = /^https:\/\/(.*\.)?googleapis\.com/; +const openAiPattern = /^https:\/\/api\.openai\.com/ +const anthropicPattern = /^https:\/\/api\.anthropic\.com/ +const azurePattern = /^(https?:\/\/)?([^.]*\.)?(openai\.azure\.com|azure-api\.net)(\/.*)?$/ +const localProxyPattern = /^http:\/\/127\.0\.0\.1:\d+\/v\d+\/?$/ +const heliconeProxyPattern = /^https:\/\/oai\.hconeai\.com/ +const amdbartekPattern = /^https:\/\/.*\.amdbartek\.dev/ +const anyscalePattern = /^https:\/\/api\.endpoints\.anyscale\.com/ +const cloudflareAiGatewayPattern = /^https:\/\/gateway\.ai\.cloudflare\.com/ +const twoYFV = /^https:\/\/api\.2yfv\.com/ +const togetherPattern = /^https:\/\/api\.together\.xyz/ +const lemonFox = /^https:\/\/api\.lemonfox\.ai/ +const fireworks = /^https:\/\/api\.fireworks\.ai/ +const perplexity = /^https:\/\/api\.perplexity\.ai/ +const googleapis = /^https:\/\/(.*\.)?googleapis\.com/ // openrouter.ai or api.openrouter.ai -const openRouter = /^https:\/\/(api\.)?openrouter\.ai/; +const openRouter = /^https:\/\/(api\.)?openrouter\.ai/ //api.wisdominanutshell.academy -const wisdomInANutshell = /^https:\/\/api\.wisdominanutshell\.academy/; +const wisdomInANutshell = /^https:\/\/api\.wisdominanutshell\.academy/ // api.groq.com -const groq = /^https:\/\/api\.groq\.com/; +const groq = /^https:\/\/api\.groq\.com/ // cohere.ai -const cohere = /^https:\/\/api\.cohere\.ai/; +const cohere = /^https:\/\/api\.cohere\.ai/ // api.mistral.ai -const mistral = /^https:\/\/api\.mistral\.ai/; +const mistral = /^https:\/\/api\.mistral\.ai/ // https://api.deepinfra.com -const deepinfra = /^https:\/\/api\.deepinfra\.com/; +const deepinfra = /^https:\/\/api\.deepinfra\.com/ //https://qstash.upstash.io/llm -const qstash = /^https:\/\/qstash\.upstash\.io/; +const qstash = /^https:\/\/qstash\.upstash\.io/ //https://www.firecrawl.dev/ -const firecrawl = /^https:\/\/api\.firecrawl\.dev/; +const firecrawl = /^https:\/\/api\.firecrawl\.dev/ // https://bedrock-runtime.{some-region}.amazonaws.com/{something-after} -const awsBedrock = /^https:\/\/bedrock-runtime\.[a-z0-9-]+\.amazonaws\.com\/.*/; +const awsBedrock = /^https:\/\/bedrock-runtime\.[a-z0-9-]+\.amazonaws\.com\/.*/ export const providersNames = [ - "OPENAI", - "ANTHROPIC", - "AZURE", - "LOCAL", - "HELICONE", - "AMDBARTEK", - "ANYSCALE", - "CLOUDFLARE", - "2YFV", - "TOGETHER", - "LEMONFOX", - "FIREWORKS", - "PERPLEXITY", - "GOOGLE", - "OPENROUTER", - "WISDOMINANUTSHELL", - "GROQ", - "COHERE", - "MISTRAL", - "DEEPINFRA", - "QSTASH", - "FIRECRAWL", - "AWS", -] as const; + 'OPENAI', + 'ANTHROPIC', + 'AZURE', + 'LOCAL', + 'HELICONE', + 'AMDBARTEK', + 'ANYSCALE', + 'CLOUDFLARE', + '2YFV', + 'TOGETHER', + 'LEMONFOX', + 'FIREWORKS', + 'PERPLEXITY', + 'GOOGLE', + 'OPENROUTER', + 'WISDOMINANUTSHELL', + 'GROQ', + 'COHERE', + 'MISTRAL', + 'DEEPINFRA', + 'QSTASH', + 'FIRECRAWL', + 'AWS', +] as const -export type ProviderName = (typeof providersNames)[number]; +export type ProviderName = (typeof providersNames)[number] -export type ModelNames = (typeof modelNames)[number]; +export type ModelNames = (typeof modelNames)[number] export const providers: { - pattern: RegExp; - provider: ProviderName; - costs?: ModelRow[]; - modelDetails?: ModelDetailsMap; + pattern: RegExp + provider: ProviderName + costs?: ModelRow[] + modelDetails?: ModelDetailsMap }[] = [ - { - pattern: openAiPattern, - provider: "OPENAI", - costs: [...openAIProvider.costs, ...fineTunedOpenAICosts], - modelDetails: openAIProvider.modelDetails, - }, - { - pattern: anthropicPattern, - provider: "ANTHROPIC", - costs: anthropicProvider.costs, - modelDetails: anthropicProvider.modelDetails, - }, - { - pattern: azurePattern, - provider: "AZURE", - costs: [...azureCosts, ...openAIProvider.costs], - }, - { - pattern: localProxyPattern, - provider: "LOCAL", - }, - { - pattern: heliconeProxyPattern, - provider: "HELICONE", - }, - { - pattern: amdbartekPattern, - provider: "AMDBARTEK", - }, - { - pattern: anyscalePattern, - provider: "ANYSCALE", - }, - { - pattern: cloudflareAiGatewayPattern, - provider: "CLOUDFLARE", - }, - { - pattern: twoYFV, - provider: "2YFV", - }, - { - pattern: togetherPattern, - provider: "TOGETHER", - costs: [ - ...togetherAIChatCosts, - ...togetherAIChatLlamaCosts, - ...togetherAICompletionCosts, - ...togetherAICompletionLlamaCosts, - ], - }, - { - pattern: lemonFox, - provider: "LEMONFOX", - }, - { - pattern: fireworks, - provider: "FIREWORKS", - costs: fireworksAICosts, - }, - { - pattern: perplexity, - provider: "PERPLEXITY", - }, - { - pattern: googleapis, - provider: "GOOGLE", - costs: googleCosts, - }, - { - pattern: openRouter, - provider: "OPENROUTER", - costs: openRouterCosts, - }, - { - pattern: wisdomInANutshell, - provider: "WISDOMINANUTSHELL", - }, - { - pattern: groq, - provider: "GROQ", - costs: groqCosts, - }, - { - pattern: cohere, - provider: "COHERE", - costs: cohereCosts, - }, - { - pattern: mistral, - provider: "MISTRAL", - costs: mistralCosts, - }, - { - pattern: deepinfra, - provider: "DEEPINFRA", - }, - { - pattern: qstash, - provider: "QSTASH", - costs: qstashCosts, - }, - { - pattern: firecrawl, - provider: "FIRECRAWL", - }, - { - pattern: awsBedrock, - provider: "AWS", - costs: awsBedrockCosts, - }, -]; + { + pattern: openAiPattern, + provider: 'OPENAI', + costs: [...openAIProvider.costs, ...fineTunedOpenAICosts], + modelDetails: openAIProvider.modelDetails, + }, + { + pattern: anthropicPattern, + provider: 'ANTHROPIC', + costs: anthropicProvider.costs, + modelDetails: anthropicProvider.modelDetails, + }, + { + pattern: azurePattern, + provider: 'AZURE', + costs: [...azureCosts, ...openAIProvider.costs], + }, + { + pattern: localProxyPattern, + provider: 'LOCAL', + }, + { + pattern: heliconeProxyPattern, + provider: 'HELICONE', + }, + { + pattern: amdbartekPattern, + provider: 'AMDBARTEK', + }, + { + pattern: anyscalePattern, + provider: 'ANYSCALE', + }, + { + pattern: cloudflareAiGatewayPattern, + provider: 'CLOUDFLARE', + }, + { + pattern: twoYFV, + provider: '2YFV', + }, + { + pattern: togetherPattern, + provider: 'TOGETHER', + costs: [ + ...togetherAIChatCosts, + ...togetherAIChatLlamaCosts, + ...togetherAICompletionCosts, + ...togetherAICompletionLlamaCosts, + ], + }, + { + pattern: lemonFox, + provider: 'LEMONFOX', + }, + { + pattern: fireworks, + provider: 'FIREWORKS', + costs: fireworksAICosts, + }, + { + pattern: perplexity, + provider: 'PERPLEXITY', + }, + { + pattern: googleapis, + provider: 'GOOGLE', + costs: googleCosts, + }, + { + pattern: openRouter, + provider: 'OPENROUTER', + costs: openRouterCosts, + }, + { + pattern: wisdomInANutshell, + provider: 'WISDOMINANUTSHELL', + }, + { + pattern: groq, + provider: 'GROQ', + costs: groqCosts, + }, + { + pattern: cohere, + provider: 'COHERE', + costs: cohereCosts, + }, + { + pattern: mistral, + provider: 'MISTRAL', + costs: mistralCosts, + }, + { + pattern: deepinfra, + provider: 'DEEPINFRA', + }, + { + pattern: qstash, + provider: 'QSTASH', + costs: qstashCosts, + }, + { + pattern: firecrawl, + provider: 'FIRECRAWL', + }, + { + pattern: awsBedrock, + provider: 'AWS', + costs: awsBedrockCosts, + }, +] export const playgroundModels: { - name: string; - provider: ProviderName; + name: string + provider: ProviderName }[] = - (providers - .map((provider) => { - return provider.costs - ?.filter((cost) => cost.showInPlayground) - .map((cost) => ({ - name: cost.model.value, - provider: provider.provider, - })); - }) - .flat() - .filter((model) => model !== undefined) as { - name: string; - provider: ProviderName; - }[]) ?? []; + (providers + .map((provider) => { + return provider.costs + ?.filter((cost) => cost.showInPlayground) + .map((cost) => ({ + name: cost.model.value, + provider: provider.provider, + })) + }) + .flat() + .filter((model) => model !== undefined) as { + name: string + provider: ProviderName + }[]) ?? [] // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -export const defaultProvider = providers.find( - (provider) => provider.provider === "OPENAI" -)!; +export const defaultProvider = providers.find((provider) => provider.provider === 'OPENAI')! -export const allCosts = providers.flatMap((provider) => provider.costs ?? []); +export const allCosts = providers.flatMap((provider) => provider.costs ?? []) -export const approvedDomains = providers.map((provider) => provider.pattern); +export const approvedDomains = providers.map((provider) => provider.pattern) -export const modelNames = allCosts.map((cost) => cost.model.value); +export const modelNames = allCosts.map((cost) => cost.model.value) export const parentModelNames = providers.reduce((acc, provider) => { - if (provider.modelDetails) { - acc[provider.provider] = Object.keys(provider.modelDetails); - } - return acc; -}, {} as Record); + if (provider.modelDetails) { + acc[provider.provider] = Object.keys(provider.modelDetails) + } + return acc +}, {} as Record) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts index 0b053ca97b122..6f1209c3af636 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts @@ -3,67 +3,67 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "open-mistral-7b", + { + model: { + operator: 'equals', + value: 'open-mistral-7b', + }, + cost: { + prompt_token: 0.00000025, + completion_token: 0.00000025, + }, }, - cost: { - prompt_token: 0.00000025, - completion_token: 0.00000025, + { + model: { + operator: 'equals', + value: 'open-mixtral-8x7b', + }, + cost: { + prompt_token: 0.0000007, + completion_token: 0.0000007, + }, }, - }, - { - model: { - operator: "equals", - value: "open-mixtral-8x7b", + { + model: { + operator: 'equals', + value: 'mistral-small-latest', + }, + cost: { + prompt_token: 0.000002, + completion_token: 0.000006, + }, }, - cost: { - prompt_token: 0.0000007, - completion_token: 0.0000007, + { + model: { + operator: 'equals', + value: 'mistral-medium-latest', + }, + cost: { + prompt_token: 0.0000027, + completion_token: 0.0000081, + }, }, - }, - { - model: { - operator: "equals", - value: "mistral-small-latest", + { + model: { + operator: 'equals', + value: 'mistral-large-latest', + }, + cost: { + prompt_token: 0.000008, + completion_token: 0.000024, + }, }, - cost: { - prompt_token: 0.000002, - completion_token: 0.000006, + { + model: { + operator: 'equals', + value: 'mistral-embed', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, }, - }, - { - model: { - operator: "equals", - value: "mistral-medium-latest", - }, - cost: { - prompt_token: 0.0000027, - completion_token: 0.0000081, - }, - }, - { - model: { - operator: "equals", - value: "mistral-large-latest", - }, - cost: { - prompt_token: 0.000008, - completion_token: 0.000024, - }, - }, - { - model: { - operator: "equals", - value: "mistral-embed", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, -]; +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts index c63f8d3a4e978..822f26c78da09 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts @@ -3,37 +3,37 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "startsWith", - value: "ft:gpt-3.5-turbo-", + { + model: { + operator: 'startsWith', + value: 'ft:gpt-3.5-turbo-', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000006, + }, }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000006, + { + model: { + operator: 'startsWith', + value: 'ft:gpt-4o-mini-2024-07-18:', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000012, + }, }, - }, - { - model: { - operator: "startsWith", - value: "ft:gpt-4o-mini-2024-07-18:", + { + model: { + operator: 'startsWith', + value: 'ft:gpt-4o-2024-08-06:', + }, + cost: { + prompt_token: 0.00000375, + completion_token: 0.000015, + }, }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000012, - }, - }, - { - model: { - operator: "startsWith", - value: "ft:gpt-4o-2024-08-06:", - }, - cost: { - prompt_token: 0.00000375, - completion_token: 0.000015, - }, - }, -]; +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts index ca1f0ac031d60..c17407c79b208 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts @@ -3,854 +3,815 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelDetailsMap, ModelRow } from "../../interfaces/Cost"; +import { ModelDetailsMap, ModelRow } from '../../interfaces/Cost' const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "ada", - }, - cost: { - prompt_token: 0.0000004, - completion_token: 0.0000004, - }, - }, - { - model: { - operator: "equals", - value: "text-ada-001", - }, - cost: { - prompt_token: 0.0000004, - completion_token: 0.0000004, - }, - }, - { - model: { - operator: "equals", - value: "babbage", - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000005, - }, - }, - { - model: { - operator: "equals", - value: "curie", - }, - cost: { - prompt_token: 0.000002, - completion_token: 0.000002, - }, - }, - { - model: { - operator: "equals", - value: "text-curie-001", - }, - cost: { - prompt_token: 0.000002, - completion_token: 0.000002, - }, - }, - { - model: { - operator: "equals", - value: "davinci", - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: "equals", - value: "text-davinci-001", - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: "equals", - value: "text-davinci-002", - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: "equals", - value: "text-davinci-003", - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-0301", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-35-turbo", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-1106", - }, - cost: { - prompt_token: 0.000001, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-instruct", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-instruct-0914", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4", - }, - cost: { - prompt_token: 0.00003, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-0314", - }, - cost: { - prompt_token: 0.00003, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-0613", - }, - cost: { - prompt_token: 0.00003, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-32k", - }, - cost: { - prompt_token: 0.00006, - completion_token: 0.00012, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-32k-0314", - }, - cost: { - prompt_token: 0.00006, - completion_token: 0.00012, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-32k-0613", - }, - cost: { - prompt_token: 0.00006, - completion_token: 0.00012, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-0125-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-1106-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-1106-vision-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4o", - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000015, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4o-2024-05-13", - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000015, - }, - showInPlayground: true, - }, + { + model: { + operator: 'equals', + value: 'ada', + }, + cost: { + prompt_token: 0.0000004, + completion_token: 0.0000004, + }, + }, + { + model: { + operator: 'equals', + value: 'text-ada-001', + }, + cost: { + prompt_token: 0.0000004, + completion_token: 0.0000004, + }, + }, + { + model: { + operator: 'equals', + value: 'babbage', + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000005, + }, + }, + { + model: { + operator: 'equals', + value: 'curie', + }, + cost: { + prompt_token: 0.000002, + completion_token: 0.000002, + }, + }, + { + model: { + operator: 'equals', + value: 'text-curie-001', + }, + cost: { + prompt_token: 0.000002, + completion_token: 0.000002, + }, + }, + { + model: { + operator: 'equals', + value: 'davinci', + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: 'equals', + value: 'text-davinci-001', + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: 'equals', + value: 'text-davinci-002', + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: 'equals', + value: 'text-davinci-003', + }, + cost: { + prompt_token: 0.00002, + completion_token: 0.00002, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-0301', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-35-turbo', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-1106', + }, + cost: { + prompt_token: 0.000001, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-instruct', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-instruct-0914', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4', + }, + cost: { + prompt_token: 0.00003, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-0314', + }, + cost: { + prompt_token: 0.00003, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-0613', + }, + cost: { + prompt_token: 0.00003, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-32k', + }, + cost: { + prompt_token: 0.00006, + completion_token: 0.00012, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-32k-0314', + }, + cost: { + prompt_token: 0.00006, + completion_token: 0.00012, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-32k-0613', + }, + cost: { + prompt_token: 0.00006, + completion_token: 0.00012, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-0125-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-1106-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-1106-vision-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4o', + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000015, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4o-2024-05-13', + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000015, + }, + showInPlayground: true, + }, - { - model: { - operator: "equals", - value: "gpt-4o-mini", - }, - cost: { - prompt_token: 0.00000015, - completion_token: 0.0000006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4o-mini-2024-07-18", - }, - cost: { - prompt_token: 0.00000015, - completion_token: 0.0000006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-0613", - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-35-turbo-16k", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-16k-0613", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-3.5-turbo-0125", - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000015, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-turbo", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-turbo-2024-04-09", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "gpt-4-turbo-0125-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "text-embedding-ada-002", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "text-embedding-ada", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "text-embedding-ada-002-v2", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "text-embedding-3-small", - }, - cost: { - prompt_token: 0.00000002, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "text-embedding-3-large", - }, - cost: { - prompt_token: 0.00000013, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "gpt-4-vision-preview", - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: "equals", - value: "gpt-35-turbo-16k-0613", - }, - showInPlayground: true, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - }, - { - model: { - operator: "equals", - value: "gpt-4o-2024-08-06", - }, - showInPlayground: true, - cost: { - prompt_token: 0.0000025, - completion_token: 0.00001, - }, - }, - { - model: { - operator: "equals", - value: "o1-preview", - }, - cost: { - prompt_token: 0.000015, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "o1-preview-2024-09-12", - }, - cost: { - prompt_token: 0.000015, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "o1-mini", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000012, - }, - showInPlayground: true, - }, - { - model: { - operator: "equals", - value: "o1-mini-2024-09-12", - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000012, - }, - showInPlayground: true, - }, -]; + { + model: { + operator: 'equals', + value: 'gpt-4o-mini', + }, + cost: { + prompt_token: 0.00000015, + completion_token: 0.0000006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4o-mini-2024-07-18', + }, + cost: { + prompt_token: 0.00000015, + completion_token: 0.0000006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-0613', + }, + cost: { + prompt_token: 0.0000015, + completion_token: 0.000002, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-35-turbo-16k', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-16k-0613', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-3.5-turbo-0125', + }, + cost: { + prompt_token: 0.0000005, + completion_token: 0.0000015, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-turbo', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-turbo-2024-04-09', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-turbo-0125-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'text-embedding-ada-002', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'text-embedding-ada', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'text-embedding-ada-002-v2', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'text-embedding-3-small', + }, + cost: { + prompt_token: 0.00000002, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'text-embedding-3-large', + }, + cost: { + prompt_token: 0.00000013, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-4-vision-preview', + }, + cost: { + prompt_token: 0.00001, + completion_token: 0.00003, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-35-turbo-16k-0613', + }, + showInPlayground: true, + cost: { + prompt_token: 0.000003, + completion_token: 0.000004, + }, + }, + { + model: { + operator: 'equals', + value: 'gpt-4o-2024-08-06', + }, + showInPlayground: true, + cost: { + prompt_token: 0.0000025, + completion_token: 0.00001, + }, + }, + { + model: { + operator: 'equals', + value: 'o1-preview', + }, + cost: { + prompt_token: 0.000015, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'o1-preview-2024-09-12', + }, + cost: { + prompt_token: 0.000015, + completion_token: 0.00006, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'o1-mini', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000012, + }, + showInPlayground: true, + }, + { + model: { + operator: 'equals', + value: 'o1-mini-2024-09-12', + }, + cost: { + prompt_token: 0.000003, + completion_token: 0.000012, + }, + showInPlayground: true, + }, +] const modelDetails: ModelDetailsMap = { - "gpt-4": { - matches: [ - "gpt-4", - "gpt-4-0314", - "gpt-4-0613", - "gpt-4-32k", - "gpt-4-32k-0314", - "gpt-4-0125-preview", - "gpt-4-1106-preview", - ], - searchTerms: ["gpt 4", "gpt-4", "chat gpt 4", "4", "chat 4"], - info: { - maxTokens: 8192, - releaseDate: "2024-03-13", - description: - "GPT-4 is the latest and most advanced model in the GPT series, demonstrating sophisticated capabilities in complex reasoning, theory of mind, and narrative understanding.", - tradeOffs: [ - "More expensive than GPT-3.5 Turbo", - "Performance can vary even with temperature=0", - "May struggle with world-building in absurd scenarios", - ], - benchmarks: { - mmlu: 0.864, - ifeval: 0.67, - hellaswag: 0.953, - bbh: 0.831, - }, - capabilities: [ - "Advanced reasoning", - "Theory of mind", - "Complex narrative understanding", - "Chain-of-thought processing", - ], - strengths: [ - "Strong performance in theory of mind tasks", - "Ability to track and reason about multiple entities", - "Can explain its reasoning process", - ], - weaknesses: [ - "May struggle with highly abstract or unrealistic scenarios", - "Output can be non-deterministic even at temperature=0", - "Performance depends on how 'normal' the scenario is", - ], - recommendations: [ - "Complex reasoning and analysis tasks", - "Professional content creation and editing", - "Advanced coding and technical problem-solving", - "Multi-step planning and strategy development", - "Academic research and paper writing", - "Detailed technical documentation", - ], - }, - }, - "gpt-4o": { - matches: ["gpt-4o", "gpt-4o-2024-05-13"], - searchTerms: ["gpt 4o", "gpt-4o", "chat gpt 4o", "4o", "chat 4o"], - info: { - maxTokens: 128000, - releaseDate: "2024-05-13", - description: - "GPT-4 Optimized (GPT-4o) is designed for high performance in reasoning, creativity, and technical tasks while maintaining consistent output quality.", - tradeOffs: [ - "Higher resource requirements for optimal performance", - "Increased cost per token for premium capabilities", - "May require more specific prompting for best results", - "Larger context window increases memory usage", - "Response time varies with complexity of task", - ], - benchmarks: { - mmlu: 0.887, - ifeval: 0.902, - hellaswag: 0.942, - bbh: 0.913, - }, - capabilities: [ - "Advanced reasoning and problem-solving", - "Strong coding abilities", - "Mathematical computation", - "Creative content generation", - "Technical analysis", - ], - strengths: [ - "Consistent output quality", - "Strong technical performance", - "Reliable response generation", - "Broad knowledge base", - ], - weaknesses: [ - "May produce overconfident responses", - "Requires clear prompt engineering", - "Performance varies with task complexity", - ], - recommendations: [ - "Technical and analytical projects", - "Software development tasks", - "Mathematical problem-solving", - "Content creation and analysis", - ], - }, - }, - "gpt-4o-mini": { - matches: ["gpt-4o-mini", "gpt-4o-mini-2024-07-18"], - searchTerms: [ - "gpt 4o mini", - "gpt-4o-mini", - "chat gpt 4o mini", - "chat 4o mini", - ], - info: { - maxTokens: 128000, - releaseDate: "2024-07-18", - description: - "GPT-4o Mini is a cost-optimized variant of GPT-4o, designed for high-efficiency processing while maintaining strong performance. It excels in rapid inference and resource-efficient operations, making it ideal for production deployments requiring a balance of cost and capability.", - tradeOffs: [ - "Lower cost per token compared to GPT-4o", - "Reduced latency for faster processing", - "Smaller model size for efficient deployment", - "Optimized for common tasks and queries", - "Balance of performance and resource usage", - ], - benchmarks: { - mmlu: 0.82, - ifeval: 0.872, - hellaswag: 0.885, - truthfulqa: 0.793, - gsm8k: 0.846, - }, - capabilities: [ - "Efficient natural language processing", - "Quick response generation", - "Code understanding and generation", - "Task-specific optimization", - "Resource-efficient inference", - "Consistent output quality", - "Scalable deployment support", - ], - strengths: [ - "Cost-effective processing", - "Low latency responses", - "Efficient resource utilization", - "Strong performance on common tasks", - "Reliable output quality", - "Optimized for production use", - "Excellent scaling characteristics", - ], - weaknesses: [ - "Lower performance on complex reasoning", - "Reduced capability in specialized domains", - "Limited context understanding vs larger models", - "May struggle with nuanced tasks", - "Less suitable for cutting-edge research", - ], - recommendations: [ - "High-volume production deployments", - "Cost-sensitive applications", - "Real-time processing needs", - "Standard NLP tasks", - "Efficient API integrations", - "Resource-constrained environments", - "Scalable system architectures", - ], - }, - }, - "gpt-4-turbo": { - matches: [ - "gpt-4-turbo", - "gpt-4-turbo-2024-04-09", - "gpt-4-turbo-0125-preview", - ], - searchTerms: [ - "gpt 4 turbo", - "gpt-4-turbo", - "chat gpt 4 turbo", - "4 turbo", - "chat 4 turbo", - ], - info: { - maxTokens: 128000, - releaseDate: "2024-04-09", - description: - "GPT-4 Turbo is a more recent model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: { - bbh: 0.876, - hellaswag: 0.942, - mmlu: 0.865, - }, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - "gpt-3.5-turbo": { - matches: [ - "gpt-3.5-turbo", - "gpt-3.5-turbo-0301", - "gpt-35-turbo", - "gpt-3.5-turbo-1106", - "gpt-3.5-turbo-instruct", - "gpt-3.5-turbo-instruct-0914", - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-16k", - "gpt-3.5-turbo-16k-0613", - "gpt-35-turbo-16k", - "gpt-35-turbo-16k-0613", - "gpt-3.5-turbo-0125", - ], - searchTerms: ["gpt 3.5", "gpt-3.5", "chat gpt 3.5", "chat 3.5"], - info: { - maxTokens: 16385, - releaseDate: "2023-11-06", - description: - "GPT-3.5 Turbo is a more recent model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: { - hellaswag: 0.855, - mmlu: 0.698, - }, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - "text-embedding-3": { - matches: ["text-embedding-3-small", "text-embedding-3-large"], - searchTerms: ["text embedding 3", "text-embedding-3"], - info: { - maxTokens: 3072, - releaseDate: "2022-12-15", - description: - "Text Embedding 3 is a model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: {}, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - "text-embedding-ada": { - matches: [ - "text-embedding-ada-002", - "text-embedding-ada", - "text-embedding-ada-002-v2", - ], - searchTerms: ["text embedding ada", "text-embedding-ada"], - info: { - maxTokens: 1536, - releaseDate: "2022-12-15", - description: - "Text Embedding Ada is a model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: {}, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - "o1-preview": { - matches: ["o1-preview", "o1-preview-2024-09-12"], - searchTerms: [ - "o1 preview", - "o1-preview", - "chat gpt o1", - "chat gpt o1 preview", - "chat o1", - "chat o1 preview", - ], - info: { - maxTokens: 128000, - releaseDate: "2024-09-12", - description: - "O1 Preview is a model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: { - mmlu: 0.908, - }, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - "o1-mini": { - matches: ["o1-mini", "o1-mini-2024-09-12"], - searchTerms: ["o1 mini", "o1-mini", "chat gpt o1 mini", "chat o1 mini"], - info: { - maxTokens: 128000, - releaseDate: "2024-09-12", - description: - "O1 Mini is a model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: {}, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - "gpt-4-vision-preview": { - matches: ["gpt-4-vision-preview", "gpt-4-1106-vision-preview"], - searchTerms: [ - "gpt 4 vision", - "gpt-4-vision", - "gpt 4 vision preview", - "chat gpt 4 vision", - "chat 4 vision", - ], - info: { - maxTokens: 128000, - releaseDate: "2023-11-06", - description: - "GPT-4 Vision is a model that offers a balance between cost and performance.", - tradeOffs: ["More expensive than GPT-3.5 Turbo"], - benchmarks: { - bbh: 0.876, - hellaswag: 0.942, - mmlu: 0.865, - }, - capabilities: ["Vision"], - strengths: ["Can process images"], - weaknesses: ["More expensive than GPT-3.5 Turbo"], - recommendations: ["Use for tasks that require image processing"], - }, - }, -}; + 'gpt-4': { + matches: [ + 'gpt-4', + 'gpt-4-0314', + 'gpt-4-0613', + 'gpt-4-32k', + 'gpt-4-32k-0314', + 'gpt-4-0125-preview', + 'gpt-4-1106-preview', + ], + searchTerms: ['gpt 4', 'gpt-4', 'chat gpt 4', '4', 'chat 4'], + info: { + maxTokens: 8192, + releaseDate: '2024-03-13', + description: + 'GPT-4 is the latest and most advanced model in the GPT series, demonstrating sophisticated capabilities in complex reasoning, theory of mind, and narrative understanding.', + tradeOffs: [ + 'More expensive than GPT-3.5 Turbo', + 'Performance can vary even with temperature=0', + 'May struggle with world-building in absurd scenarios', + ], + benchmarks: { + mmlu: 0.864, + ifeval: 0.67, + hellaswag: 0.953, + bbh: 0.831, + }, + capabilities: [ + 'Advanced reasoning', + 'Theory of mind', + 'Complex narrative understanding', + 'Chain-of-thought processing', + ], + strengths: [ + 'Strong performance in theory of mind tasks', + 'Ability to track and reason about multiple entities', + 'Can explain its reasoning process', + ], + weaknesses: [ + 'May struggle with highly abstract or unrealistic scenarios', + 'Output can be non-deterministic even at temperature=0', + "Performance depends on how 'normal' the scenario is", + ], + recommendations: [ + 'Complex reasoning and analysis tasks', + 'Professional content creation and editing', + 'Advanced coding and technical problem-solving', + 'Multi-step planning and strategy development', + 'Academic research and paper writing', + 'Detailed technical documentation', + ], + }, + }, + 'gpt-4o': { + matches: ['gpt-4o', 'gpt-4o-2024-05-13'], + searchTerms: ['gpt 4o', 'gpt-4o', 'chat gpt 4o', '4o', 'chat 4o'], + info: { + maxTokens: 128000, + releaseDate: '2024-05-13', + description: + 'GPT-4 Optimized (GPT-4o) is designed for high performance in reasoning, creativity, and technical tasks while maintaining consistent output quality.', + tradeOffs: [ + 'Higher resource requirements for optimal performance', + 'Increased cost per token for premium capabilities', + 'May require more specific prompting for best results', + 'Larger context window increases memory usage', + 'Response time varies with complexity of task', + ], + benchmarks: { + mmlu: 0.887, + ifeval: 0.902, + hellaswag: 0.942, + bbh: 0.913, + }, + capabilities: [ + 'Advanced reasoning and problem-solving', + 'Strong coding abilities', + 'Mathematical computation', + 'Creative content generation', + 'Technical analysis', + ], + strengths: [ + 'Consistent output quality', + 'Strong technical performance', + 'Reliable response generation', + 'Broad knowledge base', + ], + weaknesses: [ + 'May produce overconfident responses', + 'Requires clear prompt engineering', + 'Performance varies with task complexity', + ], + recommendations: [ + 'Technical and analytical projects', + 'Software development tasks', + 'Mathematical problem-solving', + 'Content creation and analysis', + ], + }, + }, + 'gpt-4o-mini': { + matches: ['gpt-4o-mini', 'gpt-4o-mini-2024-07-18'], + searchTerms: ['gpt 4o mini', 'gpt-4o-mini', 'chat gpt 4o mini', 'chat 4o mini'], + info: { + maxTokens: 128000, + releaseDate: '2024-07-18', + description: + 'GPT-4o Mini is a cost-optimized variant of GPT-4o, designed for high-efficiency processing while maintaining strong performance. It excels in rapid inference and resource-efficient operations, making it ideal for production deployments requiring a balance of cost and capability.', + tradeOffs: [ + 'Lower cost per token compared to GPT-4o', + 'Reduced latency for faster processing', + 'Smaller model size for efficient deployment', + 'Optimized for common tasks and queries', + 'Balance of performance and resource usage', + ], + benchmarks: { + mmlu: 0.82, + ifeval: 0.872, + hellaswag: 0.885, + truthfulqa: 0.793, + gsm8k: 0.846, + }, + capabilities: [ + 'Efficient natural language processing', + 'Quick response generation', + 'Code understanding and generation', + 'Task-specific optimization', + 'Resource-efficient inference', + 'Consistent output quality', + 'Scalable deployment support', + ], + strengths: [ + 'Cost-effective processing', + 'Low latency responses', + 'Efficient resource utilization', + 'Strong performance on common tasks', + 'Reliable output quality', + 'Optimized for production use', + 'Excellent scaling characteristics', + ], + weaknesses: [ + 'Lower performance on complex reasoning', + 'Reduced capability in specialized domains', + 'Limited context understanding vs larger models', + 'May struggle with nuanced tasks', + 'Less suitable for cutting-edge research', + ], + recommendations: [ + 'High-volume production deployments', + 'Cost-sensitive applications', + 'Real-time processing needs', + 'Standard NLP tasks', + 'Efficient API integrations', + 'Resource-constrained environments', + 'Scalable system architectures', + ], + }, + }, + 'gpt-4-turbo': { + matches: ['gpt-4-turbo', 'gpt-4-turbo-2024-04-09', 'gpt-4-turbo-0125-preview'], + searchTerms: ['gpt 4 turbo', 'gpt-4-turbo', 'chat gpt 4 turbo', '4 turbo', 'chat 4 turbo'], + info: { + maxTokens: 128000, + releaseDate: '2024-04-09', + description: 'GPT-4 Turbo is a more recent model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: { + bbh: 0.876, + hellaswag: 0.942, + mmlu: 0.865, + }, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + 'gpt-3.5-turbo': { + matches: [ + 'gpt-3.5-turbo', + 'gpt-3.5-turbo-0301', + 'gpt-35-turbo', + 'gpt-3.5-turbo-1106', + 'gpt-3.5-turbo-instruct', + 'gpt-3.5-turbo-instruct-0914', + 'gpt-3.5-turbo-0613', + 'gpt-3.5-turbo-16k', + 'gpt-3.5-turbo-16k-0613', + 'gpt-35-turbo-16k', + 'gpt-35-turbo-16k-0613', + 'gpt-3.5-turbo-0125', + ], + searchTerms: ['gpt 3.5', 'gpt-3.5', 'chat gpt 3.5', 'chat 3.5'], + info: { + maxTokens: 16385, + releaseDate: '2023-11-06', + description: 'GPT-3.5 Turbo is a more recent model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: { + hellaswag: 0.855, + mmlu: 0.698, + }, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + 'text-embedding-3': { + matches: ['text-embedding-3-small', 'text-embedding-3-large'], + searchTerms: ['text embedding 3', 'text-embedding-3'], + info: { + maxTokens: 3072, + releaseDate: '2022-12-15', + description: 'Text Embedding 3 is a model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: {}, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + 'text-embedding-ada': { + matches: ['text-embedding-ada-002', 'text-embedding-ada', 'text-embedding-ada-002-v2'], + searchTerms: ['text embedding ada', 'text-embedding-ada'], + info: { + maxTokens: 1536, + releaseDate: '2022-12-15', + description: 'Text Embedding Ada is a model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: {}, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + 'o1-preview': { + matches: ['o1-preview', 'o1-preview-2024-09-12'], + searchTerms: ['o1 preview', 'o1-preview', 'chat gpt o1', 'chat gpt o1 preview', 'chat o1', 'chat o1 preview'], + info: { + maxTokens: 128000, + releaseDate: '2024-09-12', + description: 'O1 Preview is a model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: { + mmlu: 0.908, + }, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + 'o1-mini': { + matches: ['o1-mini', 'o1-mini-2024-09-12'], + searchTerms: ['o1 mini', 'o1-mini', 'chat gpt o1 mini', 'chat o1 mini'], + info: { + maxTokens: 128000, + releaseDate: '2024-09-12', + description: 'O1 Mini is a model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: {}, + capabilities: [], + strengths: [], + weaknesses: [], + recommendations: [], + }, + }, + 'gpt-4-vision-preview': { + matches: ['gpt-4-vision-preview', 'gpt-4-1106-vision-preview'], + searchTerms: ['gpt 4 vision', 'gpt-4-vision', 'gpt 4 vision preview', 'chat gpt 4 vision', 'chat 4 vision'], + info: { + maxTokens: 128000, + releaseDate: '2023-11-06', + description: 'GPT-4 Vision is a model that offers a balance between cost and performance.', + tradeOffs: ['More expensive than GPT-3.5 Turbo'], + benchmarks: { + bbh: 0.876, + hellaswag: 0.942, + mmlu: 0.865, + }, + capabilities: ['Vision'], + strengths: ['Can process images'], + weaknesses: ['More expensive than GPT-3.5 Turbo'], + recommendations: ['Use for tasks that require image processing'], + }, + }, +} -const reverseModelMap: { [key: string]: string } = {}; +const reverseModelMap: { [key: string]: string } = {} for (const parentModel in modelDetails) { - const details = modelDetails[parentModel]; - details.matches.forEach((modelName) => { - reverseModelMap[modelName] = parentModel; - }); + const details = modelDetails[parentModel] + details.matches.forEach((modelName) => { + reverseModelMap[modelName] = parentModel + }) } export const openAIProvider = { - costs, - modelDetails, - reverseModelMap, -}; + costs, + modelDetails, + reverseModelMap, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts index 2c6ae74fe3af0..a92069e075e8f 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts @@ -3,2157 +3,2157 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "sao10k/l3.3-euryale-70b", - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "inflatebot/mn-mag-mell-r1", - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: "equals", - value: "openai/o1", - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: "equals", - value: "eva-unit-01/eva-llama-3.33-70b", - }, - cost: { - prompt_token: 4e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: "equals", - value: "x-ai/grok-2-vision-1212", - }, - cost: { - prompt_token: 2e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "x-ai/grok-2-1212", - }, - cost: { - prompt_token: 2e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r7b-12-2024", - }, - cost: { - prompt_token: 3.75e-8, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-2.0-flash-exp:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-exp-1206:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.3-70b-instruct", - }, - cost: { - prompt_token: 1.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "amazon/nova-lite-v1", - }, - cost: { - prompt_token: 6e-8, - completion_token: 2.4e-7, - }, - }, - { - model: { - operator: "equals", - value: "amazon/nova-micro-v1", - }, - cost: { - prompt_token: 3.5e-8, - completion_token: 1.4e-7, - }, - }, - { - model: { - operator: "equals", - value: "amazon/nova-pro-v1", - }, - cost: { - prompt_token: 8e-7, - completion_token: 3.2e-6, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwq-32b-preview", - }, - cost: { - prompt_token: 1.3e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-exp-1121:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "google/learnlm-1.5-pro-experimental:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "eva-unit-01/eva-qwen-2.5-72b", - }, - cost: { - prompt_token: 4e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o-2024-11-20", - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-large-2411", - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-large-2407", - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/pixtral-large-2411", - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: "equals", - value: "x-ai/grok-vision-beta", - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-exp-1114:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "infermatic/mn-inferor-12b", - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2.5-coder-32b-instruct", - }, - cost: { - prompt_token: 8e-8, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: "equals", - value: "raifle/sorcererlm-8x22b", - }, - cost: { - prompt_token: 4.5e-6, - completion_token: 4.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "eva-unit-01/eva-qwen-2.5-32b", - }, - cost: { - prompt_token: 2.6e-6, - completion_token: 3.4e-6, - }, - }, - { - model: { - operator: "equals", - value: "thedrummer/unslopnemo-12b", - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-haiku-20241022:beta", - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-haiku-20241022", - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-haiku:beta", - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-haiku", - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: "equals", - value: "neversleep/llama-3.1-lumimaid-70b", - }, - cost: { - prompt_token: 3.375e-6, - completion_token: 4.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthracite-org/magnum-v4-72b", - }, - cost: { - prompt_token: 1.875e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-sonnet:beta", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-sonnet", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "x-ai/grok-beta", - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/ministral-8b", - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/ministral-3b", - }, - cost: { - prompt_token: 4e-8, - completion_token: 4e-8, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2.5-7b-instruct", - }, - cost: { - prompt_token: 2.7e-7, - completion_token: 2.7e-7, - }, - }, - { - model: { - operator: "equals", - value: "nvidia/llama-3.1-nemotron-70b-instruct", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "inflection/inflection-3-pi", - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "inflection/inflection-3-productivity", - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-flash-1.5-8b", - }, - cost: { - prompt_token: 3.75e-8, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: "equals", - value: "anthracite-org/magnum-v2-72b", - }, - cost: { - prompt_token: 3e-6, - completion_token: 3e-6, - }, - }, - { - model: { - operator: "equals", - value: "liquid/lfm-40b", - }, - cost: { - prompt_token: 1.5e-7, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: "equals", - value: "thedrummer/rocinante-12b", - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-3b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-3b-instruct", - }, - cost: { - prompt_token: 1.8e-8, - completion_token: 3e-8, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-1b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-1b-instruct", - }, - cost: { - prompt_token: 1e-8, - completion_token: 2e-8, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-90b-vision-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-90b-vision-instruct", - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-11b-vision-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.2-11b-vision-instruct", - }, - cost: { - prompt_token: 5.5e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2.5-72b-instruct", - }, - cost: { - prompt_token: 2.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2-vl-72b-instruct", - }, - cost: { - prompt_token: 4e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "neversleep/llama-3.1-lumimaid-8b", - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/o1-mini-2024-09-12", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.2e-5, - }, - }, - { - model: { - operator: "equals", - value: "openai/o1-preview", - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: "equals", - value: "openai/o1-preview-2024-09-12", - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: "equals", - value: "openai/o1-mini", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.2e-5, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/pixtral-12b", - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r-08-2024", - }, - cost: { - prompt_token: 1.425e-7, - completion_token: 5.7e-7, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r-plus-08-2024", - }, - cost: { - prompt_token: 2.375e-6, - completion_token: 9.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2-vl-7b-instruct", - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-flash-1.5-exp", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "sao10k/l3.1-euryale-70b", - }, - cost: { - prompt_token: 3.5e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-flash-1.5-8b-exp", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "ai21/jamba-1-5-large", - }, - cost: { - prompt_token: 2e-6, - completion_token: 8e-6, - }, - }, - { - model: { - operator: "equals", - value: "ai21/jamba-1-5-mini", - }, - cost: { - prompt_token: 2e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/phi-3.5-mini-128k-instruct", - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: "equals", - value: "nousresearch/hermes-3-llama-3.1-70b", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "nousresearch/hermes-3-llama-3.1-405b", - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3.1-sonar-huge-128k-online", - }, - cost: { - prompt_token: 5e-6, - completion_token: 5e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/chatgpt-4o-latest", - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "sao10k/l3-lunaris-8b", - }, - cost: { - prompt_token: 3e-8, - completion_token: 6e-8, - }, - }, - { - model: { - operator: "equals", - value: "aetherwiing/mn-starcannon-12b", - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o-2024-08-06", - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-405b", - }, - cost: { - prompt_token: 2e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "nothingiisreal/mn-celeste-12b", - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3.1-sonar-small-128k-chat", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-pro-1.5-exp", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3.1-sonar-large-128k-chat", - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3.1-sonar-large-128k-online", - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3.1-sonar-small-128k-online", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-405b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-405b-instruct", - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-405b-instruct:nitro", - }, - cost: { - prompt_token: 1.462e-5, - completion_token: 1.462e-5, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-8b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-8b-instruct", - }, - cost: { - prompt_token: 2e-8, - completion_token: 5e-8, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-70b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-70b-instruct", - }, - cost: { - prompt_token: 1.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3.1-70b-instruct:nitro", - }, - cost: { - prompt_token: 3.25e-6, - completion_token: 3.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-nemo", - }, - cost: { - prompt_token: 4e-8, - completion_token: 9e-8, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/codestral-mamba", - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 2.5e-7, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o-mini", - }, - cost: { - prompt_token: 1.5e-7, - completion_token: 6e-7, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o-mini-2024-07-18", - }, - cost: { - prompt_token: 1.5e-7, - completion_token: 6e-7, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2-7b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2-7b-instruct", - }, - cost: { - prompt_token: 5.4e-8, - completion_token: 5.4e-8, - }, - }, - { - model: { - operator: "equals", - value: "google/gemma-2-27b-it", - }, - cost: { - prompt_token: 2.7e-7, - completion_token: 2.7e-7, - }, - }, - { - model: { - operator: "equals", - value: "alpindale/magnum-72b", - }, - cost: { - prompt_token: 1.875e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "google/gemma-2-9b-it:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "google/gemma-2-9b-it", - }, - cost: { - prompt_token: 3e-8, - completion_token: 6e-8, - }, - }, - { - model: { - operator: "equals", - value: "01-ai/yi-large", - }, - cost: { - prompt_token: 3e-6, - completion_token: 3e-6, - }, - }, - { - model: { - operator: "equals", - value: "ai21/jamba-instruct", - }, - cost: { - prompt_token: 5e-7, - completion_token: 7e-7, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-sonnet-20240620:beta", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3.5-sonnet-20240620", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "sao10k/l3-euryale-70b", - }, - cost: { - prompt_token: 3.5e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "cognitivecomputations/dolphin-mixtral-8x22b", - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: "equals", - value: "qwen/qwen-2-72b-instruct", - }, - cost: { - prompt_token: 3.4e-7, - completion_token: 3.9e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-7b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-7b-instruct", - }, - cost: { - prompt_token: 3e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-7b-instruct:nitro", - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-7b-instruct-v0.3", - }, - cost: { - prompt_token: 3e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: "equals", - value: "nousresearch/hermes-2-pro-llama-3-8b", - }, - cost: { - prompt_token: 3e-8, - completion_token: 3e-8, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/phi-3-mini-128k-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/phi-3-mini-128k-instruct", - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/phi-3-medium-128k-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/phi-3-medium-128k-instruct", - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: "equals", - value: "neversleep/llama-3-lumimaid-70b", - }, - cost: { - prompt_token: 3.375e-6, - completion_token: 4.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-flash-1.5", - }, - cost: { - prompt_token: 7.5e-8, - completion_token: 3e-7, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3-sonar-large-32k-online", - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: "equals", - value: "deepseek/deepseek-chat", - }, - cost: { - prompt_token: 1.4e-7, - completion_token: 2.8e-7, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3-sonar-small-32k-chat", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "perplexity/llama-3-sonar-large-32k-chat", - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o-2024-05-13", - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-guard-2-8b", - }, - cost: { - prompt_token: 1.8e-7, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o", - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4o:extended", - }, - cost: { - prompt_token: 6e-6, - completion_token: 1.8e-5, - }, - }, - { - model: { - operator: "equals", - value: "neversleep/llama-3-lumimaid-8b:extended", - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: "equals", - value: "neversleep/llama-3-lumimaid-8b", - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3-8b-instruct:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3-8b-instruct", - }, - cost: { - prompt_token: 3e-8, - completion_token: 6e-8, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3-8b-instruct:extended", - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3-8b-instruct:nitro", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3-70b-instruct", - }, - cost: { - prompt_token: 2.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-3-70b-instruct:nitro", - }, - cost: { - prompt_token: 7.92e-7, - completion_token: 7.92e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mixtral-8x22b-instruct", - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/wizardlm-2-8x22b", - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: "equals", - value: "microsoft/wizardlm-2-7b", - }, - cost: { - prompt_token: 5.5e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-pro-1.5", - }, - cost: { - prompt_token: 1.25e-6, - completion_token: 5e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-turbo", - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r-plus", - }, - cost: { - prompt_token: 2.85e-6, - completion_token: 1.425e-5, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r-plus-04-2024", - }, - cost: { - prompt_token: 2.85e-6, - completion_token: 1.425e-5, - }, - }, - { - model: { - operator: "equals", - value: "databricks/dbrx-instruct", - }, - cost: { - prompt_token: 1.08e-6, - completion_token: 1.08e-6, - }, - }, - { - model: { - operator: "equals", - value: "sophosympatheia/midnight-rose-70b", - }, - cost: { - prompt_token: 8e-7, - completion_token: 8e-7, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command", - }, - cost: { - prompt_token: 9.5e-7, - completion_token: 1.9e-6, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r", - }, - cost: { - prompt_token: 4.75e-7, - completion_token: 1.425e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3-haiku:beta", - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 1.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3-haiku", - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 1.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3-opus:beta", - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 7.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3-opus", - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 7.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3-sonnet:beta", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-3-sonnet", - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: "equals", - value: "cohere/command-r-03-2024", - }, - cost: { - prompt_token: 4.75e-7, - completion_token: 1.425e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-large", - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-3.5-turbo-0613", - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-turbo-preview", - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: "equals", - value: "nousresearch/nous-hermes-2-mixtral-8x7b-dpo", - }, - cost: { - prompt_token: 5.4e-7, - completion_token: 5.4e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-small", - }, - cost: { - prompt_token: 2e-7, - completion_token: 6e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-tiny", - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 2.5e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-medium", - }, - cost: { - prompt_token: 2.75e-6, - completion_token: 8.1e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-7b-instruct-v0.2", - }, - cost: { - prompt_token: 1.8e-7, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: "equals", - value: "cognitivecomputations/dolphin-mixtral-8x7b", - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-pro-vision", - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "google/gemini-pro", - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mixtral-8x7b", - }, - cost: { - prompt_token: 5.4e-7, - completion_token: 5.4e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mixtral-8x7b-instruct", - }, - cost: { - prompt_token: 2.4e-7, - completion_token: 2.4e-7, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mixtral-8x7b-instruct:nitro", - }, - cost: { - prompt_token: 5.4e-7, - completion_token: 5.4e-7, - }, - }, - { - model: { - operator: "equals", - value: "openchat/openchat-7b:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "openchat/openchat-7b", - }, - cost: { - prompt_token: 5.5e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: "equals", - value: "neversleep/noromaid-20b", - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-2:beta", - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-2", - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-2.1:beta", - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-2.1", - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: "equals", - value: "teknium/openhermes-2.5-mistral-7b", - }, - cost: { - prompt_token: 1.7e-7, - completion_token: 1.7e-7, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-vision-preview", - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: "equals", - value: "lizpreciatior/lzlv-70b-fp16-hf", - }, - cost: { - prompt_token: 3.5e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: "equals", - value: "undi95/toppy-m-7b:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "undi95/toppy-m-7b:nitro", - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: "equals", - value: "undi95/toppy-m-7b", - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: "equals", - value: "alpindale/goliath-120b", - }, - cost: { - prompt_token: 9.375e-6, - completion_token: 9.375e-6, - }, - }, - { - model: { - operator: "equals", - value: "openrouter/auto", - }, - cost: { - prompt_token: -1.0, - completion_token: -1.0, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-3.5-turbo-1106", - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-1106-preview", - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: "equals", - value: "google/palm-2-chat-bison-32k", - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "google/palm-2-codechat-bison-32k", - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "jondurbin/airoboros-l2-70b", - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: "equals", - value: "xwin-lm/xwin-lm-70b", - }, - cost: { - prompt_token: 3.75e-6, - completion_token: 3.75e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-3.5-turbo-instruct", - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "mistralai/mistral-7b-instruct-v0.1", - }, - cost: { - prompt_token: 1.8e-7, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: "equals", - value: "pygmalionai/mythalion-13b", - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-3.5-turbo-16k", - }, - cost: { - prompt_token: 3e-6, - completion_token: 4e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-32k", - }, - cost: { - prompt_token: 6e-5, - completion_token: 0.00012, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-32k-0314", - }, - cost: { - prompt_token: 6e-5, - completion_token: 0.00012, - }, - }, - { - model: { - operator: "equals", - value: "nousresearch/nous-hermes-llama2-13b", - }, - cost: { - prompt_token: 1.7e-7, - completion_token: 1.7e-7, - }, - }, - { - model: { - operator: "equals", - value: "mancer/weaver", - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: "equals", - value: "huggingfaceh4/zephyr-7b-beta:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-2.0:beta", - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: "equals", - value: "anthropic/claude-2.0", - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: "equals", - value: "undi95/remm-slerp-l2-13b", - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: "equals", - value: "undi95/remm-slerp-l2-13b:extended", - }, - cost: { - prompt_token: 1.125e-6, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: "equals", - value: "google/palm-2-chat-bison", - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "google/palm-2-codechat-bison", - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: "equals", - value: "gryphe/mythomax-l2-13b:free", - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: "equals", - value: "gryphe/mythomax-l2-13b", - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: "equals", - value: "gryphe/mythomax-l2-13b:nitro", - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: "equals", - value: "gryphe/mythomax-l2-13b:extended", - }, - cost: { - prompt_token: 1.125e-6, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/llama-2-13b-chat", - }, - cost: { - prompt_token: 1.98e-7, - completion_token: 1.98e-7, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-3.5-turbo", - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-3.5-turbo-0125", - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4", - }, - cost: { - prompt_token: 3e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: "equals", - value: "openai/gpt-4-0314", - }, - cost: { - prompt_token: 3e-5, - completion_token: 6e-5, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'sao10k/l3.3-euryale-70b', + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'inflatebot/mn-mag-mell-r1', + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/o1', + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'eva-unit-01/eva-llama-3.33-70b', + }, + cost: { + prompt_token: 4e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'x-ai/grok-2-vision-1212', + }, + cost: { + prompt_token: 2e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'x-ai/grok-2-1212', + }, + cost: { + prompt_token: 2e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r7b-12-2024', + }, + cost: { + prompt_token: 3.75e-8, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-2.0-flash-exp:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-exp-1206:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.3-70b-instruct', + }, + cost: { + prompt_token: 1.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'amazon/nova-lite-v1', + }, + cost: { + prompt_token: 6e-8, + completion_token: 2.4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'amazon/nova-micro-v1', + }, + cost: { + prompt_token: 3.5e-8, + completion_token: 1.4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'amazon/nova-pro-v1', + }, + cost: { + prompt_token: 8e-7, + completion_token: 3.2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwq-32b-preview', + }, + cost: { + prompt_token: 1.3e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-exp-1121:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'google/learnlm-1.5-pro-experimental:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'eva-unit-01/eva-qwen-2.5-72b', + }, + cost: { + prompt_token: 4e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o-2024-11-20', + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-large-2411', + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-large-2407', + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/pixtral-large-2411', + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'x-ai/grok-vision-beta', + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-exp-1114:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'infermatic/mn-inferor-12b', + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2.5-coder-32b-instruct', + }, + cost: { + prompt_token: 8e-8, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'raifle/sorcererlm-8x22b', + }, + cost: { + prompt_token: 4.5e-6, + completion_token: 4.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'eva-unit-01/eva-qwen-2.5-32b', + }, + cost: { + prompt_token: 2.6e-6, + completion_token: 3.4e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'thedrummer/unslopnemo-12b', + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-haiku-20241022:beta', + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-haiku-20241022', + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-haiku:beta', + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-haiku', + }, + cost: { + prompt_token: 8e-7, + completion_token: 4e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'neversleep/llama-3.1-lumimaid-70b', + }, + cost: { + prompt_token: 3.375e-6, + completion_token: 4.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthracite-org/magnum-v4-72b', + }, + cost: { + prompt_token: 1.875e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-sonnet:beta', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-sonnet', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'x-ai/grok-beta', + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/ministral-8b', + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/ministral-3b', + }, + cost: { + prompt_token: 4e-8, + completion_token: 4e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2.5-7b-instruct', + }, + cost: { + prompt_token: 2.7e-7, + completion_token: 2.7e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'nvidia/llama-3.1-nemotron-70b-instruct', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'inflection/inflection-3-pi', + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'inflection/inflection-3-productivity', + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-flash-1.5-8b', + }, + cost: { + prompt_token: 3.75e-8, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'anthracite-org/magnum-v2-72b', + }, + cost: { + prompt_token: 3e-6, + completion_token: 3e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'liquid/lfm-40b', + }, + cost: { + prompt_token: 1.5e-7, + completion_token: 1.5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'thedrummer/rocinante-12b', + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-3b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-3b-instruct', + }, + cost: { + prompt_token: 1.8e-8, + completion_token: 3e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-1b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-1b-instruct', + }, + cost: { + prompt_token: 1e-8, + completion_token: 2e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-90b-vision-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-90b-vision-instruct', + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-11b-vision-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.2-11b-vision-instruct', + }, + cost: { + prompt_token: 5.5e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2.5-72b-instruct', + }, + cost: { + prompt_token: 2.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2-vl-72b-instruct', + }, + cost: { + prompt_token: 4e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'neversleep/llama-3.1-lumimaid-8b', + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/o1-mini-2024-09-12', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.2e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/o1-preview', + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/o1-preview-2024-09-12', + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/o1-mini', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.2e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/pixtral-12b', + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r-08-2024', + }, + cost: { + prompt_token: 1.425e-7, + completion_token: 5.7e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r-plus-08-2024', + }, + cost: { + prompt_token: 2.375e-6, + completion_token: 9.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2-vl-7b-instruct', + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-flash-1.5-exp', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'sao10k/l3.1-euryale-70b', + }, + cost: { + prompt_token: 3.5e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-flash-1.5-8b-exp', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'ai21/jamba-1-5-large', + }, + cost: { + prompt_token: 2e-6, + completion_token: 8e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'ai21/jamba-1-5-mini', + }, + cost: { + prompt_token: 2e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/phi-3.5-mini-128k-instruct', + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'nousresearch/hermes-3-llama-3.1-70b', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'nousresearch/hermes-3-llama-3.1-405b', + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3.1-sonar-huge-128k-online', + }, + cost: { + prompt_token: 5e-6, + completion_token: 5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/chatgpt-4o-latest', + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'sao10k/l3-lunaris-8b', + }, + cost: { + prompt_token: 3e-8, + completion_token: 6e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'aetherwiing/mn-starcannon-12b', + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o-2024-08-06', + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-405b', + }, + cost: { + prompt_token: 2e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'nothingiisreal/mn-celeste-12b', + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3.1-sonar-small-128k-chat', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-pro-1.5-exp', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3.1-sonar-large-128k-chat', + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3.1-sonar-large-128k-online', + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3.1-sonar-small-128k-online', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-405b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-405b-instruct', + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-405b-instruct:nitro', + }, + cost: { + prompt_token: 1.462e-5, + completion_token: 1.462e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-8b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-8b-instruct', + }, + cost: { + prompt_token: 2e-8, + completion_token: 5e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-70b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-70b-instruct', + }, + cost: { + prompt_token: 1.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3.1-70b-instruct:nitro', + }, + cost: { + prompt_token: 3.25e-6, + completion_token: 3.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-nemo', + }, + cost: { + prompt_token: 4e-8, + completion_token: 9e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/codestral-mamba', + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 2.5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o-mini', + }, + cost: { + prompt_token: 1.5e-7, + completion_token: 6e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o-mini-2024-07-18', + }, + cost: { + prompt_token: 1.5e-7, + completion_token: 6e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2-7b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2-7b-instruct', + }, + cost: { + prompt_token: 5.4e-8, + completion_token: 5.4e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemma-2-27b-it', + }, + cost: { + prompt_token: 2.7e-7, + completion_token: 2.7e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'alpindale/magnum-72b', + }, + cost: { + prompt_token: 1.875e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemma-2-9b-it:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemma-2-9b-it', + }, + cost: { + prompt_token: 3e-8, + completion_token: 6e-8, + }, + }, + { + model: { + operator: 'equals', + value: '01-ai/yi-large', + }, + cost: { + prompt_token: 3e-6, + completion_token: 3e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'ai21/jamba-instruct', + }, + cost: { + prompt_token: 5e-7, + completion_token: 7e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-sonnet-20240620:beta', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3.5-sonnet-20240620', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'sao10k/l3-euryale-70b', + }, + cost: { + prompt_token: 3.5e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'cognitivecomputations/dolphin-mixtral-8x22b', + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'qwen/qwen-2-72b-instruct', + }, + cost: { + prompt_token: 3.4e-7, + completion_token: 3.9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-7b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-7b-instruct', + }, + cost: { + prompt_token: 3e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-7b-instruct:nitro', + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-7b-instruct-v0.3', + }, + cost: { + prompt_token: 3e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'nousresearch/hermes-2-pro-llama-3-8b', + }, + cost: { + prompt_token: 3e-8, + completion_token: 3e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/phi-3-mini-128k-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/phi-3-mini-128k-instruct', + }, + cost: { + prompt_token: 1e-7, + completion_token: 1e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/phi-3-medium-128k-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/phi-3-medium-128k-instruct', + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'neversleep/llama-3-lumimaid-70b', + }, + cost: { + prompt_token: 3.375e-6, + completion_token: 4.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-flash-1.5', + }, + cost: { + prompt_token: 7.5e-8, + completion_token: 3e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3-sonar-large-32k-online', + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'deepseek/deepseek-chat', + }, + cost: { + prompt_token: 1.4e-7, + completion_token: 2.8e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3-sonar-small-32k-chat', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'perplexity/llama-3-sonar-large-32k-chat', + }, + cost: { + prompt_token: 1e-6, + completion_token: 1e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o-2024-05-13', + }, + cost: { + prompt_token: 5e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-guard-2-8b', + }, + cost: { + prompt_token: 1.8e-7, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o', + }, + cost: { + prompt_token: 2.5e-6, + completion_token: 1e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4o:extended', + }, + cost: { + prompt_token: 6e-6, + completion_token: 1.8e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'neversleep/llama-3-lumimaid-8b:extended', + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'neversleep/llama-3-lumimaid-8b', + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3-8b-instruct:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3-8b-instruct', + }, + cost: { + prompt_token: 3e-8, + completion_token: 6e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3-8b-instruct:extended', + }, + cost: { + prompt_token: 1.875e-7, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3-8b-instruct:nitro', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3-70b-instruct', + }, + cost: { + prompt_token: 2.3e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-3-70b-instruct:nitro', + }, + cost: { + prompt_token: 7.92e-7, + completion_token: 7.92e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mixtral-8x22b-instruct', + }, + cost: { + prompt_token: 9e-7, + completion_token: 9e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/wizardlm-2-8x22b', + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'microsoft/wizardlm-2-7b', + }, + cost: { + prompt_token: 5.5e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-pro-1.5', + }, + cost: { + prompt_token: 1.25e-6, + completion_token: 5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-turbo', + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r-plus', + }, + cost: { + prompt_token: 2.85e-6, + completion_token: 1.425e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r-plus-04-2024', + }, + cost: { + prompt_token: 2.85e-6, + completion_token: 1.425e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'databricks/dbrx-instruct', + }, + cost: { + prompt_token: 1.08e-6, + completion_token: 1.08e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'sophosympatheia/midnight-rose-70b', + }, + cost: { + prompt_token: 8e-7, + completion_token: 8e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command', + }, + cost: { + prompt_token: 9.5e-7, + completion_token: 1.9e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r', + }, + cost: { + prompt_token: 4.75e-7, + completion_token: 1.425e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3-haiku:beta', + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 1.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3-haiku', + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 1.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3-opus:beta', + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 7.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3-opus', + }, + cost: { + prompt_token: 1.5e-5, + completion_token: 7.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3-sonnet:beta', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-3-sonnet', + }, + cost: { + prompt_token: 3e-6, + completion_token: 1.5e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'cohere/command-r-03-2024', + }, + cost: { + prompt_token: 4.75e-7, + completion_token: 1.425e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-large', + }, + cost: { + prompt_token: 2e-6, + completion_token: 6e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-3.5-turbo-0613', + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-turbo-preview', + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'nousresearch/nous-hermes-2-mixtral-8x7b-dpo', + }, + cost: { + prompt_token: 5.4e-7, + completion_token: 5.4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-small', + }, + cost: { + prompt_token: 2e-7, + completion_token: 6e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-tiny', + }, + cost: { + prompt_token: 2.5e-7, + completion_token: 2.5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-medium', + }, + cost: { + prompt_token: 2.75e-6, + completion_token: 8.1e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-7b-instruct-v0.2', + }, + cost: { + prompt_token: 1.8e-7, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'cognitivecomputations/dolphin-mixtral-8x7b', + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-pro-vision', + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'google/gemini-pro', + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mixtral-8x7b', + }, + cost: { + prompt_token: 5.4e-7, + completion_token: 5.4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mixtral-8x7b-instruct', + }, + cost: { + prompt_token: 2.4e-7, + completion_token: 2.4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mixtral-8x7b-instruct:nitro', + }, + cost: { + prompt_token: 5.4e-7, + completion_token: 5.4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openchat/openchat-7b:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'openchat/openchat-7b', + }, + cost: { + prompt_token: 5.5e-8, + completion_token: 5.5e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'neversleep/noromaid-20b', + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-2:beta', + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-2', + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-2.1:beta', + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-2.1', + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'teknium/openhermes-2.5-mistral-7b', + }, + cost: { + prompt_token: 1.7e-7, + completion_token: 1.7e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-vision-preview', + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'lizpreciatior/lzlv-70b-fp16-hf', + }, + cost: { + prompt_token: 3.5e-7, + completion_token: 4e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'undi95/toppy-m-7b:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'undi95/toppy-m-7b:nitro', + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'undi95/toppy-m-7b', + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'alpindale/goliath-120b', + }, + cost: { + prompt_token: 9.375e-6, + completion_token: 9.375e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openrouter/auto', + }, + cost: { + prompt_token: -1.0, + completion_token: -1.0, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-3.5-turbo-1106', + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-1106-preview', + }, + cost: { + prompt_token: 1e-5, + completion_token: 3e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'google/palm-2-chat-bison-32k', + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'google/palm-2-codechat-bison-32k', + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'jondurbin/airoboros-l2-70b', + }, + cost: { + prompt_token: 5e-7, + completion_token: 5e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'xwin-lm/xwin-lm-70b', + }, + cost: { + prompt_token: 3.75e-6, + completion_token: 3.75e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-3.5-turbo-instruct', + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'mistralai/mistral-7b-instruct-v0.1', + }, + cost: { + prompt_token: 1.8e-7, + completion_token: 1.8e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'pygmalionai/mythalion-13b', + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-3.5-turbo-16k', + }, + cost: { + prompt_token: 3e-6, + completion_token: 4e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-32k', + }, + cost: { + prompt_token: 6e-5, + completion_token: 0.00012, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-32k-0314', + }, + cost: { + prompt_token: 6e-5, + completion_token: 0.00012, + }, + }, + { + model: { + operator: 'equals', + value: 'nousresearch/nous-hermes-llama2-13b', + }, + cost: { + prompt_token: 1.7e-7, + completion_token: 1.7e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'mancer/weaver', + }, + cost: { + prompt_token: 1.5e-6, + completion_token: 2.25e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'huggingfaceh4/zephyr-7b-beta:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-2.0:beta', + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'anthropic/claude-2.0', + }, + cost: { + prompt_token: 8e-6, + completion_token: 2.4e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'undi95/remm-slerp-l2-13b', + }, + cost: { + prompt_token: 8e-7, + completion_token: 1.2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'undi95/remm-slerp-l2-13b:extended', + }, + cost: { + prompt_token: 1.125e-6, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'google/palm-2-chat-bison', + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'google/palm-2-codechat-bison', + }, + cost: { + prompt_token: 1e-6, + completion_token: 2e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'gryphe/mythomax-l2-13b:free', + }, + cost: { + prompt_token: 0.0, + completion_token: 0.0, + }, + }, + { + model: { + operator: 'equals', + value: 'gryphe/mythomax-l2-13b', + }, + cost: { + prompt_token: 7e-8, + completion_token: 7e-8, + }, + }, + { + model: { + operator: 'equals', + value: 'gryphe/mythomax-l2-13b:nitro', + }, + cost: { + prompt_token: 2e-7, + completion_token: 2e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'gryphe/mythomax-l2-13b:extended', + }, + cost: { + prompt_token: 1.125e-6, + completion_token: 1.125e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/llama-2-13b-chat', + }, + cost: { + prompt_token: 1.98e-7, + completion_token: 1.98e-7, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-3.5-turbo', + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-3.5-turbo-0125', + }, + cost: { + prompt_token: 5e-7, + completion_token: 1.5e-6, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4', + }, + cost: { + prompt_token: 3e-5, + completion_token: 6e-5, + }, + }, + { + model: { + operator: 'equals', + value: 'openai/gpt-4-0314', + }, + cost: { + prompt_token: 3e-5, + completion_token: 6e-5, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts index a8aca9915a543..b3a078f878f90 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts @@ -3,27 +3,27 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../interfaces/Cost"; +import { ModelRow } from '../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "includes", - value: "llama", + { + model: { + operator: 'includes', + value: 'llama', + }, + cost: { + prompt_token: 3e-7, + completion_token: 3e-7, + }, }, - cost: { - prompt_token: 3e-7, - completion_token: 3e-7, + { + model: { + operator: 'includes', + value: 'mistral', + }, + cost: { + prompt_token: 3e-7, + completion_token: 3e-7, + }, }, - }, - { - model: { - operator: "includes", - value: "mistral", - }, - cost: { - prompt_token: 3e-7, - completion_token: 3e-7, - }, - }, -]; +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts index 48d570e4f17f3..3aff1f5ed08fd 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts @@ -3,501 +3,501 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../../interfaces/Cost"; +import { ModelRow } from '../../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "allenai/OLMo-7B-Instruct", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "allenai/OLMo-7B-Twin-2T", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "allenai/OLMo-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Austism/chronos-hermes-13b", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "deepseek-ai/deepseek-coder-33b-instruct", - }, - cost: { - prompt_token: 0.0000008, - completion_token: 0.0000008, - }, - }, - - { - model: { - operator: "equals", - value: "garage-bAInd/Platypus2-70B-instruct", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: "equals", - value: "google/gemma-2b-it", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "google/gemma-7b-it", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Gryphe/MythoMax-L2-13b", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "lmsys/vicuna-13b-v1.5", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "lmsys/vicuna-7b-v1.5", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "mistralai/Mistral-7B-Instruct-v0.1", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "mistralai/Mistral-7B-Instruct-v0.2", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "mistralai/Mixtral-8x7B-Instruct-v0.1", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: "equals", - value: "NousResearch/Nous-Capybara-7B-V1p9", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: "equals", - value: "NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: "equals", - value: "NousResearch/Nous-Hermes-2-Yi-34B", - }, - cost: { - prompt_token: 0.0000008, - completion_token: 0.0000008, - }, - }, - - { - model: { - operator: "equals", - value: "openchat/openchat-3.5-1210", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Open-Orca/Mistral-7B-OpenOrca", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-0.5B-Chat", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-1.8B-Chat", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-4B-Chat", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-7B-Chat", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-14B-Chat", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "snorkelai/Snorkel-Mistral-PairRM-DPO", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/alpaca-7b", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "teknium/OpenHermes-2-Mistral-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "teknium/OpenHermes-2p5-Mistral-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/RedPajama-INCITE-Chat-3B-v1", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/RedPajama-INCITE-7B-Chat", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/StripedHyena-Nous-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Undi95/ReMM-SLERP-L2-13B", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "Undi95/Toppy-M-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "WizardLM/WizardLM-13B-V1.2", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "upstage/SOLAR-10.7B-Instruct-v1.0", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.0000035, - completion_token: 0.0000035, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-8B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-70B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-8B-Instruct-Lite", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-70B-Instruct-Lite", - }, - cost: { - prompt_token: 0.00000054, - completion_token: 0.00000054, - }, - }, - - { - model: { - operator: "equals", - value: "microsoft/WizardLM-2-8x22B", - }, - cost: { - prompt_token: 0.0000012, - completion_token: 0.0000012, - }, - }, - - { - model: { - operator: "equals", - value: "mistralai/Mixtral-8x22B-Instruct-v0.1", - }, - cost: { - prompt_token: 0.0000024, - completion_token: 0.0000024, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'allenai/OLMo-7B-Instruct', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'allenai/OLMo-7B-Twin-2T', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'allenai/OLMo-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Austism/chronos-hermes-13b', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'deepseek-ai/deepseek-coder-33b-instruct', + }, + cost: { + prompt_token: 0.0000008, + completion_token: 0.0000008, + }, + }, + + { + model: { + operator: 'equals', + value: 'garage-bAInd/Platypus2-70B-instruct', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: 'equals', + value: 'google/gemma-2b-it', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'google/gemma-7b-it', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Gryphe/MythoMax-L2-13b', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'lmsys/vicuna-13b-v1.5', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'lmsys/vicuna-7b-v1.5', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'mistralai/Mistral-7B-Instruct-v0.1', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'mistralai/Mistral-7B-Instruct-v0.2', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'mistralai/Mixtral-8x7B-Instruct-v0.1', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: 'equals', + value: 'NousResearch/Nous-Capybara-7B-V1p9', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: 'equals', + value: 'NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: 'equals', + value: 'NousResearch/Nous-Hermes-2-Yi-34B', + }, + cost: { + prompt_token: 0.0000008, + completion_token: 0.0000008, + }, + }, + + { + model: { + operator: 'equals', + value: 'openchat/openchat-3.5-1210', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Open-Orca/Mistral-7B-OpenOrca', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-0.5B-Chat', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-1.8B-Chat', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-4B-Chat', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-7B-Chat', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-14B-Chat', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'snorkelai/Snorkel-Mistral-PairRM-DPO', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/alpaca-7b', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'teknium/OpenHermes-2-Mistral-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'teknium/OpenHermes-2p5-Mistral-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/RedPajama-INCITE-Chat-3B-v1', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/RedPajama-INCITE-7B-Chat', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/StripedHyena-Nous-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Undi95/ReMM-SLERP-L2-13B', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'Undi95/Toppy-M-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'WizardLM/WizardLM-13B-V1.2', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'upstage/SOLAR-10.7B-Instruct-v1.0', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.0000035, + completion_token: 0.0000035, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-8B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-70B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-8B-Instruct-Lite', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-70B-Instruct-Lite', + }, + cost: { + prompt_token: 0.00000054, + completion_token: 0.00000054, + }, + }, + + { + model: { + operator: 'equals', + value: 'microsoft/WizardLM-2-8x22B', + }, + cost: { + prompt_token: 0.0000012, + completion_token: 0.0000012, + }, + }, + + { + model: { + operator: 'equals', + value: 'mistralai/Mixtral-8x22B-Instruct-v0.1', + }, + cost: { + prompt_token: 0.0000024, + completion_token: 0.0000024, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts index 32db21c26d7be..49acf618095d9 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts @@ -3,208 +3,208 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../../interfaces/Cost"; +import { ModelRow } from '../../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "codellama/CodeLlama-13b-Instruct-hf", + { + model: { + operator: 'equals', + value: 'codellama/CodeLlama-13b-Instruct-hf', + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, - }, - }, - { - model: { - operator: "equals", - value: "codellama/CodeLlama-34b-Instruct-hf", - }, - cost: { - prompt_token: 0.000000776, - completion_token: 0.000000776, + { + model: { + operator: 'equals', + value: 'codellama/CodeLlama-34b-Instruct-hf', + }, + cost: { + prompt_token: 0.000000776, + completion_token: 0.000000776, + }, }, - }, - { - model: { - operator: "equals", - value: "codellama/CodeLlama-70b-Instruct-hf", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, + { + model: { + operator: 'equals', + value: 'codellama/CodeLlama-70b-Instruct-hf', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, }, - }, - { - model: { - operator: "equals", - value: "codellama/CodeLlama-7b-Instruct-hf", + { + model: { + operator: 'equals', + value: 'codellama/CodeLlama-7b-Instruct-hf', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-2-70b-chat-hf", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-2-70b-chat-hf', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-2-13b-chat-hf", - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-2-13b-chat-hf', + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-2-7b-chat-hf", + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-2-7b-chat-hf', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-3-70b-chat-hf", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-3-70b-chat-hf', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-3-8b-chat-hf", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-3-8b-chat-hf', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, }, - }, - { - model: { - operator: "equals", - value: "NousResearch/Nous-Hermes-llama-2-7b", + { + model: { + operator: 'equals', + value: 'NousResearch/Nous-Hermes-llama-2-7b', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "NousResearch/Nous-Hermes-Llama2-13b", - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, + { + model: { + operator: 'equals', + value: 'NousResearch/Nous-Hermes-Llama2-13b', + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, }, - }, - { - model: { - operator: "equals", - value: "togethercomputer/Llama-2-7B-32K-Instruct", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000005, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-70B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-8B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-70B-Instruct-Lite", - }, - cost: { - prompt_token: 0.00000054, - completion_token: 0.00000054, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-8B-Instruct-Lite", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'togethercomputer/Llama-2-7B-32K-Instruct', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000005, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-70B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-8B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000018, + completion_token: 0.00000018, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-70B-Instruct-Lite', + }, + cost: { + prompt_token: 0.00000054, + completion_token: 0.00000054, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-8B-Instruct-Lite', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts index 47510b10a8c4c..44f6abbead7ff 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts @@ -3,226 +3,226 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../../interfaces/Cost"; +import { ModelRow } from '../../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "zero-one-ai/Yi-34B", - }, - cost: { - prompt_token: 0.0000008, - completion_token: 0.0000008, - }, - }, - - { - model: { - operator: "equals", - value: "zero-one-ai/Yi-6B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "google/gemma-2b", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "google/gemma-7b", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "microsoft/phi-2", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Nexusflow/NexusRaven-V2-13B", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-0.5B", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-1.8B", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-4B", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-14B", - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: "equals", - value: "Qwen/Qwen1.5-72B", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/GPT-JT-Moderation-6B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/RedPajama-INCITE-Base-3B-v1", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/RedPajama-INCITE-7B-Base", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/RedPajama-INCITE-Instruct-3B-v1", - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/RedPajama-INCITE-7B-Instruct", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "togethercomputer/StripedHyena-Hessian-7B", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "mistralai/Mistral-7B-v0.1", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: "equals", - value: "mistralai/Mixtral-8x7B-v0.1", - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'zero-one-ai/Yi-34B', + }, + cost: { + prompt_token: 0.0000008, + completion_token: 0.0000008, + }, + }, + + { + model: { + operator: 'equals', + value: 'zero-one-ai/Yi-6B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'google/gemma-2b', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'google/gemma-7b', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'microsoft/phi-2', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Nexusflow/NexusRaven-V2-13B', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-0.5B', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-1.8B', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-4B', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-14B', + }, + cost: { + prompt_token: 0.0000003, + completion_token: 0.0000003, + }, + }, + + { + model: { + operator: 'equals', + value: 'Qwen/Qwen1.5-72B', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/GPT-JT-Moderation-6B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/RedPajama-INCITE-Base-3B-v1', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/RedPajama-INCITE-7B-Base', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/RedPajama-INCITE-Instruct-3B-v1', + }, + cost: { + prompt_token: 0.0000001, + completion_token: 0.0000001, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/RedPajama-INCITE-7B-Instruct', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'togethercomputer/StripedHyena-Hessian-7B', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'mistralai/Mistral-7B-v0.1', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + + { + model: { + operator: 'equals', + value: 'mistralai/Mixtral-8x7B-v0.1', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts index 95cc78e736992..04b8924c9ed68 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts @@ -3,132 +3,132 @@ * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs */ -import { ModelRow } from "../../../interfaces/Cost"; +import { ModelRow } from '../../../interfaces/Cost' export const costs: ModelRow[] = [ - { - model: { - operator: "equals", - value: "meta-llama/Llama-2-70b-hf", + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-2-70b-hf', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-2-13b-hf", - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-2-13b-hf', + }, + cost: { + prompt_token: 0.000000225, + completion_token: 0.000000225, + }, }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-2-7b-hf", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-2-7b-hf', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3-70B", + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3-70B', + }, + cost: { + prompt_token: 0.0000009, + completion_token: 0.0000009, + }, }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Llama-3-8b-hf", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, + { + model: { + operator: 'equals', + value: 'meta-llama/Llama-3-8b-hf', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, }, - }, - { - model: { - operator: "equals", - value: "togethercomputer/LLaMA-2-7B-32K", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: "equals", - value: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000005, - }, - }, - { - model: { - operator: "includes", - value: "togethercomputer/Meta-Llama-3.1-8B-Instruct-Reference", - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.00000018, - }, - }, - { - model: { - operator: "includes", - value: "togethercomputer/Meta-Llama-3.1-70B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: "includes", - value: "togethercomputer/Meta-Llama-3.1-405B-Instruct-Turbo", - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000005, - }, - }, -]; + { + model: { + operator: 'equals', + value: 'togethercomputer/LLaMA-2-7B-32K', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.0000002, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: 'equals', + value: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000005, + }, + }, + { + model: { + operator: 'includes', + value: 'togethercomputer/Meta-Llama-3.1-8B-Instruct-Reference', + }, + cost: { + prompt_token: 0.0000002, + completion_token: 0.00000018, + }, + }, + { + model: { + operator: 'includes', + value: 'togethercomputer/Meta-Llama-3.1-70B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.00000088, + completion_token: 0.00000088, + }, + }, + { + model: { + operator: 'includes', + value: 'togethercomputer/Meta-Llama-3.1-405B-Instruct-Turbo', + }, + cost: { + prompt_token: 0.000005, + completion_token: 0.000005, + }, + }, +] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js index 2e14512da4140..f4a0ade609549 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js @@ -1,57 +1,60 @@ -const { createEvent, getMeta, resetMeta, clone } = require("@posthog/plugin-scaffold/test/utils"); +const { createEvent, getMeta, resetMeta, clone } = require('@posthog/plugin-scaffold/test/utils') -const { processEvent } = require("./index"); +const { processEvent } = require('./index') beforeEach(() => { // Making sure plugin meta has our custom test config resetMeta({ config: { - greeting: "Dzień dobry!", + greeting: 'Dzień dobry!', }, - }); -}); + }) +}) -test("processEvent adds properties", async () => { +test('processEvent adds properties', async () => { // Create a random event - const event0 = createEvent({ event: "$ai_generation", properties: { - $ai_provider: "openai", - $ai_model: "gpt-4-turbo-2024-04-09", - $ai_input_tokens: 100, - $ai_output_tokens: 200 - } - }); + const event0 = createEvent({ + event: '$ai_generation', + properties: { + $ai_provider: 'openai', + $ai_model: 'gpt-4-turbo-2024-04-09', + $ai_input_tokens: 100, + $ai_output_tokens: 200, + }, + }) // Must clone the event since `processEvent` will mutate it - const event1 = await processEvent(clone(event0), getMeta()); + const event1 = await processEvent(clone(event0), getMeta()) expect(event1).toEqual({ ...event0, properties: { ...event0.properties, $ai_input_cost_usd: 0.001, $ai_output_cost_usd: 0.006, - $ai_total_cost_usd: 0.007 + $ai_total_cost_usd: 0.007, }, - }); + }) // Floating point fun - const event2 = createEvent({ event: "$ai_generation", properties: { - $ai_provider: "openai", - $ai_model: "gpt-4o-mini", - $ai_input_tokens: 25, - $ai_output_tokens: 100 - } - }); + const event2 = createEvent({ + event: '$ai_generation', + properties: { + $ai_provider: 'openai', + $ai_model: 'gpt-4o-mini', + $ai_input_tokens: 25, + $ai_output_tokens: 100, + }, + }) // Must clone the event since `processEvent` will mutate it - const event3 = await processEvent(clone(event2), getMeta()); + const event3 = await processEvent(clone(event2), getMeta()) expect(event3).toEqual({ ...event2, properties: { ...event2.properties, $ai_input_cost_usd: 0.00000375, $ai_output_cost_usd: 0.00006, - $ai_total_cost_usd: 0.00006375 + $ai_total_cost_usd: 0.00006375, }, - }); - -}); + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts index c1c2605df4921..36fa0e3f72ff0 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts @@ -6,10 +6,9 @@ import { Plugin, PluginEvent, PluginMeta, RetryError } from '@posthog/plugin-sca import { defaultProvider, providers } from './ai-cost-data/mappings' import bigDecimal from 'js-big-decimal' - // Plugin method that processes event export async function processEvent(event: PluginEvent): Promise { - if (event.event !== '$ai_generation' || !event.properties) { + if (event.event !== '$ai_generation' || !event.properties) { return event } @@ -18,41 +17,43 @@ export async function processEvent(event: PluginEvent): Promise { } const provider = providers.find((provider) => event.properties['$ai_provider'] === provider.provider.toLowerCase()) - if(!provider || !provider.costs) { + if (!provider || !provider.costs) { return event } - const cost = findCostFromModel( - provider.costs, - event.properties['$ai_model'] - ) - if(!cost) { + const cost = findCostFromModel(provider.costs, event.properties['$ai_model']) + if (!cost) { return event } - if(event.properties['$ai_input_tokens']) { - event.properties['$ai_input_cost_usd'] = parseFloat(bigDecimal.multiply(cost.cost.prompt_token, event.properties['$ai_input_tokens'])) + if (event.properties['$ai_input_tokens']) { + event.properties['$ai_input_cost_usd'] = parseFloat( + bigDecimal.multiply(cost.cost.prompt_token, event.properties['$ai_input_tokens']) + ) } - if(event.properties['$ai_output_tokens']) { - event.properties['$ai_output_cost_usd'] = parseFloat(bigDecimal.multiply(cost.cost.completion_token, event.properties['$ai_output_tokens'])) + if (event.properties['$ai_output_tokens']) { + event.properties['$ai_output_cost_usd'] = parseFloat( + bigDecimal.multiply(cost.cost.completion_token, event.properties['$ai_output_tokens']) + ) } - if(event.properties['$ai_input_cost_usd'] && event.properties['$ai_output_cost_usd']) { - event.properties['$ai_total_cost_usd'] = parseFloat(bigDecimal.add(event.properties['$ai_input_cost_usd'], event.properties['$ai_output_cost_usd'])) + if (event.properties['$ai_input_cost_usd'] && event.properties['$ai_output_cost_usd']) { + event.properties['$ai_total_cost_usd'] = parseFloat( + bigDecimal.add(event.properties['$ai_input_cost_usd'], event.properties['$ai_output_cost_usd']) + ) } return event } - const findCostFromModel = (costs: ModelRow[], aiModel: string): ModelRow | undefined => { return costs.find((cost) => { - const valueLower = cost.model.value.toLowerCase(); - if (cost.model.operator === "startsWith") { - return aiModel.startsWith(valueLower); - } else if (cost.model.operator === "includes") { - return aiModel.includes(valueLower); + const valueLower = cost.model.value.toLowerCase() + if (cost.model.operator === 'startsWith') { + return aiModel.startsWith(valueLower) + } else if (cost.model.operator === 'includes') { + return aiModel.includes(valueLower) } - return valueLower === aiModel; - }); + return valueLower === aiModel + }) } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts index 4f48f8f40ef59..2b255a0460fd6 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts @@ -1,54 +1,54 @@ interface TextOperator { - operator: "equals" | "startsWith" | "includes"; - value: string; - } - - export interface ModelDetails { - matches: string[]; - searchTerms: string[]; + operator: 'equals' | 'startsWith' | 'includes' + value: string +} + +export interface ModelDetails { + matches: string[] + searchTerms: string[] info: { - releaseDate: string; - maxTokens?: number; - description: string; - tradeOffs: string[]; - benchmarks: { - [key: string]: number; - }; - capabilities: string[]; - strengths: string[]; - weaknesses: string[]; - recommendations: string[]; - }; - } - - export type ModelDetailsMap = { - [key: string]: ModelDetails; - }; - - export interface ModelRow { - model: TextOperator; + releaseDate: string + maxTokens?: number + description: string + tradeOffs: string[] + benchmarks: { + [key: string]: number + } + capabilities: string[] + strengths: string[] + weaknesses: string[] + recommendations: string[] + } +} + +export type ModelDetailsMap = { + [key: string]: ModelDetails +} + +export interface ModelRow { + model: TextOperator cost: { - prompt_token: number; - completion_token: number; - }; - showInPlayground?: boolean; - targetUrl?: string; + prompt_token: number + completion_token: number + } + showInPlayground?: boolean + targetUrl?: string dateRange?: { - start: string; - end: string; - }; - } - - export interface ModelRow { - model: TextOperator; + start: string + end: string + } +} + +export interface ModelRow { + model: TextOperator cost: { - prompt_token: number; - completion_token: number; - }; - showInPlayground?: boolean; - targetUrl?: string; + prompt_token: number + completion_token: number + } + showInPlayground?: boolean + targetUrl?: string dateRange?: { - start: string; - end: string; - }; - } \ No newline at end of file + start: string + end: string + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json index 55ced51c3cf49..8083d71f63077 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json @@ -2,4 +2,4 @@ "noExternal": ["*", "js-big-decimal"], "treeshake": true, "minify": true -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts index e9ff9c4c3e530..fd741a62feaa6 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts @@ -679,5 +679,4 @@ describe('ParamsToPropertiesPlugin', () => { expect(sourceEvent.properties).toBeDefined() } }) - }) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts index 2bf2a1ed31616..c8a2bdbf64408 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts @@ -9,11 +9,11 @@ import { randomUUID } from 'crypto' interface AvoInspectorMeta { global: { - defaultHeaders: Record, - excludeEvents: Set, - includeEvents: Set, - excludeProperties: Set, - includeProperties: Set, + defaultHeaders: Record + excludeEvents: Set + includeEvents: Set + excludeProperties: Set + includeProperties: Set } config: { appName: string @@ -53,7 +53,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L const isIncluded = global.includeEvents.length > 0 ? global.includeEvents.has(event.event) : true const isExcluded = global.excludeEvents.has(event.event) - if (event.event.startsWith("$") || (isExcluded || !isIncluded)) { + if (event.event.startsWith('$') || isExcluded || !isIncluded) { return } @@ -77,28 +77,34 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L type: 'event', eventName: event.event, messageId: event.uuid, - eventProperties: event.properties ? convertPosthogPropsToAvoProps(event.properties, global.excludeProperties, global.includeProperties) : [], + eventProperties: event.properties + ? convertPosthogPropsToAvoProps(event.properties, global.excludeProperties, global.includeProperties) + : [], } await fetch('https://api.avo.app/inspector/posthog/v1/track', { method: 'POST', headers: global.defaultHeaders, - body: JSON.stringify([avoEvent]) - }) + body: JSON.stringify([avoEvent]), + }) } -const convertPosthogPropsToAvoProps = (properties: Record, excludeProperties: Set, includeProperties: Set): Record[] => { +const convertPosthogPropsToAvoProps = ( + properties: Record, + excludeProperties: Set, + includeProperties: Set +): Record[] => { const avoProps = [] for (const [propertyName, propertyValue] of Object.entries(properties)) { const isIncluded = includeProperties.size > 0 ? includeProperties.has(propertyName) : true const isExcluded = excludeProperties.has(propertyName) - if (propertyName.startsWith("$") || (isExcluded || !isIncluded)) { - continue; + if (propertyName.startsWith('$') || isExcluded || !isIncluded) { + continue } - avoProps.push({ propertyName, propertyType: getPropValueType(propertyValue) }); + avoProps.push({ propertyName, propertyType: getPropValueType(propertyValue) }) } return avoProps } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts index 1b12c5c129fb2..e18a3f4baeadc 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -213,7 +213,6 @@ export const onEvent = async (pluginEvent: ProcessedPluginEvent, meta: BrazePlug meta.logger.log(`🚀 Exported 1 event to Braze in ${elapsedTime} seconds.`) } - export const brazePlugin: LegacyPlugin = { id: 'braze', metadata: metadata as any, diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts index 6f5e373764fb1..83729f9f20371 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts @@ -1,9 +1,7 @@ -import { - ISODateString, -} from '../index' +import { ISODateString } from '../index' // eslint-disable-next-line @typescript-eslint/no-unused-vars test('ISODateString', () => { expect(ISODateString(new Date(1648458820359))).toEqual('2022-03-28T09:13:40.359Z') -}) \ No newline at end of file +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts index c37ef53964f8a..9fbb27a86bd97 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts @@ -4,36 +4,36 @@ import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' const onEvent = async (_event: ProcessedPluginEvent, { config, fetch }: LegacyPluginMeta): Promise => { - const event = _event.event - if (event.startsWith('$')) { - // only process a specific set of custom events - if (!['$identify', '$groupidentify', '$set', '$unset', '$create_alias'].includes(event)) { - return + const event = _event.event + if (event.startsWith('$')) { + // only process a specific set of custom events + if (!['$identify', '$groupidentify', '$set', '$unset', '$create_alias'].includes(event)) { + return + } + } + // Ignore plugin events + if (event.startsWith('plugin')) { + return } - } - // Ignore plugin events - if (event.startsWith('plugin')) { - return - } - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - delete config.publicKey - delete config.secret - _event.config = config + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + delete config.publicKey + delete config.secret + _event.config = config - await fetch('https://api.engage.so/posthog', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - Authorization: auth - }, - body: JSON.stringify(_event) - }) + await fetch('https://api.engage.so/posthog', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + body: JSON.stringify(_event), + }) } export const engagePlugin: LegacyPlugin = { - id: 'engage', - metadata: metadata as any, - setupPlugin: () => Promise.resolve(), - onEvent, + id: 'engage', + metadata: metadata as any, + setupPlugin: () => Promise.resolve(), + onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json index 929684e837eb1..d76b01d062f84 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json @@ -4,34 +4,31 @@ "description": "Send user and event data to Engage for personalized engagement.", "main": "index.js", "config": [ - { - "key": "publicKey", - "name": "Public key", - "type": "string", - "default": "", - "hint": "Get your public key from your Engage dashboard (Settings -> Account)", - "required": true, - "secret": true - }, - { - "key": "secret", - "name":"Private key", - "type": "string", - "default": "", - "hint": "Get your private key from your Engage dashboard (Settings -> Account)", - "required": true, - "secret": true - }, - { - "key": "filter", - "name":"Event filter", - "type": "choice", - "default": "Send events for all users", - "hint": "Sending events for only identified users ensures user and event data for anonymous users are not sent to Engage. However, note that if they are later identified, you will miss the leading events before identification.", - "choices": [ - "Send events for all users", - "Only send events for identified users" - ] - } + { + "key": "publicKey", + "name": "Public key", + "type": "string", + "default": "", + "hint": "Get your public key from your Engage dashboard (Settings -> Account)", + "required": true, + "secret": true + }, + { + "key": "secret", + "name": "Private key", + "type": "string", + "default": "", + "hint": "Get your private key from your Engage dashboard (Settings -> Account)", + "required": true, + "secret": true + }, + { + "key": "filter", + "name": "Event filter", + "type": "choice", + "default": "Send events for all users", + "hint": "Sending events for only identified users ensures user and event data for anonymous users are not sent to Engage. However, note that if they are later identified, you will miss the leading events before identification.", + "choices": ["Send events for all users", "Only send events for identified users"] + } ] - } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js index ba816ada8a494..55d1d878ada9f 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js @@ -1,168 +1,168 @@ const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils') const { composeWebhook } = require('../index') const config = { - publicKey: 'ENGAGE_PUBLIC_KEY', - secret: 'ENGAGE_SEECRET', - filter: 'Send events for all users' + publicKey: 'ENGAGE_PUBLIC_KEY', + secret: 'ENGAGE_SEECRET', + filter: 'Send events for all users', } beforeEach(() => { - resetMeta({ - config - }) + resetMeta({ + config, + }) }) test('composeWebhook to send the correct data for $identify event (user)', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - - const event = { - event: '$identify', - distinct_id: 'user01', - properties: { - $set: { - first_name: 'User', - plan: 'Pro' - }, - $set_once: { - last_name: '01' - }, - token: '[some token]', - distinct_id: '[distinct_id]' + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: '$identify', + distinct_id: 'user01', + properties: { + $set: { + first_name: 'User', + plan: 'Pro', + }, + $set_once: { + last_name: '01', + }, + token: '[some token]', + distinct_id: '[distinct_id]', + }, } - } - - const response = await composeWebhook(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth - }, - method: 'POST' - }) - ) + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) }) test('composeWebhook to send the correct data for $identify event (group)', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - - const event = { - event: '$groupidentify', - distinct_id: 'user01', - properties: { - $group_type: 'company', - $group_key: 'group123', - $group_set: { - name: 'Group' - } + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: '$groupidentify', + distinct_id: 'user01', + properties: { + $group_type: 'company', + $group_key: 'group123', + $group_set: { + name: 'Group', + }, + }, } - } - - const response = await composeWebhook(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth - }, - method: 'POST' - }) - ) + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) }) test('composeWebhook to send the correct data to track user event', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - - const event = { - event: 'newEvent', - distinct_id: 'user01', - properties: { - $set: { - number: '08012345678', - currency: 'NG' - }, - prop1: 'val1', - prop2: 'val2' + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: 'newEvent', + distinct_id: 'user01', + properties: { + $set: { + number: '08012345678', + currency: 'NG', + }, + prop1: 'val1', + prop2: 'val2', + }, } - } - - const response = await composeWebhook(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth - }, - method: 'POST' - }) - ) + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) }) test('composeWebhook to send the correct data to track group event', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - - const event = { - event: 'Played movie', - distinct_id: 'user01', - properties: { - $groups: { - company: 'group123' - }, - prop1: 'val1', - prop2: 'val2' + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: 'Played movie', + distinct_id: 'user01', + properties: { + $groups: { + company: 'group123', + }, + prop1: 'val1', + prop2: 'val2', + }, } - } - - const response = await composeWebhook(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth - }, - method: 'POST' - }) - ) + + const response = await composeWebhook(event, getMeta()) + expect(response).toEqual( + expect.objectContaining({ + url: 'https://api.engage.so/posthog', + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) }) test('composeWebhook should not track non-custom events besides $identify and $groupidentify', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - - const event = { - event: '$pageview', - properties: { - $os: 'Mac OS X', - $lib: 'web', - $host: 'localhost:8000', - $time: 1606383312.494, - token: 'mre13a_SMBv9EwHAtdtTyutyy6AfO00OTPwaalaHPGgKLS', - $browser: 'Chrome', - $user_id: '3erf45reXthrGser675waeHFAsbv4AsadfR', - $pathname: '/instance/status', - $device_id: '17554768afe5cb-0fc915d2a583cf-166f6152-1ea000-175543686ffdc5', - $insert_id: 'hgu2p36uvlc1b9dg', - distinct_id: 'scbbAqF7uyrMmamV4QBzcA1rrm9wHNISdFweZz-mQ0', - $current_url: 'http://localhost:8000/instance/status', - $lib_version: '1.7.0-beta.1', - $screen_width: 1790, - $screen_height: 1120, - posthog_version: '1.17.0', - $browser_version: 86, - $initial_referrer: '$direct', - has_slack_webhook: false, - $active_feature_flags: ['navigation-1775', 'session-recording-player'], - $initial_referring_domain: '$direct' + const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + + const event = { + event: '$pageview', + properties: { + $os: 'Mac OS X', + $lib: 'web', + $host: 'localhost:8000', + $time: 1606383312.494, + token: 'mre13a_SMBv9EwHAtdtTyutyy6AfO00OTPwaalaHPGgKLS', + $browser: 'Chrome', + $user_id: '3erf45reXthrGser675waeHFAsbv4AsadfR', + $pathname: '/instance/status', + $device_id: '17554768afe5cb-0fc915d2a583cf-166f6152-1ea000-175543686ffdc5', + $insert_id: 'hgu2p36uvlc1b9dg', + distinct_id: 'scbbAqF7uyrMmamV4QBzcA1rrm9wHNISdFweZz-mQ0', + $current_url: 'http://localhost:8000/instance/status', + $lib_version: '1.7.0-beta.1', + $screen_width: 1790, + $screen_height: 1120, + posthog_version: '1.17.0', + $browser_version: 86, + $initial_referrer: '$direct', + has_slack_webhook: false, + $active_feature_flags: ['navigation-1775', 'session-recording-player'], + $initial_referring_domain: '$direct', + }, } - } - const response = await composeWebhook(event, getMeta()) - expect(response).toBe(null) + const response = await composeWebhook(event, getMeta()) + expect(response).toBe(null) }) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json index 5421131984fd5..f6fee89f98eb4 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json @@ -1,32 +1,32 @@ { - "name": "Filter Out Plugin", - "url": "https://github.com/plibither8/posthog-filter-out-plugin", - "description": "Filter out events where property values satisfy the given condition", - "main": "src/main.ts", - "config": [ - { - "markdown": "All filters must adhere to the JSON schema specified in the project's [README](https://github.com/plibither8/posthog-filter-out-plugin)." - }, - { - "key": "filters", - "name": "Filters to apply", - "type": "attachment", - "hint": "A JSON file containing an array of filters to apply. See the README for more information.", - "required": false - }, - { - "key": "eventsToDrop", - "name": "Events to filter out", - "type": "string", - "hint": "A comma-separated list of event names to filter out (e.g. $pageview,$autocapture)", - "required": false - }, - { - "key": "keepUndefinedProperties", - "name": "Keep event if any of the filtered properties are undefined?", - "type": "choice", - "choices": ["Yes", "No"], - "default": "No" - } - ] + "name": "Filter Out Plugin", + "url": "https://github.com/plibither8/posthog-filter-out-plugin", + "description": "Filter out events where property values satisfy the given condition", + "main": "src/main.ts", + "config": [ + { + "markdown": "All filters must adhere to the JSON schema specified in the project's [README](https://github.com/plibither8/posthog-filter-out-plugin)." + }, + { + "key": "filters", + "name": "Filters to apply", + "type": "attachment", + "hint": "A JSON file containing an array of filters to apply. See the README for more information.", + "required": false + }, + { + "key": "eventsToDrop", + "name": "Events to filter out", + "type": "string", + "hint": "A comma-separated list of event names to filter out (e.g. $pageview,$autocapture)", + "required": false + }, + { + "key": "keepUndefinedProperties", + "name": "Keep event if any of the filtered properties are undefined?", + "type": "choice", + "choices": ["Yes", "No"], + "default": "No" + } + ] } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts index 61b7c7040d449..9c545038ba0fe 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts @@ -1,252 +1,241 @@ -import { expect, test, describe } from "@jest/globals"; -import { createEvent } from "@posthog/plugin-scaffold/dist/test/utils"; -import { PluginEvent } from "@posthog/plugin-scaffold"; +import { expect, test, describe } from '@jest/globals' +import { createEvent } from '@posthog/plugin-scaffold/dist/test/utils' +import { PluginEvent } from '@posthog/plugin-scaffold' -import { Filter, PluginMeta, processEvent, setupPlugin } from "./main"; +import { Filter, PluginMeta, processEvent, setupPlugin } from './main' const filters: Filter[] = [ { - property: "$host", - type: "string", - operator: "not_contains", - value: "localhost", + property: '$host', + type: 'string', + operator: 'not_contains', + value: 'localhost', }, { - property: "foo", - type: "number", - operator: "gt", + property: 'foo', + type: 'number', + operator: 'gt', value: 10, }, { - property: "bar", - type: "boolean", - operator: "is", + property: 'bar', + type: 'boolean', + operator: 'is', value: true, }, -]; +] const meta = { - global: { filters, eventsToDrop: ["to_drop_event"] }, -} as PluginMeta; + global: { filters, eventsToDrop: ['to_drop_event'] }, +} as PluginMeta -test("Event satisfies all conditions and passes", () => { +test('Event satisfies all conditions and passes', () => { const event = createEvent({ - event: "test event", + event: 'test event', properties: { - $host: "example.com", + $host: 'example.com', foo: 20, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta); - expect(processedEvent).toEqual(event); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta) + expect(processedEvent).toEqual(event) +}) -test("Event does not satisfy one condition and is dropped", () => { +test('Event does not satisfy one condition and is dropped', () => { const event = createEvent({ - event: "test event", + event: 'test event', properties: { - $host: "localhost:8000", + $host: 'localhost:8000', foo: 20, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta); - expect(processedEvent).toBeUndefined(); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta) + expect(processedEvent).toBeUndefined() +}) -test("Event does not satisfy any condition and is dropped", () => { +test('Event does not satisfy any condition and is dropped', () => { const event = createEvent({ - event: "test event", + event: 'test event', properties: { - $host: "localhost:8000", + $host: 'localhost:8000', foo: 5, bar: false, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta); - expect(processedEvent).toBeUndefined(); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta) + expect(processedEvent).toBeUndefined() +}) -test("Event is marked to be dropped is dropped", () => { +test('Event is marked to be dropped is dropped', () => { const event = createEvent({ - event: "to_drop_event", + event: 'to_drop_event', properties: { - $host: "example.com", + $host: 'example.com', foo: 20, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta); - expect(processedEvent).toBeUndefined(); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta) + expect(processedEvent).toBeUndefined() +}) -test("Event is marked to be dropped when a property is undefined", () => { +test('Event is marked to be dropped when a property is undefined', () => { const event = createEvent({ - event: "test_event", + event: 'test_event', properties: { $host: undefined, foo: 20, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta); - expect(processedEvent).toBeUndefined(); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta) + expect(processedEvent).toBeUndefined() +}) -test("Event is marked to be dropped when a property is undefined but keepUndefinedProperties", () => { +test('Event is marked to be dropped when a property is undefined but keepUndefinedProperties', () => { const event = createEvent({ - event: "test_event", + event: 'test_event', properties: { $host: undefined, foo: 20, bar: true, }, - }) as unknown as PluginEvent; + }) as unknown as PluginEvent const processedEvent = processEvent(event, { global: { ...meta.global, keepUndefinedProperties: true }, - } as PluginMeta); - expect(processedEvent).toEqual(event); -}); + } as PluginMeta) + expect(processedEvent).toEqual(event) +}) function setup(config) { - const global: any = {}; + const global: any = {} setupPlugin({ config, global, attachments: { filters: { contents: JSON.stringify(filters) } }, - } as any); + } as any) - return global; + return global } -test("setupPlugin() parsing eventsToDrop", () => { - expect(setup({ eventsToDrop: "foo, bar " }).eventsToDrop).toEqual([ - "foo", - "bar", - ]); - expect(setup({ eventsToDrop: "$foo,$bar" }).eventsToDrop).toEqual([ - "$foo", - "$bar", - ]); - expect(setup({}).eventsToDrop).toEqual([]); -}); - -test("setupPlugin() parsing keepUndefinedProperties", () => { - expect( - setup({ keepUndefinedProperties: "Yes" }).keepUndefinedProperties - ).toEqual(true); - expect( - setup({ keepUndefinedProperties: "No" }).keepUndefinedProperties - ).toEqual(false); - expect(setup({}).keepUndefinedProperties).toEqual(false); -}); - -describe("empty filters", () => { +test('setupPlugin() parsing eventsToDrop', () => { + expect(setup({ eventsToDrop: 'foo, bar ' }).eventsToDrop).toEqual(['foo', 'bar']) + expect(setup({ eventsToDrop: '$foo,$bar' }).eventsToDrop).toEqual(['$foo', '$bar']) + expect(setup({}).eventsToDrop).toEqual([]) +}) + +test('setupPlugin() parsing keepUndefinedProperties', () => { + expect(setup({ keepUndefinedProperties: 'Yes' }).keepUndefinedProperties).toEqual(true) + expect(setup({ keepUndefinedProperties: 'No' }).keepUndefinedProperties).toEqual(false) + expect(setup({}).keepUndefinedProperties).toEqual(false) +}) + +describe('empty filters', () => { const meta_no_filters = { - global: { filters: [], eventsToDrop: ["to_drop_event"] }, - } as PluginMeta; + global: { filters: [], eventsToDrop: ['to_drop_event'] }, + } as PluginMeta - test("Event satisfies all conditions and passes", () => { + test('Event satisfies all conditions and passes', () => { const event = createEvent({ - event: "test event", + event: 'test event', properties: { - $host: "example.com", + $host: 'example.com', foo: 20, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta_no_filters); - expect(processedEvent).toEqual(event); - }); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta_no_filters) + expect(processedEvent).toEqual(event) + }) - test("Event is marked to be dropped is dropped", () => { + test('Event is marked to be dropped is dropped', () => { const event = createEvent({ - event: "to_drop_event", + event: 'to_drop_event', properties: { - $host: "example.com", + $host: 'example.com', foo: 20, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta_no_filters); - expect(processedEvent).toBeUndefined(); - }); - - test("setupPlugin() without any config works", () => { - const global: any = {}; - setupPlugin({ config: {}, global, attachments: { filters: null } } as any); - expect(global.filters).toEqual([]); - expect(global.eventsToDrop).toEqual([]); - expect(global.keepUndefinedProperties).toEqual(false); - }); - - test("setupPlugin() with other config works", () => { - const global: any = {}; + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta_no_filters) + expect(processedEvent).toBeUndefined() + }) + + test('setupPlugin() without any config works', () => { + const global: any = {} + setupPlugin({ config: {}, global, attachments: { filters: null } } as any) + expect(global.filters).toEqual([]) + expect(global.eventsToDrop).toEqual([]) + expect(global.keepUndefinedProperties).toEqual(false) + }) + + test('setupPlugin() with other config works', () => { + const global: any = {} setupPlugin({ - config: { eventsToDrop: "foo,bar", keepUndefinedProperties: "Yes" }, + config: { eventsToDrop: 'foo,bar', keepUndefinedProperties: 'Yes' }, global, attachments: { filters: null }, - } as any); - expect(global.filters).toEqual([]); - expect(global.eventsToDrop).toEqual(["foo", "bar"]); - expect(global.keepUndefinedProperties).toEqual(true); - }); -}); - + } as any) + expect(global.filters).toEqual([]) + expect(global.eventsToDrop).toEqual(['foo', 'bar']) + expect(global.keepUndefinedProperties).toEqual(true) + }) +}) const filters_or: Filter[][] = [ [ { - property: "$host", - type: "string", - operator: "not_contains", - value: "localhost", + property: '$host', + type: 'string', + operator: 'not_contains', + value: 'localhost', }, { - property: "foo", - type: "number", - operator: "gt", + property: 'foo', + type: 'number', + operator: 'gt', value: 10, }, ], [ { - property: "bar", - type: "boolean", - operator: "is", + property: 'bar', + type: 'boolean', + operator: 'is', value: true, }, ], -]; +] const meta_or = { - global: { filters: filters_or, eventsToDrop: ["to_drop_event"] }, -} as PluginMeta; + global: { filters: filters_or, eventsToDrop: ['to_drop_event'] }, +} as PluginMeta -test("Event satisfies at least one filter group and passes", () => { +test('Event satisfies at least one filter group and passes', () => { const event = createEvent({ - event: "test event", + event: 'test event', properties: { - $host: "example.com", + $host: 'example.com', foo: 5, bar: true, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta_or); - expect(processedEvent).toEqual(event); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta_or) + expect(processedEvent).toEqual(event) +}) -test("Event satisfies no filter groups and is dropped", () => { +test('Event satisfies no filter groups and is dropped', () => { const event = createEvent({ - event: "test event", + event: 'test event', properties: { - $host: "localhost:8000", + $host: 'localhost:8000', foo: 5, bar: false, }, - }) as unknown as PluginEvent; - const processedEvent = processEvent(event, meta_or); - expect(processedEvent).toBeUndefined(); -}); + }) as unknown as PluginEvent + const processedEvent = processEvent(event, meta_or) + expect(processedEvent).toBeUndefined() +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts index acabf89ec19d8..8c2caee33f548 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts @@ -1,31 +1,28 @@ -import { Meta, PluginEvent, PluginAttachment } from "@posthog/plugin-scaffold"; +import { Meta, PluginEvent, PluginAttachment } from '@posthog/plugin-scaffold' export interface Filter { - property: string; - type: "string" | "number" | "boolean"; - operator: string; - value: string | number | boolean; + property: string + type: 'string' | 'number' | 'boolean' + operator: string + value: string | number | boolean } export type PluginMeta = Meta<{ config: { - eventsToDrop?: string; - keepUndefinedProperties?: "Yes" | "No"; - }; + eventsToDrop?: string + keepUndefinedProperties?: 'Yes' | 'No' + } global: { - filters: Filter[][] | Filter[]; - eventsToDrop: string[]; - keepUndefinedProperties?: boolean; - }; + filters: Filter[][] | Filter[] + eventsToDrop: string[] + keepUndefinedProperties?: boolean + } attachments: { - filters?: PluginAttachment; - }; + filters?: PluginAttachment + } }> -const operations: Record< - Filter["type"], - Record boolean> -> = { +const operations: Record boolean>> = { string: { is: (a, b) => a === b, is_not: (a, b) => a !== b, @@ -46,13 +43,13 @@ const operations: Record< is: (a, b) => a === b, is_not: (a, b) => a !== b, }, -}; +} export function setupPlugin({ global, config, attachments }: PluginMeta) { if (attachments.filters) { try { - const filterGroups = parseFiltersAndMigrate(JSON.parse(attachments.filters.contents)); - if (!filterGroups) throw new Error("No filters found"); + const filterGroups = parseFiltersAndMigrate(JSON.parse(attachments.filters.contents)) + if (!filterGroups) throw new Error('No filters found') // Check if the filters are valid for (const filters of filterGroups) { @@ -60,64 +57,60 @@ export function setupPlugin({ global, config, attachments }: PluginMeta) { if (!operations[filter.type][filter.operator]) { throw new Error( `Invalid operator "${filter.operator}" for type "${filter.type}" in filter for "${filter.property}"` - ); + ) } } } // Save the filters to the global object - global.filters = filterGroups; + global.filters = filterGroups } catch (err) { - throw new Error("Could not parse filters attachment: " + err.message); + throw new Error('Could not parse filters attachment: ' + err.message) } } else { - global.filters = []; + global.filters = [] } - global.eventsToDrop = - config?.eventsToDrop?.split(",")?.map((event) => event.trim()) || []; + global.eventsToDrop = config?.eventsToDrop?.split(',')?.map((event) => event.trim()) || [] - global.keepUndefinedProperties = config.keepUndefinedProperties === "Yes"; + global.keepUndefinedProperties = config.keepUndefinedProperties === 'Yes' } -export function processEvent( - event: PluginEvent, - meta: PluginMeta -): PluginEvent { - if (!event.properties) return event; - const { eventsToDrop, keepUndefinedProperties } = meta.global; - const filters = parseFiltersAndMigrate(meta.global.filters); +export function processEvent(event: PluginEvent, meta: PluginMeta): PluginEvent { + if (!event.properties) return event + const { eventsToDrop, keepUndefinedProperties } = meta.global + const filters = parseFiltersAndMigrate(meta.global.filters) // If the event name matches, we drop the event if (eventsToDrop.some((e) => event.event === e)) { - return undefined; + return undefined } // Check if the event satisfies any of the filter groups (OR logic between groups) const keepEvent = filters.some((filterGroup) => // Check if all filters in the group are satisfied (AND logic within group) filterGroup.every((filter) => { - const value = event.properties[filter.property]; - if (value === undefined) return keepUndefinedProperties; + const value = event.properties[filter.property] + if (value === undefined) return keepUndefinedProperties - const operation = operations[filter.type][filter.operator]; - if (!operation) throw new Error(`Invalid operator ${filter.operator}`); + const operation = operations[filter.type][filter.operator] + if (!operation) throw new Error(`Invalid operator ${filter.operator}`) - return operation(value, filter.value); + return operation(value, filter.value) }) - ); + ) // If should keep the event, return it, else return undefined - return keepEvent ? event : undefined; + return keepEvent ? event : undefined } const parseFiltersAndMigrate = (filters: Filter[][] | Filter[]): Filter[][] => { if (!Array.isArray(filters)) { - throw new Error("No filters found"); + throw new Error('No filters found') } // Handle legacy format: Convert single filter array to nested array // to maintain backwards compatibility with older plugin versions that used a single array of filters with "AND" logic if (filters.length === 0 || !Array.isArray(filters[0])) { - return [filters as Filter[]]; + return [filters as Filter[]] } - return filters as Filter[][]; -}; + return filters as Filter[][] +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts index 6d4998a9735de..2ce9c8875452d 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts @@ -5,7 +5,6 @@ import { randomBytes } from 'crypto' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' - type gcsMeta = LegacyPluginMeta & { global: { bucket: Bucket @@ -17,7 +16,7 @@ type gcsMeta = LegacyPluginMeta & { } jobs: { exportEventsWithRetry: string[] - }, + } attachments: any } @@ -160,7 +159,6 @@ const onEvent = async (event: ProcessedPluginEvent, { global, logger }: gcsMeta) logger.error(`Failed to upload ${rows.length} event${rows.length > 1 ? 's' : ''} to GCS. Retrying later.`) throw new RetryError() } - } export const gcsPlugin: LegacyPlugin = { @@ -168,5 +166,4 @@ export const gcsPlugin: LegacyPlugin = { metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, - } - \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json index 425c4c9166342..eb063bba88a2f 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json @@ -27,4 +27,4 @@ "hint": "Comma separated list of events to ignore" } ] -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts index a708e43fa9882..00616d3c7c23f 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts @@ -1,5 +1,5 @@ -import { ProcessedPluginEvent } from "@posthog/plugin-scaffold" -import { LegacyPlugin, LegacyPluginMeta } from "../types" +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' const alias = { @@ -109,7 +109,6 @@ function isObject(val) { return val !== null && (typeof val === 'object' || typeof val === 'function') } - // Ref: https://github.com/jonschlinkert/get-value function get(target, path, options) { if (!isObject(options)) { @@ -224,10 +223,10 @@ export async function setupPlugin({ config, global }) { } function getElementByOrderZero(json) { - if (!json.elements || !Array.isArray(json.elements)) { - return null; // or whatever default value you'd like to return - } - return json.elements.find(x => x.order === 0) || null + if (!json.elements || !Array.isArray(json.elements)) { + return null // or whatever default value you'd like to return + } + return json.elements.find((x) => x.order === 0) || null } const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { @@ -255,31 +254,31 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L } }) - //check for messageId + //check for messageId //add if not - if (!("messageId" in laudspeakerPayload)) { - if ("$insert_id" in event.properties) { - laudspeakerPayload['messageId'] = event.properties["$insert_id"] + if (!('messageId' in laudspeakerPayload)) { + if ('$insert_id' in event.properties) { + laudspeakerPayload['messageId'] = event.properties['$insert_id'] } //else { //} } - //check for event name + //check for event name //add if not - if (!("event" in laudspeakerPayload)) { - if ("event" in event) { - laudspeakerPayload['event'] = event["event"] + if (!('event' in laudspeakerPayload)) { + if ('event' in event) { + laudspeakerPayload['event'] = event['event'] } //else { //} } - + // add top level element if there is a click, change, or submit - if(['click', 'change', 'submit'].includes(laudspeakerPayload["event"])) { - laudspeakerPayload['context']['elements'] = [getElementByOrderZero(event)]; + if (['click', 'change', 'submit'].includes(laudspeakerPayload['event'])) { + laudspeakerPayload['context']['elements'] = [getElementByOrderZero(event)] } const userSet = get(event, 'properties.$set') @@ -288,7 +287,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L if (config.phEmail) { set(laudspeakerPayload, 'phEmail', userSet[config.phEmail]) } - + if (config.phPhoneNumber) { set(laudspeakerPayload, 'phPhoneNumber', userSet[config.phPhoneNumber]) } @@ -312,7 +311,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L 'Content-Type': 'application/json', ...global.laudAuthHeader.headers, }, - body: JSON.stringify(payload) + body: JSON.stringify(payload), }) } @@ -343,5 +342,4 @@ export const laudspeakerPlugin: LegacyPlugin = { metadata: metadata as any, setupPlugin: () => Promise.resolve(), onEvent, - } - \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json index 4b6d740308a5a..c6781a5f317ae 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json @@ -38,13 +38,13 @@ "required": false }, { - "key": "phDeviceToken", - "hint": "Provide attribute name for firebase device token", - "name": "Device Token attribute name", - "type": "string", - "default": "", - "required": false - }, + "key": "phDeviceToken", + "hint": "Provide attribute name for firebase device token", + "name": "Device Token attribute name", + "type": "string", + "default": "", + "required": false + }, { "key": "phCustom", "hint": "Provide attribute name for your custom field.", @@ -53,4 +53,4 @@ "required": false } ] - } \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js index f81ee74aebd2c..3e375eadd0fff 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js @@ -9,4 +9,4 @@ module.exports = { }, ], ], -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts index 90414b9b086a8..d35251e641aca 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts @@ -1,66 +1,63 @@ -import { - createEvent, -} from "@posthog/plugin-scaffold/test/utils"; -import fetchMock from "jest-fetch-mock" +import { createEvent } from '@posthog/plugin-scaffold/test/utils' +import fetchMock from 'jest-fetch-mock' -fetchMock.enableMocks(); +fetchMock.enableMocks() -import { PatternsMeta, onEvent, setupPlugin } from "./index"; +import { PatternsMeta, onEvent, setupPlugin } from './index' -const testWebhookUrl = - "https://api-staging.patterns.app/api/app/webhooks/wh1234"; +const testWebhookUrl = 'https://api-staging.patterns.app/api/app/webhooks/wh1234' beforeEach(() => { - fetchMock.resetMocks(); -}); - -test("onEvent called for event", async () => { - let meta = { - config: { - webhookUrl: testWebhookUrl, - }, - global: {}, - fetch: fetchMock as unknown, - } as PatternsMeta - setupPlugin(meta); - const event1 = createEvent({ event: "$pageView" }); - - // @ts-ignore - await onEvent(event1, meta); - - expect(fetchMock.mock.calls.length).toEqual(1); - expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify([event1]), - }); -}); - -test("onEvent called for allowed event", async () => { - let meta = { - config: { - webhookUrl: testWebhookUrl, - allowedEventTypes: "$pageView, $autoCapture, $customEvent1", - }, - global: {}, - fetch: fetchMock as unknown, - } as PatternsMeta - setupPlugin(meta); - - const event = createEvent({ event: "$pageView" }); - // @ts-ignore - await onEvent(event, meta); - expect(fetchMock.mock.calls.length).toEqual(1); - expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify([event]), - }); - - const event2 = createEvent({ event: "$pageLeave" }); - // @ts-ignore - await onEvent(event2, meta); - expect(fetchMock.mock.calls.length).toEqual(1); -}); + fetchMock.resetMocks() +}) + +test('onEvent called for event', async () => { + let meta = { + config: { + webhookUrl: testWebhookUrl, + }, + global: {}, + fetch: fetchMock as unknown, + } as PatternsMeta + setupPlugin(meta) + const event1 = createEvent({ event: '$pageView' }) + + // @ts-ignore + await onEvent(event1, meta) + + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify([event1]), + }) +}) + +test('onEvent called for allowed event', async () => { + let meta = { + config: { + webhookUrl: testWebhookUrl, + allowedEventTypes: '$pageView, $autoCapture, $customEvent1', + }, + global: {}, + fetch: fetchMock as unknown, + } as PatternsMeta + setupPlugin(meta) + + const event = createEvent({ event: '$pageView' }) + // @ts-ignore + await onEvent(event, meta) + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify([event]), + }) + + const event2 = createEvent({ event: '$pageLeave' }) + // @ts-ignore + await onEvent(event2, meta) + expect(fetchMock.mock.calls.length).toEqual(1) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts index f8c6796978327..a5fbb7f9228c8 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts @@ -3,59 +3,53 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -import { - PluginInput, - RetryError, -} from "@posthog/plugin-scaffold"; -import { Response } from "~/src/utils/fetch"; +import { PluginInput, RetryError } from '@posthog/plugin-scaffold' +import { Response } from '~/src/utils/fetch' export type PatternsMeta = LegacyPluginMeta & { - config: { - webhookUrl: string; - allowedEventTypes: string; - } - global: { - allowedEventTypesSet: Set; - } + config: { + webhookUrl: string + allowedEventTypes: string + } + global: { + allowedEventTypesSet: Set + } } // Plugin method that runs on plugin load //@ts-ignore export async function setupPlugin({ config, global }: PatternsMeta): Promise { - if (config.allowedEventTypes) { - let allowedEventTypes = config.allowedEventTypes.split(","); - allowedEventTypes = allowedEventTypes.map((eventType: string) => eventType.trim()); - global.allowedEventTypesSet = new Set(allowedEventTypes); - } + if (config.allowedEventTypes) { + let allowedEventTypes = config.allowedEventTypes.split(',') + allowedEventTypes = allowedEventTypes.map((eventType: string) => eventType.trim()) + global.allowedEventTypesSet = new Set(allowedEventTypes) + } } // Plugin method to export events -export const onEvent = async ( - event: ProcessedPluginEvent, - { config, global, fetch }: PatternsMeta -): Promise => { - if (global.allowedEventTypesSet) { - if (!global.allowedEventTypesSet.has(event.event)) { - return +export const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: PatternsMeta): Promise => { + if (global.allowedEventTypesSet) { + if (!global.allowedEventTypesSet.has(event.event)) { + return + } } - } - let response: Response; - response = await fetch(config.webhookUrl, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify([event]), - }); + let response: Response + response = await fetch(config.webhookUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify([event]), + }) - if (response.status != 200) { - const data = await response.json(); - throw new RetryError(`Export events failed: ${JSON.stringify(data)}`); - } -}; + if (response.status != 200) { + const data = await response.json() + throw new RetryError(`Export events failed: ${JSON.stringify(data)}`) + } +} export const patternsPlugin: LegacyPlugin = { - id: 'patterns', - metadata: metadata as any, - setupPlugin: setupPlugin as any, - onEvent, + id: 'patterns', + metadata: metadata as any, + setupPlugin: setupPlugin as any, + onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json index 7b80eed4dbb56..f3d87c77e864d 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json @@ -1,13464 +1,13464 @@ { - "name": "posthog-patterns-app", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "posthog-patterns-app", - "dependencies": { - "node-fetch": "^3.2.6" - }, - "devDependencies": { - "@babel/preset-env": "^7.18.10", - "@posthog/plugin-scaffold": "^1.2.0", - "@types/jest": "^28.1.6", - "@types/node": "^18.0.3", - "jest": "^27.5.1", - "jest-fetch-mock": "^3.0.3", - "ts-jest": "^28.0.7", - "typescript": "^4.7.4" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", - "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.10", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", - "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", - "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", - "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@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-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@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-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@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-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "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, - "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, - "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, - "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, - "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-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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "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, - "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, - "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, - "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, - "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, - "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, - "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, - "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.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.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.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "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-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", - "dev": true, - "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-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "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-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", - "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.10", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.18.6", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.10", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", - "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "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 - }, - "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, - "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/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/console/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/core/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@jest/core/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@jest/core/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/fake-timers/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/reporters/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@jest/reporters/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@jest/reporters/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@jest/test-sequencer/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@maxmind/geoip2-node": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", - "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", - "dev": true, - "dependencies": { - "camelcase-keys": "^7.0.0", - "ip6addr": "^0.2.5", - "lodash.set": "^4.3.2", - "maxmind": "^4.2.0" - } - }, - "node_modules/@posthog/plugin-scaffold": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", - "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", - "dev": true, - "dependencies": { - "@maxmind/geoip2-node": "^3.0.0" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.26", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", - "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "28.1.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", - "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", - "dev": true, - "dependencies": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" - } - }, - "node_modules/@types/jest/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/@types/jest/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/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==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.6.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", - "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", - "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": 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 - }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.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==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "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, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.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, - "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-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.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, - "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/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - }, - "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, - "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, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "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 - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001373", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", - "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/core-js-compat": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", - "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.3", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/cross-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/cross-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==", - "dev": true - }, - "node_modules/cross-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==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "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, - "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 - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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 - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.209", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", - "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "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, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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/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": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/expect/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/expect/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.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 - }, - "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 - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "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==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "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, - "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==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "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, - "engines": { - "node": ">=8.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "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 - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "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, - "engines": { - "node": ">=0.8.19" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/ip6addr": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", - "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2" - } - }, - "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==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.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 - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", - "dev": true, - "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/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "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.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-circus/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-config/node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/jest-config/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-config/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-config/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-node/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-fetch-mock": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", - "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", - "dev": true, - "dependencies": { - "cross-fetch": "^3.0.4", - "promise-polyfill": "^8.1.3" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-resolve/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-resolve/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-resolve/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-runner/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-runner/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-runner/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-runtime/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-runtime/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-runtime/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-snapshot/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watcher/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "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==", - "dev": true - }, - "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, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "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, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.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, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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 - }, - "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 - }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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 - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/maxmind": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", - "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", - "dev": true, - "dependencies": { - "mmdb-lib": "2.0.2", - "tiny-lru": "8.0.2" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "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==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mmdb-lib": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", - "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", - "dev": true, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "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==", - "dev": true - }, - "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 - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", - "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "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 - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "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, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", - "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "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/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/promise-polyfill": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", - "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", - "dev": true - }, - "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, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "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 - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/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 - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "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/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.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-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, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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 - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.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==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "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, - "engines": { - "node": ">=8" - } - }, - "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, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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 - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/tiny-lru": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", - "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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 - }, - "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, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-jest": { - "version": "28.0.7", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", - "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^28.0.0", - "babel-jest": "^28.0.0", - "jest": "^28.0.0", - "typescript": ">=4.3" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true + "name": "posthog-patterns-app", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "posthog-patterns-app", + "dependencies": { + "node-fetch": "^3.2.6" + }, + "devDependencies": { + "@babel/preset-env": "^7.18.10", + "@posthog/plugin-scaffold": "^1.2.0", + "@types/jest": "^28.1.6", + "@types/node": "^18.0.3", + "jest": "^27.5.1", + "jest-fetch-mock": "^3.0.3", + "ts-jest": "^28.0.7", + "typescript": "^4.7.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", + "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.10", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", + "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", + "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", + "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", + "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", + "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", + "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", + "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.18.9", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", + "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", + "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", + "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@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-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@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-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "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, + "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, + "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, + "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, + "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-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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "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, + "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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", + "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.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.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", + "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "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-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", + "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", + "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "dev": true, + "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-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", + "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "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-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", + "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.18.6", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.10", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", + "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", + "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "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 + }, + "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, + "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/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/core/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/core/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/reporters/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/reporters/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/test-sequencer/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@maxmind/geoip2-node": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", + "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", + "dev": true, + "dependencies": { + "camelcase-keys": "^7.0.0", + "ip6addr": "^0.2.5", + "lodash.set": "^4.3.2", + "maxmind": "^4.2.0" + } + }, + "node_modules/@posthog/plugin-scaffold": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", + "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", + "dev": true, + "dependencies": { + "@maxmind/geoip2-node": "^3.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.26", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", + "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "28.1.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", + "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", + "dev": true, + "dependencies": { + "jest-matcher-utils": "^28.0.0", + "pretty-format": "^28.0.0" + } + }, + "node_modules/@types/jest/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/@types/jest/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@types/jest/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==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", + "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", + "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", + "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": 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 + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.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==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "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, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.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, + "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-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", + "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.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, + "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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "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, + "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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "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 + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001373", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", + "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", + "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/core-js-compat": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.3", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/cross-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==", + "dev": true + }, + "node_modules/cross-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==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "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, + "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 + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "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 + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", + "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "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==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.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 + }, + "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 + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "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==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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, + "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==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "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, + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "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 + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "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, + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ip6addr": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", + "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2" + } + }, + "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==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.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 + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "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/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "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.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-config/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-config/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-config/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-resolve/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-resolve/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runner/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-runner/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runner/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runtime/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-runtime/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runtime/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-snapshot/node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-snapshot/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dev": true + }, + "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, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "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, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.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, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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 + }, + "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 + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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 + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/maxmind": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", + "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", + "dev": true, + "dependencies": { + "mmdb-lib": "2.0.2", + "tiny-lru": "8.0.2" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "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==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mmdb-lib": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", + "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", + "dev": true, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "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==", + "dev": true + }, + "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 + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", + "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "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 + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "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, + "engines": { + "node": ">=0.10.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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", + "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/promise-polyfill": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", + "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", + "dev": true + }, + "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, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "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 + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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 + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "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/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.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-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, + "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==", + "dev": true, + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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 + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "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, + "engines": { + "node": ">=8" + } + }, + "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, + "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==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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 + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/tiny-lru": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", + "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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 + }, + "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, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "28.0.7", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", + "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^28.0.0", + "babel-jest": "^28.0.0", + "jest": "^28.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } }, - "@jest/types": { - "optional": true + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "babel-jest": { - "optional": true + "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, + "engines": { + "node": ">=4" + } }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "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, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "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, - "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, - "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.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/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, - "engines": { - "node": ">= 8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "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, + "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, + "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.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "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 + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "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 }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", - "dev": true - }, - "@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", - "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.10", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "dev": true + }, + "@babel/core": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", + "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.10", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", + "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", + "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", + "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", + "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", + "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "dev": true, + "requires": { + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", + "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", + "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.18.9", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/helpers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", + "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "dev": true, + "requires": { + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", + "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", + "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", + "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", + "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", + "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", + "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", + "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", + "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.18.6", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.10", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", + "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", + "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@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, + "requires": { + "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" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@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 + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, + "requires": { + "@jest/schemas": "^28.1.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" + } + }, "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", - "dev": true, - "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", - "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", - "dev": true, - "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@maxmind/geoip2-node": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", + "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", + "dev": true, + "requires": { + "camelcase-keys": "^7.0.0", + "ip6addr": "^0.2.5", + "lodash.set": "^4.3.2", + "maxmind": "^4.2.0" + } + }, + "@posthog/plugin-scaffold": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", + "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", + "dev": true, + "requires": { + "@maxmind/geoip2-node": "^3.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.24.26", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", + "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "28.1.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", + "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", + "dev": true, + "requires": { + "jest-matcher-utils": "^28.0.0", + "pretty-format": "^28.0.0" + }, + "dependencies": { + "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 + }, + "diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true + }, + "jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true + }, + "jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@types/node": { + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", + "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", + "dev": true + }, + "@types/prettier": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", + "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", + "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "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, + "requires": { + "@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-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", + "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2" + } + }, + "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, + "requires": { + "@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" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + } + }, + "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, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "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 + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001373", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", + "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", + "dev": true }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "ci-info": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", + "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true }, "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js-compat": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "dev": true, + "requires": { + "browserslist": "^4.21.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "requires": { + "node-fetch": "2.6.7" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "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==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "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 + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "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 + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "electron-to-chromium": { + "version": "1.4.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", + "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", + "dev": true + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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==", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "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 + }, + "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 + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, + "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==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "requires": { + "fetch-blob": "^3.1.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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 + }, + "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==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "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 + }, + "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==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } }, "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==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", - "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", - "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", - "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.10", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.18.6", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.10", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", - "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - } - }, - "@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 - }, - "@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, - "requires": { - "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" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "@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 - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "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 + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ip6addr": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", + "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "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==", + "dev": true + }, + "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 + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "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 + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@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-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "requires": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + } + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "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 + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "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 + }, + "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 + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "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 + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "maxmind": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", + "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", + "dev": true, + "requires": { + "mmdb-lib": "2.0.2", + "tiny-lru": "8.0.2" + } + }, + "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==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "mmdb-lib": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", + "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", + "dev": true }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "node-fetch": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", + "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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 }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "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 }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } + "nwsapi": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", + "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", + "dev": true }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@maxmind/geoip2-node": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", - "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", - "dev": true, - "requires": { - "camelcase-keys": "^7.0.0", - "ip6addr": "^0.2.5", - "lodash.set": "^4.3.2", - "maxmind": "^4.2.0" - } - }, - "@posthog/plugin-scaffold": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", - "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", - "dev": true, - "requires": { - "@maxmind/geoip2-node": "^3.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.24.26", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", - "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "28.1.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", - "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", - "dev": true, - "requires": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" - }, - "dependencies": { - "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 + "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==", + "dev": true }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true + "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==", + "dev": true, + "requires": { + "@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" + } }, - "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true }, - "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true + "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==", + "dev": true }, - "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } + "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==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "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==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } + "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, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "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 + } + } + }, + "promise-polyfill": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", + "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", + "dev": true + }, + "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, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "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 }, "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@types/node": { - "version": "18.6.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", - "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", - "dev": true - }, - "@types/prettier": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", - "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "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, - "requires": { - "type-fest": "^0.21.3" - } - }, - "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 - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "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, - "requires": { - "@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-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2" - } - }, - "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, - "requires": { - "@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" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, - "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, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "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, - "requires": { - "node-int64": "^0.4.0" - } - }, - "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 - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "requires": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "caniuse-lite": { - "version": "1.0.30001373", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", - "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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 - }, - "ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js-compat": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", - "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", - "dev": true, - "requires": { - "browserslist": "^4.21.3", - "semver": "7.0.0" - }, - "dependencies": { + "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 + }, + "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 + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "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 + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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 + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "requires": { - "node-fetch": "2.6.7" - }, - "dependencies": { - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "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==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } }, - "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==", - "dev": true + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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 - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "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 - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "electron-to-chromium": { - "version": "1.4.209", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", - "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "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==", - "dev": true - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "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 - }, - "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 - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "requires": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - } - }, - "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==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "requires": { - "fetch-blob": "^3.1.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "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 - }, - "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==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "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 - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "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==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "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==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ip6addr": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", - "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "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==", - "dev": true - }, - "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 - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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 - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", - "dev": true, - "requires": { - "@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-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "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 + } + } + }, + "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, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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==", + "dev": true + }, + "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 }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - } + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "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 }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dev": true, - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dev": true, - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "tiny-lru": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", + "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", + "dev": true }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "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 }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "ts-jest": { + "version": "28.0.7", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", + "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-fetch-mock": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", - "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", - "dev": true, - "requires": { - "cross-fetch": "^3.0.4", - "promise-polyfill": "^8.1.3" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "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 }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "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 }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "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 }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "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, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - } - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dev": true, - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "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 - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "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==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "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 - }, - "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 - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "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 - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "maxmind": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", - "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", - "dev": true, - "requires": { - "mmdb-lib": "2.0.2", - "tiny-lru": "8.0.2" - } - }, - "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==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mmdb-lib": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", - "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - }, - "node-fetch": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", - "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", - "requires": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - } - }, - "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 - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", - "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "@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" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "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==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "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, - "requires": { - "find-up": "^4.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "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, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "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 - } - } - }, - "promise-polyfill": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", - "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", - "dev": true - }, - "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, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "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 - }, - "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 - }, - "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 - }, - "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "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, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "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 - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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 - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "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==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "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, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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 - }, - "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==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "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==", - "dev": true - }, - "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 - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "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, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "tiny-lru": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", - "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "ts-jest": { - "version": "28.0.7", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", - "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } }, "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true - } - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "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 - }, - "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 - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true } - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "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==", - "dev": true } - } } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json index ebc7d062bdcfa..fcda842b5efaf 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json @@ -1,22 +1,22 @@ { - "name": "Patterns App", - "url": "https://github.com/patterns-app/posthog-patterns-app", - "description": "Send events data to Patterns App", - "main": "index.ts", - "posthogVersion": ">= 1.25.0", - "config": [ - { - "key": "webhookUrl", - "name": "Patterns Webhook URL", - "type": "string", - "required": true - }, - { - "key": "allowedEventTypes", - "name": "Event types to send to Patterns (comma-separated)", - "description": "Comma-separated like '$pageView, $pageLeave, $myEvent1'", - "type": "string", - "required": false - } - ] + "name": "Patterns App", + "url": "https://github.com/patterns-app/posthog-patterns-app", + "description": "Send events data to Patterns App", + "main": "index.ts", + "posthogVersion": ">= 1.25.0", + "config": [ + { + "key": "webhookUrl", + "name": "Patterns Webhook URL", + "type": "string", + "required": true + }, + { + "key": "allowedEventTypes", + "name": "Event types to send to Patterns (comma-separated)", + "description": "Comma-separated like '$pageView, $pageLeave, $myEvent1'", + "type": "string", + "required": false + } + ] } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts index e84f7acdf8e06..c3983383cab4d 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts @@ -1 +1 @@ -declare module '@posthog/plugin-scaffold/test/utils'; \ No newline at end of file +declare module '@posthog/plugin-scaffold/test/utils' diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts index ebc356a09e237..76503c6d71358 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts @@ -23,14 +23,11 @@ const defaultLocationSetProps = Object.entries(props).reduce((acc, [key]) => { return acc }, {} as Record) - const defaultLocationSetOnceProps = Object.entries(props).reduce((acc, [key]) => { acc[`$initial_geoip_${key}`] = null return acc }, {} as Record) - - const plugin: Plugin = { processEvent: async (event, { geoip }) => { if (!geoip) { @@ -50,7 +47,7 @@ const plugin: Plugin = { if (typeof response.city.confidence === 'number') { // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed location['city_confidence'] = response.city.confidence - } + } } if (response.country) { location['country_name'] = response.country.names?.en diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json index 17089005c3953..8d7d6fcded52f 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json @@ -1,43 +1,43 @@ { - "name": "Route Censor", - "description": "Removes segments of URLs based on route patterns.", - "url": "https://github.com/ava-labs/posthog-route-censor-plugin", - "main": "dist/index.js", - "config": [ - { - "markdown": "Removes segments of URLs based on route patterns. See [Github Repo](https://github.com/ava-labs/posthog-route-censor-plugin) for more details." - }, - { - "key": "routes", - "name": "List of routes following the React Router route patterns.", - "markdown": "[Example Here](https://github.com/ava-labs/posthog-route-censor-plugin/blob/main/src/assets/exampleRoutes.json). See package [README](https://github.com/ava-labs/posthog-route-censor-plugin) for more details.", - "type": "attachment", - "hint": "See README for more details and example.", - "required": true - }, - { - "key": "properties", - "name": "List of properties to censor", - "type": "string", - "default": "$current_url,$referrer,$pathname,$initial_current_url,initial_pathname,initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - }, - { - "key": "set_properties", - "name": "List of $set properties to censor", - "type": "string", - "default": "$initial_current_url,$initial_pathname,$initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - }, - { - "key": "set_once_properties", - "name": "List of $set_once properties to censor", - "type": "string", - "default": "$initial_current_url,$initial_pathname,$initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - } - ] + "name": "Route Censor", + "description": "Removes segments of URLs based on route patterns.", + "url": "https://github.com/ava-labs/posthog-route-censor-plugin", + "main": "dist/index.js", + "config": [ + { + "markdown": "Removes segments of URLs based on route patterns. See [Github Repo](https://github.com/ava-labs/posthog-route-censor-plugin) for more details." + }, + { + "key": "routes", + "name": "List of routes following the React Router route patterns.", + "markdown": "[Example Here](https://github.com/ava-labs/posthog-route-censor-plugin/blob/main/src/assets/exampleRoutes.json). See package [README](https://github.com/ava-labs/posthog-route-censor-plugin) for more details.", + "type": "attachment", + "hint": "See README for more details and example.", + "required": true + }, + { + "key": "properties", + "name": "List of properties to censor", + "type": "string", + "default": "$current_url,$referrer,$pathname,$initial_current_url,initial_pathname,initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + }, + { + "key": "set_properties", + "name": "List of $set properties to censor", + "type": "string", + "default": "$initial_current_url,$initial_pathname,$initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + }, + { + "key": "set_once_properties", + "name": "List of $set_once properties to censor", + "type": "string", + "default": "$initial_current_url,$initial_pathname,$initial_referrer", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", + "required": false + } + ] } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json index 342ac7192a4e3..da8a88db88c7b 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json @@ -1,14 +1,14 @@ [ - { - "path": "/drivers-license/:driversLicenseId", - "include": ["driversLicenseId"] - }, - { - "path": "/medical-id-number/:medicalIdNumber", - "include": ["medicalIdNumber"] - }, - { - "path": "/secret-clubs/:category/:secretClubId", - "include": ["secretClubId"] - } + { + "path": "/drivers-license/:driversLicenseId", + "include": ["driversLicenseId"] + }, + { + "path": "/medical-id-number/:medicalIdNumber", + "include": ["medicalIdNumber"] + }, + { + "path": "/secret-clubs/:category/:secretClubId", + "include": ["secretClubId"] + } ] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts index 7f5d27e46d44c..7f40ef4aa9c33 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts @@ -1,5 +1,5 @@ -import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold'; -export declare const setupPlugin: ({ global, config }: any) => void; +import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' +export declare const setupPlugin: ({ global, config }: any) => void /** * Runs on every event * @@ -7,4 +7,4 @@ export declare const setupPlugin: ({ global, config }: any) => void; * @param meta metadata defined in the plugin.json * @returns modified event */ -export declare const processEvent: (event: PluginEvent, { global }: PluginMeta>) => PluginEvent; +export declare const processEvent: (event: PluginEvent, { global }: PluginMeta>) => PluginEvent diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts index 64d95f79c4a7a..e86fc16b79973 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts @@ -1,14 +1,14 @@ -import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold'; -import { censorProperties } from 'utils/censorProperties'; +import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' +import { censorProperties } from 'utils/censorProperties' export const setupPlugin = ({ global, config, attachments }: any) => { - global.properties = config.properties.split(','); - global.setProperties = config.set_properties.split(','); - global.setOnceProperties = config.set_once_properties.split(','); - global.routes = attachments?.routes?.contents ? JSON.parse(attachments?.routes?.contents) : undefined; + global.properties = config.properties.split(',') + global.setProperties = config.set_properties.split(',') + global.setOnceProperties = config.set_once_properties.split(',') + global.routes = attachments?.routes?.contents ? JSON.parse(attachments?.routes?.contents) : undefined - console.debug('Plugin set up with global config: ', JSON.stringify(global, null, 2)); -}; + console.debug('Plugin set up with global config: ', JSON.stringify(global, null, 2)) +} /** * Runs on every event @@ -18,24 +18,24 @@ export const setupPlugin = ({ global, config, attachments }: any) => { * @returns modified event */ export const processEvent = (event: PluginEvent, { global }: PluginMeta>): PluginEvent => { - // If we don't have routes to censor, then just return the input event. - if (!global.routes?.length) { - return event; - } + // If we don't have routes to censor, then just return the input event. + if (!global.routes?.length) { + return event + } - return { - ...event, - properties: { - ...event.properties, - ...censorProperties(event.properties, global.routes, global.properties), - }, - $set: { - ...event.$set, - ...censorProperties(event.$set, global.routes, global.setProperties), - }, - $set_once: { - ...event.$set_once, - ...censorProperties(event.$set_once, global.routes, global.setOnceProperties), - }, - }; -}; + return { + ...event, + properties: { + ...event.properties, + ...censorProperties(event.properties, global.routes, global.properties), + }, + $set: { + ...event.$set, + ...censorProperties(event.$set, global.routes, global.setProperties), + }, + $set_once: { + ...event.$set_once, + ...censorProperties(event.$set_once, global.routes, global.setOnceProperties), + }, + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts index 7d0616a6991ba..3aa91e97bec27 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts @@ -1,6 +1,6 @@ export type Route = { - path: string; - include: string[]; -}; + path: string + include: string[] +} -export type Routes = Route[]; +export type Routes = Route[] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts index f519231d1220e..2648ba6b2c798 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts @@ -1,6 +1,6 @@ -import { Properties } from '@posthog/plugin-scaffold'; -import { Routes } from 'types'; -import { censorUrlPath, checkIsValidHttpUrl } from 'utils'; +import { Properties } from '@posthog/plugin-scaffold' +import { Routes } from 'types' +import { censorUrlPath, checkIsValidHttpUrl } from 'utils' /** * Removes addresses and hashes from URLs stored in posthog properties. @@ -10,31 +10,31 @@ import { censorUrlPath, checkIsValidHttpUrl } from 'utils'; * @returns The anonymized list of properties. */ export const censorProperties = ( - properties: Properties | undefined, - routes: Routes | undefined, - propertiesToAnonymize: string[], + properties: Properties | undefined, + routes: Routes | undefined, + propertiesToAnonymize: string[] ): Partial => { - if (!properties) return {}; - const censoredProperties: Partial = {}; + if (!properties) return {} + const censoredProperties: Partial = {} - propertiesToAnonymize.forEach((propertyKey) => { - const propertyValue = properties[propertyKey]; - if (!propertyValue || typeof propertyValue !== 'string') { - return; - } + propertiesToAnonymize.forEach((propertyKey) => { + const propertyValue = properties[propertyKey] + if (!propertyValue || typeof propertyValue !== 'string') { + return + } - const isValidUrl = checkIsValidHttpUrl(propertyValue); - // For full URLs, first parse out the path. - if (isValidUrl) { - const url = new URL(propertyValue); - const censoredPath = censorUrlPath(url.pathname, routes); - // Piece back together the URL but with the censored path. - censoredProperties[propertyKey] = `${url.origin}${censoredPath}`; - return; - } - // Otherwise assume the propertyValue is a url path (instead of the full url) and we can censor it directly. - censoredProperties[propertyKey] = censorUrlPath(propertyValue, routes); - }); + const isValidUrl = checkIsValidHttpUrl(propertyValue) + // For full URLs, first parse out the path. + if (isValidUrl) { + const url = new URL(propertyValue) + const censoredPath = censorUrlPath(url.pathname, routes) + // Piece back together the URL but with the censored path. + censoredProperties[propertyKey] = `${url.origin}${censoredPath}` + return + } + // Otherwise assume the propertyValue is a url path (instead of the full url) and we can censor it directly. + censoredProperties[propertyKey] = censorUrlPath(propertyValue, routes) + }) - return censoredProperties; -}; + return censoredProperties +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts index 58298364958b1..db9612d95c85a 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts @@ -1,5 +1,5 @@ -import { matchRoutes } from '@remix-run/router'; -import { Routes } from 'types'; +import { matchRoutes } from '@remix-run/router' +import { Routes } from 'types' /** * Take a URL path and applies the react router v6 route matching algorithm @@ -9,33 +9,33 @@ import { Routes } from 'types'; * @returns same URL path, but with all included variables censored */ export const censorUrlPath = (path: string, routes?: Routes) => { - if (typeof path !== 'string') { - return path; - } + if (typeof path !== 'string') { + return path + } - // If no routes, then just censor all paths to be safe. - if (typeof routes === 'undefined') { - return '/:censoredFullPath'; - } + // If no routes, then just censor all paths to be safe. + if (typeof routes === 'undefined') { + return '/:censoredFullPath' + } - // Find matches with URL path using React Router's parsing algoritm. - const matches = matchRoutes(routes, path); + // Find matches with URL path using React Router's parsing algoritm. + const matches = matchRoutes(routes, path) - // If no matches, then no need to censor anything. - if (!matches?.length) { - return path; - } + // If no matches, then no need to censor anything. + if (!matches?.length) { + return path + } - let censoredPath = path; - // Check each match, if the variable is in the "includes" array, then censor it. - matches.forEach((match) => { - match.route.include.forEach((variableToCensor) => { - const value = match.params[variableToCensor]; - if (!value) { - return; - } - censoredPath = censoredPath.replace(value, `:${variableToCensor}`); - }); - }); - return censoredPath; -}; + let censoredPath = path + // Check each match, if the variable is in the "includes" array, then censor it. + matches.forEach((match) => { + match.route.include.forEach((variableToCensor) => { + const value = match.params[variableToCensor] + if (!value) { + return + } + censoredPath = censoredPath.replace(value, `:${variableToCensor}`) + }) + }) + return censoredPath +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts index 6bf63c5fc78c1..eb97d37ce0757 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts @@ -1,8 +1,8 @@ export const checkIsValidHttpUrl = (str: string) => { - try { - const url = new URL(str); - return url.protocol === 'http:' || url.protocol === 'https:'; - } catch (err) { - return false; - } -}; + try { + const url = new URL(str) + return url.protocol === 'http:' || url.protocol === 'https:' + } catch (err) { + return false + } +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts index 0158a5ece6cfe..94fa260d1b323 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts @@ -1,2 +1,2 @@ -export * from './checkIsValidHttpUrl'; -export * from './censorUrlPath'; +export * from './checkIsValidHttpUrl' +export * from './censorUrlPath' diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts index 49cb315eeea16..f110ddace49b0 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts @@ -1,5 +1,5 @@ -import { PluginEvent, PluginInput, PluginMeta } from "@posthog/plugin-scaffold"; -import { processEvent } from "./index"; +import { PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' +import { processEvent } from './index' /** * Given a url, construct a page view event. @@ -8,136 +8,116 @@ import { processEvent } from "./index"; * @returns A new PostHog page view event */ function buildPageViewEvent($current_url: string): PluginEvent { - const event: PluginEvent = { - properties: { $current_url }, - distinct_id: "distinct_id", - ip: "1.2.3.4", - site_url: "test.com", - team_id: 0, - now: "2022-06-17T20:21:31.778000+00:00", - event: "$pageview", - uuid: "01817354-06bb-0000-d31c-2c4eed374100", - }; - - return event; + const event: PluginEvent = { + properties: { $current_url }, + distinct_id: 'distinct_id', + ip: '1.2.3.4', + site_url: 'test.com', + team_id: 0, + now: '2022-06-17T20:21:31.778000+00:00', + event: '$pageview', + uuid: '01817354-06bb-0000-d31c-2c4eed374100', + } + + return event } function buildEventWithoutCurrentUrl(): PluginEvent { - const event: PluginEvent = { - properties: {}, - distinct_id: "distinct_id", - ip: "1.2.3.4", - site_url: "test.com", - team_id: 0, - now: "2022-06-17T20:21:31.778000+00:00", - event: "$identify", - uuid: "01817354-06bb-0000-d31c-2c4eed374100", - }; - - return event; + const event: PluginEvent = { + properties: {}, + distinct_id: 'distinct_id', + ip: '1.2.3.4', + site_url: 'test.com', + team_id: 0, + now: '2022-06-17T20:21:31.778000+00:00', + event: '$identify', + uuid: '01817354-06bb-0000-d31c-2c4eed374100', + } + + return event } function getMeta(): PluginMeta { - return {} as unknown as PluginMeta; + return {} as unknown as PluginMeta } -describe("processEvent", () => { - it("shouldn't change a url that's already lowercase", () => { - const sourceEvent = buildPageViewEvent("http://www.google.com/test"); +describe('processEvent', () => { + it("shouldn't change a url that's already lowercase", () => { + const sourceEvent = buildPageViewEvent('http://www.google.com/test') - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent?.properties?.$current_url).toEqual( - "http://www.google.com/test" - ); - }); + expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/test') + }) - it("should convert the current_url to lowercase", () => { - const sourceEvent = buildPageViewEvent( - "http://www.GoOGle.com/WhatAreYouThinking" - ); + it('should convert the current_url to lowercase', () => { + const sourceEvent = buildPageViewEvent('http://www.GoOGle.com/WhatAreYouThinking') - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent?.properties?.$current_url).toEqual( - "http://www.google.com/whatareyouthinking" - ); - }); + expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/whatareyouthinking') + }) - it("should remove the trailing slash from the current_url", () => { - const sourceEvent = buildPageViewEvent( - "http://www.google.com/this_is_a_test/" - ); + it('should remove the trailing slash from the current_url', () => { + const sourceEvent = buildPageViewEvent('http://www.google.com/this_is_a_test/') - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent?.properties?.$current_url).toEqual( - "http://www.google.com/this_is_a_test" - ); - }); + expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/this_is_a_test') + }) - it("should preserve the trailing slash if it's the only character in the path", () => { - const sourceEvent = buildPageViewEvent("http://www.google.com/"); + it("should preserve the trailing slash if it's the only character in the path", () => { + const sourceEvent = buildPageViewEvent('http://www.google.com/') - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent?.properties?.$current_url).toEqual( - "http://www.google.com/" - ); - }); + expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/') + }) - it("should preserve trailing id anchors", () => { - const sourceEvent = buildPageViewEvent( - "http://www.google.com/this_is_a_test#id_anchor" - ); + it('should preserve trailing id anchors', () => { + const sourceEvent = buildPageViewEvent('http://www.google.com/this_is_a_test#id_anchor') - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent?.properties?.$current_url).toEqual( - "http://www.google.com/this_is_a_test#id_anchor" - ); - }); + expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/this_is_a_test#id_anchor') + }) - it("should preserve trailing anchors but drop trailing slashes", () => { - const sourceEvent = buildPageViewEvent( - "http://www.google.com/this_is_a_test_with_trailing_slash/#id_anchor" - ); + it('should preserve trailing anchors but drop trailing slashes', () => { + const sourceEvent = buildPageViewEvent('http://www.google.com/this_is_a_test_with_trailing_slash/#id_anchor') - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent?.properties?.$current_url).toEqual( - "http://www.google.com/this_is_a_test_with_trailing_slash#id_anchor" - ); - }); + expect(processedEvent?.properties?.$current_url).toEqual( + 'http://www.google.com/this_is_a_test_with_trailing_slash#id_anchor' + ) + }) - it("shouldn't modify events that don't have a $current_url set", () => { - const sourceEvent = buildEventWithoutCurrentUrl(); + it("shouldn't modify events that don't have a $current_url set", () => { + const sourceEvent = buildEventWithoutCurrentUrl() - const processedEvent = processEvent(sourceEvent, getMeta()); + const processedEvent = processEvent(sourceEvent, getMeta()) - expect(processedEvent).toEqual(sourceEvent); - expect(processedEvent?.properties).toEqual(sourceEvent.properties); - expect(processedEvent?.properties?.$current_url).toBeUndefined(); - }); + expect(processedEvent).toEqual(sourceEvent) + expect(processedEvent?.properties).toEqual(sourceEvent.properties) + expect(processedEvent?.properties?.$current_url).toBeUndefined() + }) - it("should raise an error if the $current_url is an invalid url", () => { - const sourceEvent = buildPageViewEvent("invalid url"); + it('should raise an error if the $current_url is an invalid url', () => { + const sourceEvent = buildPageViewEvent('invalid url') - expect(() => processEvent(sourceEvent, getMeta())).toThrowError( - `Unable to normalize invalid URL: "invalid url"` - ); - }); + expect(() => processEvent(sourceEvent, getMeta())).toThrowError( + `Unable to normalize invalid URL: "invalid url"` + ) + }) - it("should log the normalized_url for debugging", () => { - const consoleSpy = jest.spyOn(console, "debug"); + it('should log the normalized_url for debugging', () => { + const consoleSpy = jest.spyOn(console, 'debug') - const sourceEvent = buildPageViewEvent( - "http://www.GoOGle.com/WhatAreYouThinking" - ); - processEvent(sourceEvent, getMeta()); + const sourceEvent = buildPageViewEvent('http://www.GoOGle.com/WhatAreYouThinking') + processEvent(sourceEvent, getMeta()) - expect(consoleSpy).toHaveBeenCalledWith( - 'event.$current_url: "http://www.GoOGle.com/WhatAreYouThinking" normalized to "http://www.google.com/whatareyouthinking"' - ); - }); -}); + expect(consoleSpy).toHaveBeenCalledWith( + 'event.$current_url: "http://www.GoOGle.com/WhatAreYouThinking" normalized to "http://www.google.com/whatareyouthinking"' + ) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts index 9afef114b24a9..77d5854630ba0 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts @@ -1,29 +1,24 @@ -import { PluginEvent, PluginInput, PluginMeta } from "@posthog/plugin-scaffold"; +import { PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' function normalizeUrl(url: string): string { - try { - const parsedUrl = new URL(url.toLocaleLowerCase()); - parsedUrl.pathname = parsedUrl.pathname.replace(/\/$/, ""); + try { + const parsedUrl = new URL(url.toLocaleLowerCase()) + parsedUrl.pathname = parsedUrl.pathname.replace(/\/$/, '') - return parsedUrl.toString(); - } catch (err) { - throw `Unable to normalize invalid URL: "${url}"`; - } + return parsedUrl.toString() + } catch (err) { + throw `Unable to normalize invalid URL: "${url}"` + } } -export function processEvent( - event: PluginEvent, - meta: PluginMeta -) { - const $current_url = event?.properties?.$current_url; - if (event?.properties && $current_url) { - const normalized_url = normalizeUrl($current_url); - event.properties.$current_url = normalized_url; +export function processEvent(event: PluginEvent, meta: PluginMeta) { + const $current_url = event?.properties?.$current_url + if (event?.properties && $current_url) { + const normalized_url = normalizeUrl($current_url) + event.properties.$current_url = normalized_url - console.debug( - `event.$current_url: "${$current_url}" normalized to "${normalized_url}"` - ); - } + console.debug(`event.$current_url: "${$current_url}" normalized to "${normalized_url}"`) + } - return event; + return event } diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/index.js b/plugin-server/src/cdp/legacy-plugins/property-filter/index.js index 8b14d78866900..066227a1fcff0 100644 --- a/plugin-server/src/cdp/legacy-plugins/property-filter/index.js +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/index.js @@ -25,7 +25,7 @@ async function processEvent(event, { global }) { recursiveRemoveFilterObject(propertiesCopy, propertyToFilter.split('.')) } - + return { ...event, properties: propertiesCopy } } diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js b/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js index 26c2ded260906..31bee7b6b21f2 100644 --- a/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js @@ -10,7 +10,8 @@ const global = { 'nonExisting', '$set.$not_in_props', 'no-such.with-dot', -]} + ], +} const properties = { properties: { @@ -44,8 +45,7 @@ test('event properties are filtered', async () => { expect(event.properties).toHaveProperty('foo') expect(event.properties.$set).toHaveProperty('firstName', 'Post') expect(event.properties.foo.bar.baz).toHaveProperty('two', 'two') - expect(event.properties).toEqual( - { + expect(event.properties).toEqual({ name: 'Mr. Hog', age: 12, $set: { diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json b/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json index 52cf4932f35e8..a7b3e49f4b98e 100644 --- a/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json @@ -1,19 +1,19 @@ { - "name": "Property Filter", - "url": "https://github.com/witty-works/posthog-property-filter-plugin", - "description": "This plugin will set all configured properties to null inside an ingested event.", - "main": "index.js", - "config": [ - { - "markdown": "\n\n# Important!\nThis plugin will only work on events ingested **after** the plugin was enabled. This means it **will** register events as being the first if there were events that occured **before** it was enabled. To mitigate this, you could consider renaming the relevant events and creating an [action](https://posthog.com/docs/features/actions) that matches both the old event name and the new one.\n" - }, - { - "key": "properties", - "name": "List of properties to filter out:", - "type": "string", - "default": "", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,baz`", - "required": true - } - ] -} \ No newline at end of file + "name": "Property Filter", + "url": "https://github.com/witty-works/posthog-property-filter-plugin", + "description": "This plugin will set all configured properties to null inside an ingested event.", + "main": "index.js", + "config": [ + { + "markdown": "\n\n# Important!\nThis plugin will only work on events ingested **after** the plugin was enabled. This means it **will** register events as being the first if there were events that occured **before** it was enabled. To mitigate this, you could consider renaming the relevant events and creating an [action](https://posthog.com/docs/features/actions) that matches both the old event name and the new one.\n" + }, + { + "key": "properties", + "name": "List of properties to filter out:", + "type": "string", + "default": "", + "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,baz`", + "required": true + } + ] +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts index c4092c8186fb7..bbe6135937c8a 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -3,7 +3,7 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' import { RetryError } from '@posthog/plugin-scaffold' -import { PubSub, Topic } from "@google-cloud/pubsub" +import { PubSub, Topic } from '@google-cloud/pubsub' type PubSubMeta = LegacyPluginMeta & { global: { @@ -12,7 +12,7 @@ type PubSubMeta = LegacyPluginMeta & { } config: { topicId: string - }, + } attachments: any } @@ -31,13 +31,13 @@ export const setupPlugin = async (meta: PubSubMeta): Promise => { projectId: credentials['project_id'], credentials, }) - global.pubSubTopic = global.pubSubClient.topic(config.topicId); + global.pubSubTopic = global.pubSubClient.topic(config.topicId) // topic exists await global.pubSubTopic.getMetadata() } catch (error) { // some other error? abort! - if (!error.message.includes("NOT_FOUND")) { + if (!error.message.includes('NOT_FOUND')) { throw new Error(error) } logger.log(`Creating PubSub Topic - ${config.topicId}`) @@ -91,10 +91,7 @@ export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config return messageId }) } catch (error) { - console.error( - `Error publishing ${fullEvent.uuid} to ${config.topicId}: `, - error - ) + console.error(`Error publishing ${fullEvent.uuid} to ${config.topicId}: `, error) throw new RetryError(`Error publishing to Pub/Sub! ${JSON.stringify(error.errors)}`) } } @@ -104,4 +101,4 @@ export const pubsubPlugin: LegacyPlugin = { metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, -} \ No newline at end of file +} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json b/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json index 726ece5fc060d..abf630c215465 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json @@ -1,725 +1,725 @@ { - "name": "@posthog/pubsub-plugin", - "version": "0.0.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@google-cloud/paginator": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz", - "integrity": "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==", - "dev": true, - "requires": { - "arrify": "^2.0.0", - "extend": "^3.0.2" - } - }, - "@google-cloud/precise-date": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-2.0.3.tgz", - "integrity": "sha512-+SDJ3ZvGkF7hzo6BGa8ZqeK3F6Z4+S+KviC9oOK+XCs3tfMyJCh/4j93XIWINgMMDIh9BgEvlw4306VxlXIlYA==", - "dev": true - }, - "@google-cloud/projectify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.0.tgz", - "integrity": "sha512-qbpidP/fOvQNz3nyabaVnZqcED1NNzf7qfeOlgtAZd9knTwY+KtsGRkYpiQzcATABy4gnGP2lousM3S0nuWVzA==", - "dev": true - }, - "@google-cloud/promisify": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz", - "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==", - "dev": true - }, - "@google-cloud/pubsub": { - "version": "2.16.6", - "resolved": "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.16.6.tgz", - "integrity": "sha512-Hsa95pbgUmgxmrAQRePqGfpCx/zEqd+ueZDdi4jjvnew6bAP3r0+i+3a1/qkNonQYcWcf0a2tJnZwVDuMznvog==", - "dev": true, - "requires": { - "@google-cloud/paginator": "^3.0.0", - "@google-cloud/precise-date": "^2.0.0", - "@google-cloud/projectify": "^2.0.0", - "@google-cloud/promisify": "^2.0.0", - "@opentelemetry/api": "^1.0.0", - "@opentelemetry/semantic-conventions": "^0.24.0", - "@types/duplexify": "^3.6.0", - "@types/long": "^4.0.0", - "arrify": "^2.0.0", - "extend": "^3.0.2", - "google-auth-library": "^7.0.0", - "google-gax": "^2.24.1", - "is-stream-ended": "^0.1.4", - "lodash.snakecase": "^4.1.1", - "p-defer": "^3.0.0" - } - }, - "@grpc/grpc-js": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", - "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", - "dev": true, - "requires": { - "@types/node": ">=12.12.47" - } - }, - "@grpc/proto-loader": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz", - "integrity": "sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==", - "dev": true, - "requires": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^6.10.0", - "yargs": "^16.1.1" - } - }, - "@opentelemetry/api": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.2.tgz", - "integrity": "sha512-DCF9oC89ao8/EJUqrp/beBlDR8Bp2R43jqtzayqCoomIvkwTuPfLcHdVhIGRR69GFlkykFjcDW+V92t0AS7Tww==", - "dev": true - }, - "@opentelemetry/semantic-conventions": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", - "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", - "dev": true - }, - "@posthog/plugin-contrib": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", - "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==", - "dev": true - }, - "@posthog/plugin-scaffold": { - "version": "0.12.8", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.8.tgz", - "integrity": "sha512-T0ldNkc2maWlfa8XIthnfVzur2pg4+JDXhKm2ohuWmWB7wyP5/Sg7uIWohZ4bI+nW794uU5Uc9iMvpKHjQiX/Q==", - "dev": true - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", - "dev": true - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", - "dev": true - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", - "dev": true - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", - "dev": true - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", - "dev": true - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", - "dev": true - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", - "dev": true - }, - "@types/duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/generic-pool": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.1.10.tgz", - "integrity": "sha512-WRT/9taXh9XJRA9yvrbC02IqGZhK9GbFE/vuP2LeSLrqmDzz5wdXsH0Ige/F+3+rbbZfwH3LEazDsU0JiSV3vA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", - "dev": true - }, - "@types/node": { - "version": "16.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz", - "integrity": "sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==", - "dev": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "dev": true - }, - "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": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "dev": true, - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "fast-text-encoding": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", - "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==", - "dev": true - }, - "gaxios": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz", - "integrity": "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==", - "dev": true, - "requires": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.3.0" - } - }, - "gcp-metadata": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.0.tgz", - "integrity": "sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==", - "dev": true, - "requires": { - "gaxios": "^4.0.0", - "json-bigint": "^1.0.0" - } - }, - "generic-pool": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz", - "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", - "dev": true - }, - "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==", - "dev": true - }, - "google-auth-library": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.6.2.tgz", - "integrity": "sha512-yvEnwVsvgH8RXTtpf6e84e7dqIdUEKJhmQvTJwzYP+RDdHjLrDp9sk2u2ZNDJPLKZ7DJicx/+AStcQspJiq+Qw==", - "dev": true, - "requires": { - "arrify": "^2.0.0", - "base64-js": "^1.3.0", - "ecdsa-sig-formatter": "^1.0.11", - "fast-text-encoding": "^1.0.0", - "gaxios": "^4.0.0", - "gcp-metadata": "^4.2.0", - "gtoken": "^5.0.4", - "jws": "^4.0.0", - "lru-cache": "^6.0.0" - } - }, - "google-gax": { - "version": "2.24.2", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.24.2.tgz", - "integrity": "sha512-4OtyEIt/KAXRX5o2W/6DGf8MnMs1lMXwcGoPHR4PwXfTUVKjK7ywRe2/yRIMkYEDzAwu/kppPgfpX+kCG2rWfw==", - "dev": true, - "requires": { - "@grpc/grpc-js": "~1.3.0", - "@grpc/proto-loader": "^0.6.1", - "@types/long": "^4.0.0", - "abort-controller": "^3.0.0", - "duplexify": "^4.0.0", - "fast-text-encoding": "^1.0.3", - "google-auth-library": "^7.6.1", - "is-stream-ended": "^0.1.4", - "node-fetch": "^2.6.1", - "object-hash": "^2.1.1", - "proto3-json-serializer": "^0.1.1", - "protobufjs": "6.11.2", - "retry-request": "^4.0.0" - } - }, - "google-p12-pem": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", - "integrity": "sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "gtoken": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz", - "integrity": "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==", - "dev": true, - "requires": { - "gaxios": "^4.0.0", - "google-p12-pem": "^3.0.3", - "jws": "^4.0.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-stream-ended": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", - "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", - "dev": true - }, - "json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "dev": true, - "requires": { - "bignumber.js": "^9.0.0" - } - }, - "jwa": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", - "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", - "dev": true, - "requires": { - "jwa": "^2.0.0", - "safe-buffer": "^5.0.1" - } - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "dev": true - }, - "proto3-json-serializer": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.3.tgz", - "integrity": "sha512-X0DAtxCBsy1NDn84huVFGOFgBslT2gBmM+85nY6/5SOAaCon1jzVNdvi74foIyFvs5CjtSbQsepsM5TsyNhqQw==", - "dev": true - }, - "protobufjs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", - "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "retry-request": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", - "integrity": "sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "extend": "^3.0.2" - } - }, - "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==", - "dev": true - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "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==", - "dev": true + "name": "@posthog/pubsub-plugin", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@google-cloud/paginator": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz", + "integrity": "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==", + "dev": true, + "requires": { + "arrify": "^2.0.0", + "extend": "^3.0.2" + } + }, + "@google-cloud/precise-date": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-2.0.3.tgz", + "integrity": "sha512-+SDJ3ZvGkF7hzo6BGa8ZqeK3F6Z4+S+KviC9oOK+XCs3tfMyJCh/4j93XIWINgMMDIh9BgEvlw4306VxlXIlYA==", + "dev": true + }, + "@google-cloud/projectify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.0.tgz", + "integrity": "sha512-qbpidP/fOvQNz3nyabaVnZqcED1NNzf7qfeOlgtAZd9knTwY+KtsGRkYpiQzcATABy4gnGP2lousM3S0nuWVzA==", + "dev": true + }, + "@google-cloud/promisify": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz", + "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==", + "dev": true + }, + "@google-cloud/pubsub": { + "version": "2.16.6", + "resolved": "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.16.6.tgz", + "integrity": "sha512-Hsa95pbgUmgxmrAQRePqGfpCx/zEqd+ueZDdi4jjvnew6bAP3r0+i+3a1/qkNonQYcWcf0a2tJnZwVDuMznvog==", + "dev": true, + "requires": { + "@google-cloud/paginator": "^3.0.0", + "@google-cloud/precise-date": "^2.0.0", + "@google-cloud/projectify": "^2.0.0", + "@google-cloud/promisify": "^2.0.0", + "@opentelemetry/api": "^1.0.0", + "@opentelemetry/semantic-conventions": "^0.24.0", + "@types/duplexify": "^3.6.0", + "@types/long": "^4.0.0", + "arrify": "^2.0.0", + "extend": "^3.0.2", + "google-auth-library": "^7.0.0", + "google-gax": "^2.24.1", + "is-stream-ended": "^0.1.4", + "lodash.snakecase": "^4.1.1", + "p-defer": "^3.0.0" + } + }, + "@grpc/grpc-js": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", + "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", + "dev": true, + "requires": { + "@types/node": ">=12.12.47" + } + }, + "@grpc/proto-loader": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz", + "integrity": "sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==", + "dev": true, + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.1.1" + } + }, + "@opentelemetry/api": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.2.tgz", + "integrity": "sha512-DCF9oC89ao8/EJUqrp/beBlDR8Bp2R43jqtzayqCoomIvkwTuPfLcHdVhIGRR69GFlkykFjcDW+V92t0AS7Tww==", + "dev": true + }, + "@opentelemetry/semantic-conventions": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", + "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", + "dev": true + }, + "@posthog/plugin-contrib": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", + "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==", + "dev": true + }, + "@posthog/plugin-scaffold": { + "version": "0.12.8", + "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.8.tgz", + "integrity": "sha512-T0ldNkc2maWlfa8XIthnfVzur2pg4+JDXhKm2ohuWmWB7wyP5/Sg7uIWohZ4bI+nW794uU5Uc9iMvpKHjQiX/Q==", + "dev": true + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "dev": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "dev": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "dev": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "dev": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "dev": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "dev": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "dev": true + }, + "@types/duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/generic-pool": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.1.10.tgz", + "integrity": "sha512-WRT/9taXh9XJRA9yvrbC02IqGZhK9GbFE/vuP2LeSLrqmDzz5wdXsH0Ige/F+3+rbbZfwH3LEazDsU0JiSV3vA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", + "dev": true + }, + "@types/node": { + "version": "16.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz", + "integrity": "sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "dev": true + }, + "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": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "dev": true + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dev": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==", + "dev": true + }, + "gaxios": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz", + "integrity": "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + } + }, + "gcp-metadata": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.0.tgz", + "integrity": "sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==", + "dev": true, + "requires": { + "gaxios": "^4.0.0", + "json-bigint": "^1.0.0" + } + }, + "generic-pool": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz", + "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", + "dev": true + }, + "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==", + "dev": true + }, + "google-auth-library": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.6.2.tgz", + "integrity": "sha512-yvEnwVsvgH8RXTtpf6e84e7dqIdUEKJhmQvTJwzYP+RDdHjLrDp9sk2u2ZNDJPLKZ7DJicx/+AStcQspJiq+Qw==", + "dev": true, + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^4.0.0", + "gcp-metadata": "^4.2.0", + "gtoken": "^5.0.4", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + } + }, + "google-gax": { + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.24.2.tgz", + "integrity": "sha512-4OtyEIt/KAXRX5o2W/6DGf8MnMs1lMXwcGoPHR4PwXfTUVKjK7ywRe2/yRIMkYEDzAwu/kppPgfpX+kCG2rWfw==", + "dev": true, + "requires": { + "@grpc/grpc-js": "~1.3.0", + "@grpc/proto-loader": "^0.6.1", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "fast-text-encoding": "^1.0.3", + "google-auth-library": "^7.6.1", + "is-stream-ended": "^0.1.4", + "node-fetch": "^2.6.1", + "object-hash": "^2.1.1", + "proto3-json-serializer": "^0.1.1", + "protobufjs": "6.11.2", + "retry-request": "^4.0.0" + } + }, + "google-p12-pem": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", + "integrity": "sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "gtoken": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz", + "integrity": "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==", + "dev": true, + "requires": { + "gaxios": "^4.0.0", + "google-p12-pem": "^3.0.3", + "jws": "^4.0.0" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "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==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", + "dev": true + }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dev": true, + "requires": { + "bignumber.js": "^9.0.0" + } + }, + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dev": true, + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", + "dev": true + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "dev": true + }, + "proto3-json-serializer": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.3.tgz", + "integrity": "sha512-X0DAtxCBsy1NDn84huVFGOFgBslT2gBmM+85nY6/5SOAaCon1jzVNdvi74foIyFvs5CjtSbQsepsM5TsyNhqQw==", + "dev": true + }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "dev": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "retry-request": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", + "integrity": "sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "extend": "^3.0.2" + } + }, + "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==", + "dev": true + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "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==", + "dev": true + } } - } } diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json b/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json index a3f5ddd07bd91..83ec20c31d216 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json @@ -1,44 +1,44 @@ { - "name": "Pub/Sub Export", - "url": "https://github.com/PostHog/pubsub-plugin", - "description": "Sends events to a Pub/Sub topic on ingestion.", - "main": "index.ts", - "posthogVersion": ">= 1.25.0", - "config": [ - { - "key": "googleCloudKeyJson", - "name": "JSON file with your google cloud key", - "type": "attachment", - "required": true, - "secret": true - }, - { - "key": "topicId", - "hint": "A topic will be created if it does not exist.", - "name": "Topic ID", - "type": "string", - "required": true - }, - { - "key": "exportEventsToIgnore", - "name": "Events to ignore", - "type": "string", - "default": "$feature_flag_called", - "hint": "Comma separated list of events to ignore" - }, - { - "key": "exportEventsBufferBytes", - "name": "Maximum upload size in bytes", - "type": "string", - "default": "1048576", - "hint": "Default 1MB. Upload events after buffering this many of them. The value must be between 1 MB and 10 MB." - }, - { - "key": "exportEventsBufferSeconds", - "name": "Export events at least every X seconds", - "type": "string", - "default": "30", - "hint": "Default 30 seconds. If there are events to upload and this many seconds has passed since the last upload, then upload the queued events. The value must be between 1 and 600 seconds." - } - ] + "name": "Pub/Sub Export", + "url": "https://github.com/PostHog/pubsub-plugin", + "description": "Sends events to a Pub/Sub topic on ingestion.", + "main": "index.ts", + "posthogVersion": ">= 1.25.0", + "config": [ + { + "key": "googleCloudKeyJson", + "name": "JSON file with your google cloud key", + "type": "attachment", + "required": true, + "secret": true + }, + { + "key": "topicId", + "hint": "A topic will be created if it does not exist.", + "name": "Topic ID", + "type": "string", + "required": true + }, + { + "key": "exportEventsToIgnore", + "name": "Events to ignore", + "type": "string", + "default": "$feature_flag_called", + "hint": "Comma separated list of events to ignore" + }, + { + "key": "exportEventsBufferBytes", + "name": "Maximum upload size in bytes", + "type": "string", + "default": "1048576", + "hint": "Default 1MB. Upload events after buffering this many of them. The value must be between 1 MB and 10 MB." + }, + { + "key": "exportEventsBufferSeconds", + "name": "Export events at least every X seconds", + "type": "string", + "default": "30", + "hint": "Default 30 seconds. If there are events to upload and this many seconds has passed since the last upload, then upload the queued events. The value must be between 1 and 600 seconds." + } + ] } diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json index 4d88ccdcd6b94..d74450627ec37 100644 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json @@ -1,25 +1,25 @@ { - "name": "RudderStack", - "url": "https://github.com/rudderlabs/rudderstack-posthog-plugin", - "description": "Send event data to RudderStack", - "main": "index.js", - "config": [ - { - "key": "dataPlaneUrl", - "hint": "Provide RudderStack server url, append v1/batch path", - "name": "RudderStack Server URL", - "type": "string", - "default": "https://hosted.rudderlabs.com/v1/batch", - "required": true - }, - { - "key": "writeKey", - "hint": "Provide source writekey", - "name": "RudderStack Source Writekey", - "type": "string", - "default": "", - "required": true, - "secret": true - } - ] + "name": "RudderStack", + "url": "https://github.com/rudderlabs/rudderstack-posthog-plugin", + "description": "Send event data to RudderStack", + "main": "index.js", + "config": [ + { + "key": "dataPlaneUrl", + "hint": "Provide RudderStack server url, append v1/batch path", + "name": "RudderStack Server URL", + "type": "string", + "default": "https://hosted.rudderlabs.com/v1/batch", + "required": true + }, + { + "key": "writeKey", + "hint": "Provide source writekey", + "name": "RudderStack Source Writekey", + "type": "string", + "default": "", + "required": true, + "secret": true + } + ] } diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts index 36781fd7353b7..7104b80c3c646 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts @@ -44,21 +44,21 @@ describe('event sink mapping', () => { describe('parsing', () => { it('can parse a valid event sink mapping', () => { - const config = ({ eventEndpointMapping: JSON.stringify(validMapping) } as unknown) as SalesforcePluginConfig + const config = { eventEndpointMapping: JSON.stringify(validMapping) } as unknown as SalesforcePluginConfig const mapping = parseEventSinkConfig(config) expect(mapping).toEqual(validMapping) }) it('can parse an empty event sink mapping', () => { - const config = ({ eventEndpointMapping: '' } as unknown) as SalesforcePluginConfig + const config = { eventEndpointMapping: '' } as unknown as SalesforcePluginConfig const mapping = parseEventSinkConfig(config) expect(mapping).toEqual(null) }) it('can parse nonsense as an empty event sink mapping', () => { - const config = ({ eventEndpointMapping: '🤘' } as unknown) as SalesforcePluginConfig + const config = { eventEndpointMapping: '🤘' } as unknown as SalesforcePluginConfig expect(() => parseEventSinkConfig(config)).toThrowError( - 'eventEndpointMapping must be an empty string or contain valid JSON!', + 'eventEndpointMapping must be an empty string or contain valid JSON!' ) }) }) @@ -66,44 +66,44 @@ describe('event sink mapping', () => { describe('validation', () => { it('can validate an event sink mapping with missing salesforcePath', () => { expect(() => { - verifyConfig(({ + verifyConfig({ config: { eventEndpointMapping: JSON.stringify(invalidMapping), }, - } as unknown) as SalesforceMeta) + } as unknown as SalesforceMeta) }).toThrowError('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') }) it('can validate an event sink mapping with missing method', () => { expect(() => { - verifyConfig(({ + verifyConfig({ config: { eventEndpointMapping: JSON.stringify(missingMethodInvalidMapping), }, - } as unknown) as SalesforceMeta) + } as unknown as SalesforceMeta) }).toThrowError('You must provide a method for each mapping in config.eventEndpointMapping.') }) it('can validate invalid JSON in EventToSinkMapping', () => { - const mapping = ({ + const mapping = { really: 'not an event to sink mapping', - } as unknown) as EventToSinkMapping + } as unknown as EventToSinkMapping expect(() => { - verifyConfig(({ + verifyConfig({ config: { eventEndpointMapping: JSON.stringify(mapping), }, - } as unknown) as SalesforceMeta) + } as unknown as SalesforceMeta) }).toThrowError('You must provide a salesforce path for each mapping in config.eventEndpointMapping.') }) it('can validate eventsToInclude must be present if an event sink mapping is not', () => { expect(() => { - verifyConfig(({ + verifyConfig({ config: { eventEndpointMapping: '', }, - } as unknown) as SalesforceMeta) + } as unknown as SalesforceMeta) }).toThrowError('If you are not providing an eventEndpointMapping then you must provide events to include.') }) @@ -116,23 +116,23 @@ describe('event sink mapping', () => { }, } expect(() => { - verifyConfig(({ + verifyConfig({ config: { eventEndpointMapping: JSON.stringify(mapping), eventsToInclude: '$pageView', }, - } as unknown) as SalesforceMeta) + } as unknown as SalesforceMeta) }).toThrowError('You should not provide both eventsToInclude and eventMapping.') }) }) describe('sending to sink', () => { - const global = ({ + const global = { logger: { debug: jest.fn(), error: jest.fn(), }, - } as unknown) as SalesforceMeta['global'] + } as unknown as SalesforceMeta['global'] const config = { salesforceHost: 'https://example.io', eventMethodType: 'POST', @@ -154,30 +154,30 @@ describe('event sink mapping', () => { it('does not send to a sink if there is no mapping for the event', async () => { await sendEventToSalesforce( { event: 'uninteresting' } as ProcessedPluginEvent, - ({ + { config, global, - logger: { error: jest.fn(), debug: jest.fn() } - } as unknown) as SalesforceMeta, - 'token', + logger: { error: jest.fn(), debug: jest.fn() }, + } as unknown as SalesforceMeta, + 'token' ) expect(mockFetch).not.toHaveBeenCalled() }) it('does send to a sink if there is a mapping for the event', async () => { await sendEventToSalesforce( - ({ + { event: '$pageview', properties: { unwanted: 'excluded', two: 'includes' }, - } as unknown) as ProcessedPluginEvent, - ({ + } as unknown as ProcessedPluginEvent, + { global: global, config: config, cache: undefined, fetch: mockFetch as unknown, - logger: { error: jest.fn(), debug: jest.fn() } - } as unknown) as SalesforceMeta, - 'the bearer token', + logger: { error: jest.fn(), debug: jest.fn() }, + } as unknown as SalesforceMeta, + 'the bearer token' ) expect(mockFetch).toHaveBeenCalledWith('https://example.io/something', { body: '{"two":"includes"}', diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts index deed1dcfca838..4719984402548 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts @@ -5,35 +5,35 @@ describe('filtering by property allow list', () => { describe('filtering', () => { it('does not filter if there is no allow list', () => { const properties = { a: 'a', b: 'b' } - const filteredProperties = getProperties(({ properties } as unknown) as PluginEvent, '') + const filteredProperties = getProperties({ properties } as unknown as PluginEvent, '') expect(filteredProperties).toEqual(properties) }) it('does filter if there is an allow list', () => { const properties = { a: 'a', b: 'b', c: 'c' } - const filteredProperties = getProperties(({ properties } as unknown) as PluginEvent, 'a,c') + const filteredProperties = getProperties({ properties } as unknown as PluginEvent, 'a,c') expect(filteredProperties).toEqual({ a: 'a', c: 'c' }) }) it('copes with spaces in the config', () => { const properties = { a: 'a', b: 'b', c: 'c' } - const filteredProperties = getProperties(({ properties } as unknown) as PluginEvent, 'a, c') + const filteredProperties = getProperties({ properties } as unknown as PluginEvent, 'a, c') expect(filteredProperties).toEqual({ a: 'a', c: 'c' }) }) it('converts properties using field mappings', () => { const properties = { email: 'a', b: 'b', surname: 'c', d: 'e' } - const filteredProperties = getProperties( - ({ properties } as unknown) as PluginEvent, 'email,surname,d', - { email: 'Email', surname: 'LastName' } - ) + const filteredProperties = getProperties({ properties } as unknown as PluginEvent, 'email,surname,d', { + email: 'Email', + surname: 'LastName', + }) expect(filteredProperties).toEqual({ Email: 'a', LastName: 'c', d: 'e' }) }) it('can handle nested properties', () => { - const properties = { name: 'a@b.com', person_properties: {middle: {bottom:'val'}, surname: 'Smith'} } + const properties = { name: 'a@b.com', person_properties: { middle: { bottom: 'val' }, surname: 'Smith' } } const filteredProperties = getProperties( - ({ properties } as unknown) as PluginEvent, + { properties } as unknown as PluginEvent, 'person_properties.surname,name', { name: 'Name', @@ -43,43 +43,39 @@ describe('filtering by property allow list', () => { expect(filteredProperties).toEqual({ Name: 'a@b.com', - LastName: 'Smith' + LastName: 'Smith', }) }) it('can handle deeply nested properties', () => { - const properties = { name: 'a@b.com', person_properties: {middle: {bottom:'val'}, surname: 'Smith'} } + const properties = { name: 'a@b.com', person_properties: { middle: { bottom: 'val' }, surname: 'Smith' } } const filteredProperties = getProperties( - ({ properties } as unknown) as PluginEvent, + { properties } as unknown as PluginEvent, 'person_properties.middle.bottom,name', { name: 'Name', 'person_properties.surname': 'LastName', - 'person_properties.middle.bottom': 'MiddleBottom' + 'person_properties.middle.bottom': 'MiddleBottom', } ) expect(filteredProperties).toEqual({ Name: 'a@b.com', - MiddleBottom: 'val' + MiddleBottom: 'val', }) }) it('maps fields when there are no properties to include provided', () => { const properties = { name: 'a@b.com', another: 'value' } - const filteredProperties = getProperties( - ({ properties } as unknown) as PluginEvent, - ' ', - { - name: 'Name', - // redundant mapping is safely ignored - 'person_properties.surname': 'LastName', - } - ) + const filteredProperties = getProperties({ properties } as unknown as PluginEvent, ' ', { + name: 'Name', + // redundant mapping is safely ignored + 'person_properties.surname': 'LastName', + }) expect(filteredProperties).toEqual({ Name: 'a@b.com', - another: 'value' + another: 'value', }) }) }) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts index ceb20b435fb66..150b6b566fc0a 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts @@ -15,7 +15,7 @@ export interface EventSink { fieldMappings?: FieldMappings } -export type FieldMappings = Record; +export type FieldMappings = Record export type EventToSinkMapping = Record @@ -166,8 +166,7 @@ export async function sendEventToSalesforce( salesforcePath: config.eventPath, method: config.eventMethodType, propertiesToInclude: config.propertiesToInclude, - fieldMappings: {} - + fieldMappings: {}, } logger.debug('v1: processing event: ', event?.event, ' with sink ', eventSink) } @@ -177,15 +176,10 @@ export async function sendEventToSalesforce( sink: eventSink, token, event, - meta + meta, }) } catch (error) { - meta.logger.error( - 'error while sending event to salesforce. event: ', - event.event, - ' the error was ', - error - ) + meta.logger.error('error while sending event to salesforce. event: ', event.event, ' the error was ', error) throw error } } @@ -276,10 +270,14 @@ async function statusOk(res: Response, logger: SalesforceMeta['logger']): Promis // we allow `any` since we don't know what type the properties are, and `unknown` is too restrictive here // eslint-disable-next-line @typescript-eslint/no-explicit-any function getNestedProperty(properties: Record, path: string): any { - return path.split('.').reduce((acc, part) => acc[part], properties); + return path.split('.').reduce((acc, part) => acc[part], properties) } -export function getProperties(event: ProcessedPluginEvent, propertiesToInclude: string, fieldMappings: FieldMappings = {}): Properties { +export function getProperties( + event: ProcessedPluginEvent, + propertiesToInclude: string, + fieldMappings: FieldMappings = {} +): Properties { const { properties } = event if (!properties) { @@ -287,7 +285,9 @@ export function getProperties(event: ProcessedPluginEvent, propertiesToInclude: } // if no propertiesToInclude is set then all properties are allowed - const propertiesAllowList = !!propertiesToInclude?.trim().length ? propertiesToInclude.split(',').map((e) => e.trim()) : Object.keys(properties) + const propertiesAllowList = !!propertiesToInclude?.trim().length + ? propertiesToInclude.split(',').map((e) => e.trim()) + : Object.keys(properties) const mappedProperties: Record = {} diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts index 1838a69a7b616..76d919faf26ec 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts @@ -5,7 +5,6 @@ describe('onEvent', () => { let config: SalesforcePluginConfig beforeEach(() => { - config = { salesforceHost: 'https://example.io', eventPath: 'test', diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts index 82088b23eaf3f..39d4ef9945ac9 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts @@ -27,13 +27,13 @@ describe('sendEventsToSalesforce', () => { } as SalesforcePluginConfig await sendEventToSalesforce( - ({ event: '$pageview', properties: { $current_url: 'https://home/io' } } as unknown) as ProcessedPluginEvent, - ({ + { event: '$pageview', properties: { $current_url: 'https://home/io' } } as unknown as ProcessedPluginEvent, + { config, global, logger: { error: jest.fn(), debug: jest.fn() }, fetch: mockFetch as unknown, - } as unknown) as SalesforceMeta, + } as unknown as SalesforceMeta, 'token' ) @@ -52,8 +52,11 @@ describe('sendEventsToSalesforce', () => { } as SalesforcePluginConfig await sendEventToSalesforce( - ({ event: 'should not send', properties: { $current_url: 'https://home/io' } } as unknown) as ProcessedPluginEvent, - ({ config, global, logger: { error: jest.fn(), debug: jest.fn() } } as unknown) as SalesforceMeta, + { + event: 'should not send', + properties: { $current_url: 'https://home/io' }, + } as unknown as ProcessedPluginEvent, + { config, global, logger: { error: jest.fn(), debug: jest.fn() } } as unknown as SalesforceMeta, 'token' ) diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js index 9b1df22868f98..5e067f9c79aeb 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js @@ -7,11 +7,11 @@ global.fetch = jest.fn(async (url) => ({ ? { custom_fields: [ { id: 'field1', name: 'my_prop1' }, - { id: 'field2', name: 'my_prop2' } - ] + { id: 'field2', name: 'my_prop2' }, + ], } : {}, - status: 200 + status: 200, })) beforeEach(() => { @@ -19,9 +19,9 @@ beforeEach(() => { resetMeta({ config: { - sendgridApiKey: 'SENDGRID_API_KEY' + sendgridApiKey: 'SENDGRID_API_KEY', }, - global: global + global: global, }) }) @@ -33,8 +33,8 @@ test('setupPlugin uses sendgridApiKey', async () => { expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/field_definitions', { method: 'GET', headers: { - Authorization: 'Bearer SENDGRID_API_KEY' - } + Authorization: 'Bearer SENDGRID_API_KEY', + }, }) }) @@ -42,8 +42,8 @@ test('setupPlugin fails if bad customFields format', async () => { resetMeta({ config: { sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'asf=asdf=asf' - } + customFields: 'asf=asdf=asf', + }, }) await expect(setupPlugin(getMeta())).rejects.toThrow() @@ -53,8 +53,8 @@ test('setupPlugin fails if custom field not defined in Sendgrid', async () => { resetMeta({ config: { sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'not_defined_custom_field' - } + customFields: 'not_defined_custom_field', + }, }) await expect(setupPlugin(getMeta())).rejects.toThrow() @@ -64,15 +64,15 @@ test('setupPlugin to accept valid customFields and parse them correctly', async resetMeta({ config: { sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'myProp1=my_prop1,my_prop2' - } + customFields: 'myProp1=my_prop1,my_prop2', + }, }) await setupPlugin(getMeta()) const { global } = getMeta() expect(global.customFieldsMap).toStrictEqual({ myProp1: 'field1', - my_prop2: 'field2' + my_prop2: 'field2', }) }) @@ -80,24 +80,24 @@ test('onEvent to send contacts with custom fields', async () => { resetMeta({ config: { sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'myProp1=my_prop1,my_prop2' - } + customFields: 'myProp1=my_prop1,my_prop2', + }, }) const event = { event: '$identify', distinct_id: 'user0@example.org', $set: { - lastName: 'User0' - } + lastName: 'User0', + }, } const event2 = { event: '$identify', $set: { email: 'user1@example.org', lastName: 'User1', - myProp1: 'foo' - } + myProp1: 'foo', + }, } expect(fetch).toHaveBeenCalledTimes(0) @@ -109,17 +109,17 @@ test('onEvent to send contacts with custom fields', async () => { method: 'PUT', headers: { Authorization: 'Bearer SENDGRID_API_KEY', - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, body: JSON.stringify({ contacts: [ { email: 'user0@example.org', last_name: 'User0', - custom_fields: {} - } - ] - }) + custom_fields: {}, + }, + ], + }), }) await onEvent(event2, getMeta()) expect(fetch).toHaveBeenCalledTimes(3) @@ -127,7 +127,7 @@ test('onEvent to send contacts with custom fields', async () => { method: 'PUT', headers: { Authorization: 'Bearer SENDGRID_API_KEY', - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, body: JSON.stringify({ contacts: [ @@ -135,10 +135,10 @@ test('onEvent to send contacts with custom fields', async () => { email: 'user1@example.org', last_name: 'User1', custom_fields: { - field1: 'foo' - } - } - ] - }) + field1: 'foo', + }, + }, + ], + }), }) }) diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts index 6eb2e469ba5ba..f44de24185b19 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts @@ -1,5 +1,5 @@ -import { ProcessedPluginEvent } from "@posthog/plugin-scaffold" -import { LegacyPlugin, LegacyPluginMeta } from "../types" +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): Promise => { @@ -8,8 +8,8 @@ const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): const fieldsDefResponse = await fetch('https://api.sendgrid.com/v3/marketing/field_definitions', { method: 'GET', headers: { - Authorization: `Bearer ${config.sendgridApiKey}` - } + Authorization: `Bearer ${config.sendgridApiKey}`, + }, }) if (!statusOk(fieldsDefResponse)) { throw new Error('Unable to connect to Sendgrid') @@ -44,7 +44,10 @@ const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): global.customFieldsMap = posthogPropsToSendgridCustomFieldIDsMap } -const onEvent = async (event: ProcessedPluginEvent, { config, global, logger, fetch }: LegacyPluginMeta): Promise => { +const onEvent = async ( + event: ProcessedPluginEvent, + { config, global, logger, fetch }: LegacyPluginMeta +): Promise => { if (event.event !== '$identify') { return } @@ -65,7 +68,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, logger, fe contacts.push({ email: email, ...sendgridFilteredProps, - custom_fields: customFields + custom_fields: customFields, }) } @@ -74,9 +77,9 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, logger, fe method: 'PUT', headers: { Authorization: `Bearer ${config.sendgridApiKey}`, - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, - body: JSON.stringify({ contacts: contacts }) + body: JSON.stringify({ contacts: contacts }), }) if (!statusOk(exportContactsResponse)) { @@ -94,7 +97,8 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, logger, fe } function isEmail(email) { - const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + const re = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return re.test(String(email).toLowerCase()) } @@ -122,7 +126,7 @@ const sendgridPropsMap = { postCode: 'postal_code', post_code: 'postal_code', postalCode: 'postal_code', - postal_code: 'postal_code' + postal_code: 'postal_code', } // parseCustomFieldsMap parses custom properties in a format like "myProp1=my_prop1,my_prop2". diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js index f8a6a56461313..ae59d171c0aac 100644 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js @@ -1,6 +1,4 @@ -const { - createEvent -} = require('@posthog/plugin-scaffold/test/utils.js') +const { createEvent } = require('@posthog/plugin-scaffold/test/utils.js') const { processEventBatch } = require('../index') const eventNamingOptions = [ @@ -8,78 +6,52 @@ const eventNamingOptions = [ 'HelloThereWorld', 'hello_there_world', 'hello-there-world', - 'hello there world' + 'hello there world', ] - test('converts all event names to camelCase', async () => { + const events = eventNamingOptions.map((option) => createEvent({ event: option })) - const events = eventNamingOptions.map(option => - createEvent({ event: option }) - ) - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'camelCase' } }) for (const event of eventsOutput) { - expect(event).toEqual( createEvent({ event: 'helloThereWorld' })) + expect(event).toEqual(createEvent({ event: 'helloThereWorld' })) } - }) - test('converts all event names to PascalCase', async () => { + const events = eventNamingOptions.map((option) => createEvent({ event: option })) - const events = eventNamingOptions.map(option => - createEvent({ event: option }) - ) - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'PascalCase' } }) for (const event of eventsOutput) { - expect(event).toEqual( createEvent({ event: 'HelloThereWorld' })) + expect(event).toEqual(createEvent({ event: 'HelloThereWorld' })) } - }) - test('converts all event names to snake_case', async () => { + const events = eventNamingOptions.map((option) => createEvent({ event: option })) - const events = eventNamingOptions.map(option => - createEvent({ event: option }) - ) - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'snake_case' } }) for (const event of eventsOutput) { - expect(event).toEqual( createEvent({ event: 'hello_there_world' })) + expect(event).toEqual(createEvent({ event: 'hello_there_world' })) } - - }) - test('converts all event names to kebab-case', async () => { + const events = eventNamingOptions.map((option) => createEvent({ event: option })) - const events = eventNamingOptions.map(option => - createEvent({ event: option }) - ) - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'kebab-case' } }) for (const event of eventsOutput) { - expect(event).toEqual( createEvent({ event: 'hello-there-world' })) + expect(event).toEqual(createEvent({ event: 'hello-there-world' })) } - - }) - test('converts all event names to spaces in between', async () => { + const events = eventNamingOptions.map((option) => createEvent({ event: option })) - const events = eventNamingOptions.map(option => - createEvent({ event: option }) - ) - - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'spaces in between' } }) + const eventsOutput = await processEventBatch([...events], { + config: { defaultNamingConvention: 'spaces in between' }, + }) for (const event of eventsOutput) { - expect(event).toEqual( createEvent({ event: 'hello there world' })) + expect(event).toEqual(createEvent({ event: 'hello there world' })) } - - -}) \ No newline at end of file +}) diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js b/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js index 0166d8b024e7c..c59ce7f8ca302 100644 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js @@ -1,60 +1,61 @@ const transformations = [ { - name: "camelCase", + name: 'camelCase', matchPattern: /[A-Z]/g, - transform: (str, matchPattern) => str[0].toLowerCase() + str.slice(1).replace(matchPattern, (substr) => substr[substr.length-1].toUpperCase()) + transform: (str, matchPattern) => + str[0].toLowerCase() + + str.slice(1).replace(matchPattern, (substr) => substr[substr.length - 1].toUpperCase()), }, { - name: "PascalCase", + name: 'PascalCase', matchPattern: /[A-Z]/g, - transform: (str, matchPattern) => str[0].toUpperCase() + str.slice(1).replace(matchPattern, (substr) => substr[substr.length-1].toUpperCase()) + transform: (str, matchPattern) => + str[0].toUpperCase() + + str.slice(1).replace(matchPattern, (substr) => substr[substr.length - 1].toUpperCase()), }, { - name: "snake_case", + name: 'snake_case', matchPattern: /([_])([a-z])/g, - transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '_') + transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '_'), }, { - name: "kebab_case", + name: 'kebab_case', matchPattern: /([-])([a-z])/g, - transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '-') + transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '-'), }, { - name: "spaces", + name: 'spaces', matchPattern: /([\s])([a-z])/g, - transform: (str, matchPattern) => defaultTransformation(str, matchPattern, ' ') + transform: (str, matchPattern) => defaultTransformation(str, matchPattern, ' '), }, -] +] const configSelectionMap = { - "camelCase": 0, - "PascalCase": 1, - "snake_case": 2, - "kebab-case": 3, - "spaces in between": 4 + camelCase: 0, + PascalCase: 1, + snake_case: 2, + 'kebab-case': 3, + 'spaces in between': 4, } -const skippedPostHogEvents = [ - 'survey shown', - 'survey sent', - 'survey dismissed', -] - +const skippedPostHogEvents = ['survey shown', 'survey sent', 'survey dismissed'] async function processEventBatch(events, { config }) { for (let event of events) { - if (!event.event.startsWith("$") && !skippedPostHogEvents.includes(event.event)) { - event.event = standardizeName(event.event, transformations[configSelectionMap[config.defaultNamingConvention]]) + if (!event.event.startsWith('$') && !skippedPostHogEvents.includes(event.event)) { + event.event = standardizeName( + event.event, + transformations[configSelectionMap[config.defaultNamingConvention]] + ) } } return events } - const defaultTransformation = (str, matchPattern, sep) => { const parsedStr = str.replace( - matchPattern, - (substr) => sep + (substr.length === 1 ? substr.toLowerCase() : substr[1].toLowerCase()) + matchPattern, + (substr) => sep + (substr.length === 1 ? substr.toLowerCase() : substr[1].toLowerCase()) ) if (parsedStr[0] === sep) { return parsedStr.slice(1) // Handle PascalCase @@ -62,7 +63,6 @@ const defaultTransformation = (str, matchPattern, sep) => { return parsedStr } - const standardizeName = (name, desiredPattern) => { for (const transformation of transformations) { if (transformation.name === desiredPattern.name || name.search(transformation.matchPattern) < 0) { @@ -74,5 +74,5 @@ const standardizeName = (name, desiredPattern) => { } module.exports = { - processEventBatch -} \ No newline at end of file + processEventBatch, +} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json b/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json index 88d4d33c07402..616e5dd911d41 100644 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json +++ b/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json @@ -9,13 +9,7 @@ "hint": "", "name": "Select your default naming pattern", "type": "choice", - "choices": [ - "camelCase", - "PascalCase", - "snake_case", - "kebab-case", - "spaces in between" - ], + "choices": ["camelCase", "PascalCase", "snake_case", "kebab-case", "spaces in between"], "order": 1, "default": "camelCase", "required": true diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js index 6a016816d84de..60a32984ae491 100644 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js @@ -9,10 +9,11 @@ const { } = require('@posthog/plugin-scaffold/test/utils.js') const { setupPlugin, processEvent } = require('../index') - test('processEvent adds the right properties', async () => { - - const event0 = createEvent({ event: 'Monday 27/01/2021', properties: { $time: 1611772203.557, keepMe: 'nothing changes' } }) + const event0 = createEvent({ + event: 'Monday 27/01/2021', + properties: { $time: 1611772203.557, keepMe: 'nothing changes' }, + }) const event1 = await processEvent(clone(event0), getMeta()) expect(event1).toEqual({ @@ -26,7 +27,10 @@ test('processEvent adds the right properties', async () => { }, }) - const event2 = createEvent({ event: 'Monday 25/01/2021', properties: { $time: 1611587425.118, keepMe: 'nothing changes' } }) + const event2 = createEvent({ + event: 'Monday 25/01/2021', + properties: { $time: 1611587425.118, keepMe: 'nothing changes' }, + }) const event3 = await processEvent(clone(event2), getMeta()) expect(event3).toEqual({ @@ -39,7 +43,6 @@ test('processEvent adds the right properties', async () => { year: '2021', }, }) - }) test('processEvent does not crash with identify', async () => { @@ -47,4 +50,4 @@ test('processEvent does not crash with identify', async () => { const event1 = await processEvent(clone(event0), getMeta()) expect(event1).toEqual(event0) -}) \ No newline at end of file +}) diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js index 4e75b04548fa3..d66f13eb90da4 100644 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js +++ b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js @@ -14,5 +14,5 @@ function processEvent(event) { } module.exports = { - processEvent + processEvent, } From 87234411e0371e69f47bce9cfbb2f22ec3acbb63 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:26:08 +0100 Subject: [PATCH 49/76] fix braze tests --- .../legacy-plugins/posthog-braze-app/index.ts | 117 +++--- .../tests/export-events.test.ts | 389 +++++++++--------- 2 files changed, 242 insertions(+), 264 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts index e18a3f4baeadc..3cd81430b11ab 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -12,10 +12,7 @@ export type FetchBraze = ( requestId?: string ) => Promise | null> -type BrazePluginMeta = LegacyPluginMeta & { - global: { - fetchBraze: FetchBraze - } +export type BrazePluginMeta = LegacyPluginMeta & { config: { brazeEndpoint: 'US-01' | 'US-02' | 'US-03' | 'US-04' | 'US-05' | 'US-06' | 'US-08' | 'EU-01' | 'EU-02' apiKey: string @@ -25,9 +22,6 @@ type BrazePluginMeta = LegacyPluginMeta & { } } -// NOTE: type is exported for tests -export type BrazeMeta = BrazePluginMeta - const ENDPOINTS_MAP = { 'US-01': 'https://rest.iad-01.braze.com', 'US-02': 'https://rest.iad-02.braze.com', @@ -40,59 +34,6 @@ const ENDPOINTS_MAP = { 'EU-02': 'https://rest.fra-02.braze.eu', } -export async function setupPlugin({ config, global, fetch, logger }: BrazePluginMeta): Promise { - const brazeUrl = ENDPOINTS_MAP[config.brazeEndpoint] - // we define a global fetch function that handles authentication and API errors - global.fetchBraze = async (endpoint, options = {}, method = 'GET', requestId = '') => { - const headers = { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${config.apiKey}`, - } - - let response: Response | undefined - - const startTime = Date.now() - - try { - response = await fetch(`${brazeUrl}${endpoint}`, { - method, - headers, - ...options, - timeout: 5000, - }) - } catch (e) { - logger.error(e, endpoint, options.body, requestId) - throw new RetryError('Fetch failed, retrying.') - } finally { - const elapsedTime = (Date.now() - startTime) / 1000 - if (elapsedTime >= 5) { - logger.warn( - `🐢 Slow request warning. Fetch took ${elapsedTime} seconds. Request ID: ${requestId}`, - endpoint - ) - } - } - - if (String(response.status)[0] === '5') { - throw new RetryError(`Service is down, retry later. Request ID: ${requestId}`) - } - - let responseJson: Record | null = null - - try { - responseJson = await response.json() - } catch (e) { - logger.error('Error parsing Braze response as JSON: ', e, endpoint, options.body, requestId) - } - - if (responseJson?.['errors']) { - logger.error('Braze API error (not retried): ', responseJson, endpoint, options.body, requestId) - } - return responseJson - } -} - export function ISODateString(d: Date): string { function pad(n: number) { return n < 10 ? '0' + n : n @@ -147,7 +88,7 @@ type BrazeUsersTrackBody = { events: Array // NOTE: max length 75 } -const _generateBrazeRequestBody = (pluginEvent: ProcessedPluginEvent, meta: BrazeMeta): BrazeUsersTrackBody => { +const _generateBrazeRequestBody = (pluginEvent: ProcessedPluginEvent, meta: BrazePluginMeta): BrazeUsersTrackBody => { const { event, $set, properties, timestamp } = pluginEvent // If we have $set or properties.$set then attributes should be an array @@ -189,18 +130,66 @@ const _generateBrazeRequestBody = (pluginEvent: ProcessedPluginEvent, meta: Braz } } +const fetchBraze = async (meta, endpoint, options = {}, method = 'GET', requestId = '') => { + const headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${meta.config.apiKey}`, + } + + let response: Response | undefined + + const startTime = Date.now() + + try { + response = await meta.fetch(`${ENDPOINTS_MAP[meta.config.brazeEndpoint]}${endpoint}`, { + method, + headers, + ...options, + timeout: 5000, + }) + } catch (e) { + meta.logger.error(e, endpoint, options.body, requestId) + throw new RetryError('Fetch failed, retrying.') + } finally { + const elapsedTime = (Date.now() - startTime) / 1000 + if (elapsedTime >= 5) { + meta.logger.warn( + `🐢 Slow request warning. Fetch took ${elapsedTime} seconds. Request ID: ${requestId}`, + endpoint + ) + } + } + if (String(response.status)[0] === '5') { + throw new RetryError(`Service is down, retry later. Request ID: ${requestId}`) + } + + let responseJson: Record | null = null + + try { + responseJson = await response.json() + } catch (e) { + meta.logger.error('Error parsing Braze response as JSON: ', e, endpoint, options.body, requestId) + } + + if (responseJson?.['errors']) { + meta.logger.error('Braze API error (not retried): ', responseJson, endpoint, options.body, requestId) + } + return responseJson +} + export const onEvent = async (pluginEvent: ProcessedPluginEvent, meta: BrazePluginMeta): Promise => { // NOTE: We compute a unique ID for this request so we can identify the same request in the logs const requestId = crypto.createHash('sha256').update(JSON.stringify(pluginEvent)).digest('hex') const startTime = Date.now() - const oldestEventTimestamp = Date.now() const brazeRequestBody = _generateBrazeRequestBody(pluginEvent, meta) if (brazeRequestBody.attributes.length === 0 && brazeRequestBody.events.length === 0) { return } - await meta.global.fetchBraze( + await fetchBraze( + meta, '/users/track', { body: JSON.stringify(brazeRequestBody), @@ -216,6 +205,6 @@ export const onEvent = async (pluginEvent: ProcessedPluginEvent, meta: BrazePlug export const brazePlugin: LegacyPlugin = { id: 'braze', metadata: metadata as any, - setupPlugin: setupPlugin as any, + setupPlugin: () => Promise.resolve(), onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts index 801926d43282e..7e3df702e2ba8 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts @@ -1,93 +1,39 @@ -// This App supports pushing events to Braze also, via the `onEvent` hook. It -// should send any $set attributes to Braze `/users/track` endpoint in the -// `attributes` param as well as events in the `events` property. -// -// For an $identify event with $set properties the PostHog PluginEvent json -// looks like: -// -// { -// "event": "$identify", -// "properties": { -// "$set": { -// "email": "test@posthog", -// "name": "Test User" -// } -// } -// } -// -// The Braze `/users/track` endpoint expects a json payload like: -// -// { -// "attributes": { -// "email": "test@posthog", -// "name": "Test User" -// }, -// "events": [] -// } -// -// For an $capture event with properties the PostHog PluginEvent json looks -// like: -// -// { -// "event": "test event", -// "properties": { -// "test property": "test value" -// } -// } -// -// The Braze `/users/track` endpoint expects a json payload like: -// -// { -// "attributes": {}, -// "events": [ -// { -// "name": "test event", -// "properties": { -// "test property": "test value" -// } -// } -// ] -// } -// - import { RetryError } from '@posthog/plugin-scaffold' -import { rest } from 'msw' -import { setupServer } from 'msw/node' +import fetchMock from 'jest-fetch-mock' -import { BrazeMeta, onEvent, setupPlugin } from '../index' +fetchMock.enableMocks() -const server = setupServer() +import { BrazePluginMeta, onEvent } from '../index' -beforeAll(() => { - console.error = jest.fn() // catch console errors - server.listen() +beforeEach(() => { + fetchMock.resetMocks() }) -afterEach(() => server.resetHandlers()) -afterAll(() => server.close()) test('onEvent sends $set attributes and events to Braze', async () => { - const mockService = jest.fn() - - server.use( - rest.post('https://rest.iad-03.braze.com/users/track', (req, res, ctx) => { - const requestBody = req.body - mockService(requestBody) - return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) - }) - ) + fetchMock.mockResponses([ + JSON.stringify({ message: 'success', attributes_processed: 1 }), + { status: 200 } + ]) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-03', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email,name', eventsToExportUserPropertiesFrom: 'account created', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) await onEvent( { event: 'account created', @@ -108,50 +54,60 @@ test('onEvent sends $set attributes and events to Braze', async () => { meta ) - expect(mockService).toHaveBeenCalledWith({ - attributes: [ - { - email: 'test@posthog', - name: 'Test User', - external_id: 'test', - }, - ], - events: [ - { - // NOTE: $set properties are filtered out - properties: { - is_a_demo_user: true, + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Authorization': 'Bearer test-api-key', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + attributes: [ + { + email: 'test@posthog', + name: 'Test User', + external_id: 'test', }, - external_id: 'test', - name: 'account created', - time: '2023-06-16T00:00:00.00Z', - }, - ], + ], + events: [ + { + // NOTE: $set properties are filtered out + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }), + timeout: 5000 }) }) test('onEvent user properties not sent on empty userPropertiesToExport', async () => { - const mockService = jest.fn() - - server.use( - rest.post('https://rest.iad-01.braze.com/users/track', (req, res, ctx) => { - const requestBody = req.body - mockService(requestBody) - return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) - }) - ) + fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-01', + apiKey: 'test-api-key', eventsToExport: 'account created', eventsToExportUserPropertiesFrom: 'account created', + userPropertiesToExport: '', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) await onEvent( { event: 'account created', @@ -172,44 +128,53 @@ test('onEvent user properties not sent on empty userPropertiesToExport', async ( meta ) - expect(mockService).toHaveBeenCalledWith({ - attributes: [], - events: [ - { - // NOTE: $set properties are filtered out - properties: { - is_a_demo_user: true, + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Authorization': 'Bearer test-api-key', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + attributes: [], + events: [ + { + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', }, - external_id: 'test', - name: 'account created', - time: '2023-06-16T00:00:00.00Z', - }, - ], + ], + }), + timeout: 5000 }) }) test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom', async () => { - const mockService = jest.fn() - - server.use( - rest.post('https://rest.iad-01.braze.com/users/track', (req, res, ctx) => { - const requestBody = req.body - mockService(requestBody) - return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) - }) - ) + fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-01', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email,name', + eventsToExportUserPropertiesFrom: '', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) await onEvent( { event: 'account created', @@ -230,45 +195,53 @@ test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom meta ) - expect(mockService).toHaveBeenCalledWith({ - attributes: [], - events: [ - { - // NOTE: $set properties are filtered out - properties: { - is_a_demo_user: true, + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Authorization': 'Bearer test-api-key', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + attributes: [], + events: [ + { + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', }, - external_id: 'test', - name: 'account created', - time: '2023-06-16T00:00:00.00Z', - }, - ], + ], + }), + timeout: 5000 }) }) test('onEvent user properties are passed for $identify event even if $identify is not reported', async () => { - const mockService = jest.fn() - - server.use( - rest.post('https://rest.fra-01.braze.eu/users/track', (req, res, ctx) => { - const requestBody = req.body - mockService(requestBody) - return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) - }) - ) + fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'EU-01', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email', eventsToExportUserPropertiesFrom: 'account created,$identify', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) await onEvent( { event: '$identify', @@ -289,40 +262,49 @@ test('onEvent user properties are passed for $identify event even if $identify i meta ) - expect(mockService).toHaveBeenCalledWith({ - attributes: [ - { - email: 'test@posthog', - external_id: 'test', - }, - ], - events: [], + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Authorization': 'Bearer test-api-key', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + attributes: [ + { + email: 'test@posthog', + external_id: 'test', + }, + ], + events: [], + }), + timeout: 5000 }) }) test('onEvent user properties are not passed for non-whitelisted events', async () => { - const mockService = jest.fn() - - server.use( - rest.post('https://rest.iad-01.braze.com/users/track', (req, res, ctx) => { - const requestBody = req.body - mockService(requestBody) - return res(ctx.status(200), ctx.json({ message: 'success', attributes_processed: 1 })) - }) - ) + fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-01', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email', eventsToExportUserPropertiesFrom: 'account created', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) await onEvent( { event: '$identify', @@ -343,12 +325,11 @@ test('onEvent user properties are not passed for non-whitelisted events', async meta ) - expect(mockService).not.toHaveBeenCalled() + expect(fetchMock.mock.calls.length).toEqual(0) }) test('Braze API error (e.g. 400) are not retried', async () => { // NOTE: We only retry intermittent errors (e.g. 5xx), 4xx errors are most likely going to continue failing if retried - const mockService = jest.fn() const errorResponse = { errors: [ @@ -360,26 +341,27 @@ test('Braze API error (e.g. 400) are not retried', async () => { ], } - server.use( - rest.post('https://rest.iad-02.braze.com/users/track', (req, res, ctx) => { - const requestBody = req.body - mockService(requestBody) - return res(ctx.status(400), ctx.json(errorResponse)) - }) - ) + fetchMock.mockResponseOnce(JSON.stringify(errorResponse), { status: 400 }) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-02', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email', eventsToExportUserPropertiesFrom: 'account created,$identify', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) await onEvent( { event: '$identify', @@ -400,7 +382,8 @@ test('Braze API error (e.g. 400) are not retried', async () => { }, meta ) - expect(console.error).toHaveBeenCalledWith( + + expect(meta.logger.error).toHaveBeenCalledWith( 'Braze API error (not retried): ', errorResponse, '/users/track', @@ -410,24 +393,27 @@ test('Braze API error (e.g. 400) are not retried', async () => { }) test('Braze offline error (500 response)', async () => { - server.use( - rest.post('https://rest.iad-02.braze.com/users/track', (_, res, ctx) => { - return res(ctx.status(500), ctx.json({})) - }) - ) + fetchMock.mockResponseOnce('{}', { status: 500 }) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-02', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email', eventsToExportUserPropertiesFrom: 'account created,$identify', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) try { await onEvent( { @@ -458,24 +444,27 @@ test('Braze offline error (500 response)', async () => { }) test('Braze offline error (network error)', async () => { - server.use( - rest.post('https://rest.iad-02.braze.com/users/track', (_, res) => { - return res.networkError('Failed to connect') - }) - ) + fetchMock.mockRejectOnce(new Error('Failed to connect')) - // Create a meta object that we can pass into the setupPlugin and onEvent + // Create a meta object that we can pass into the onEvent const meta = { config: { brazeEndpoint: 'US-02', + apiKey: 'test-api-key', eventsToExport: 'account created', userPropertiesToExport: 'email', eventsToExportUserPropertiesFrom: 'account created,$identify', }, global: {}, - } as BrazeMeta + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - await setupPlugin(meta) try { await onEvent( { From ce789794a945f459792add8cee92c9332b12f24b Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:42:13 +0100 Subject: [PATCH 50/76] fix pace tests --- .../pace-posthog-integration/index.ts | 4 +- .../test/test.test.ts | 63 ++++++++++++ .../pace-posthog-integration/test/test.ts | 96 ------------------- 3 files changed, 65 insertions(+), 98 deletions(-) create mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts index 4e02616fd324e..003cfd4220d8a 100644 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts @@ -3,13 +3,13 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -type PaceMetaInput = LegacyPluginMeta & { +export type PaceMetaInput = LegacyPluginMeta & { config: { api_key: string } } -const onEvent = async (event: ProcessedPluginEvent, { config, fetch }: PaceMetaInput): Promise => { +export const onEvent = async (event: ProcessedPluginEvent, { config, fetch }: PaceMetaInput): Promise => { await fetch('https://data.production.paceapp.com/events', { method: 'POST', headers: { diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts new file mode 100644 index 0000000000000..a5b848596f8a5 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts @@ -0,0 +1,63 @@ +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import fetchMock from 'jest-fetch-mock' + +import { onEvent, PaceMetaInput } from '../index' + +fetchMock.enableMocks() + +beforeEach(() => { + fetchMock.resetMocks() +}) + +const mockEvent: ProcessedPluginEvent = { + uuid: '10000000-0000-4000-0000-000000000000', + team_id: 1, + distinct_id: '1234', + event: 'my-event', + timestamp: new Date(), + properties: { + $ip: '127.0.0.1', + $elements_chain: 'div:nth-child="1"nth-of-type="2"text="text"', + foo: 'bar', + }, +} + +test('all expected endpoint', async () => { + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + api_key: 'i-am-an-api-key', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as PaceMetaInput + + await onEvent(mockEvent, meta) + + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'x-api-key': 'i-am-an-api-key', + }, + body: JSON.stringify({ + data: { + uuid: '10000000-0000-4000-0000-000000000000', + team_id: 1, + distinct_id: '1234', + event: 'my-event', + timestamp: mockEvent.timestamp, + properties: { + foo: 'bar', + }, + }, + }), + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts deleted file mode 100644 index b6d1ecc3f7ac7..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { Meta, PostHogEvent } from '@posthog/plugin-scaffold' - -import plugin, { PaceMetaInput } from '../index' - -const { composeWebhook } = plugin - -const meta: Meta = { - attachments: {}, - cache: { - set: async () => { - // - }, - get: async () => { - // - }, - incr: async () => 1, - expire: async () => true, - lpush: async () => 1, - lrange: async () => [], - llen: async () => 1, - lpop: async () => [], - lrem: async () => 1, - }, - config: { - api_key: 'i-am-an-api-key', - }, - geoip: { - locate: async () => null, - }, - global: {}, - jobs: {}, - metrics: {}, - storage: { - set: async () => { - // - }, - get: async () => { - // - }, - del: async () => { - // - }, - }, - utils: { - cursor: { - init: async () => { - // - }, - increment: async () => 1, - }, - }, -} - -const mockEvent: PostHogEvent = { - uuid: '10000000-0000-4000-0000-000000000000', - team_id: 1, - distinct_id: '1234', - event: 'my-event', - timestamp: new Date(), - properties: { - $ip: '127.0.0.1', - $elements_chain: 'div:nth-child="1"nth-of-type="2"text="text"', - foo: 'bar', - }, -} - -describe('plugin tests', () => { - test('return expected webhook object', async () => { - if (!composeWebhook) { - throw new Error('Not implemented') - } - - const webhook1 = composeWebhook(mockEvent, meta) - expect(webhook1).toHaveProperty('url', 'https://data.production.paceapp.com/events') - expect(webhook1?.headers).toMatchObject({ - 'Content-Type': 'application/json', - 'x-api-key': 'i-am-an-api-key', - }) - expect(webhook1).toHaveProperty('method', 'POST') - expect(webhook1).toHaveProperty( - 'body', - JSON.stringify({ - data: { - uuid: '10000000-0000-4000-0000-000000000000', - team_id: 1, - distinct_id: '1234', - event: 'my-event', - timestamp: mockEvent.timestamp, - properties: { - foo: 'bar', - }, - }, - }) - ) - }) -}) From cf6ec9635891d51b68400db12aea12566ef8b8cb Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:46:30 +0100 Subject: [PATCH 51/76] run prettier --- .../tests/export-events.test.ts | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts index 7e3df702e2ba8..671ebcfdc71f3 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts @@ -10,10 +10,7 @@ beforeEach(() => { }) test('onEvent sends $set attributes and events to Braze', async () => { - fetchMock.mockResponses([ - JSON.stringify({ message: 'success', attributes_processed: 1 }), - { status: 200 } - ]) + fetchMock.mockResponses([JSON.stringify({ message: 'success', attributes_processed: 1 }), { status: 200 }]) // Create a meta object that we can pass into the onEvent const meta = { @@ -58,9 +55,9 @@ test('onEvent sends $set attributes and events to Braze', async () => { expect(fetchMock.mock.calls[0][1]).toEqual({ method: 'POST', headers: { - 'Accept': 'application/json', - 'Authorization': 'Bearer test-api-key', - 'Content-Type': 'application/json' + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', }, body: JSON.stringify({ attributes: [ @@ -82,7 +79,7 @@ test('onEvent sends $set attributes and events to Braze', async () => { }, ], }), - timeout: 5000 + timeout: 5000, }) }) @@ -132,9 +129,9 @@ test('onEvent user properties not sent on empty userPropertiesToExport', async ( expect(fetchMock.mock.calls[0][1]).toEqual({ method: 'POST', headers: { - 'Accept': 'application/json', - 'Authorization': 'Bearer test-api-key', - 'Content-Type': 'application/json' + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', }, body: JSON.stringify({ attributes: [], @@ -149,7 +146,7 @@ test('onEvent user properties not sent on empty userPropertiesToExport', async ( }, ], }), - timeout: 5000 + timeout: 5000, }) }) @@ -199,9 +196,9 @@ test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom expect(fetchMock.mock.calls[0][1]).toEqual({ method: 'POST', headers: { - 'Accept': 'application/json', - 'Authorization': 'Bearer test-api-key', - 'Content-Type': 'application/json' + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', }, body: JSON.stringify({ attributes: [], @@ -216,7 +213,7 @@ test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom }, ], }), - timeout: 5000 + timeout: 5000, }) }) @@ -266,9 +263,9 @@ test('onEvent user properties are passed for $identify event even if $identify i expect(fetchMock.mock.calls[0][1]).toEqual({ method: 'POST', headers: { - 'Accept': 'application/json', - 'Authorization': 'Bearer test-api-key', - 'Content-Type': 'application/json' + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', }, body: JSON.stringify({ attributes: [ @@ -279,7 +276,7 @@ test('onEvent user properties are passed for $identify event even if $identify i ], events: [], }), - timeout: 5000 + timeout: 5000, }) }) From c2607a6b68e3068c64facf67276394a98e54c3b1 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 11:08:25 +0100 Subject: [PATCH 52/76] ignore ts errors --- .../src/cdp/legacy-plugins/early-access-features-app/site.ts | 1 + plugin-server/src/cdp/legacy-plugins/hubspot/index.ts | 1 + .../src/cdp/legacy-plugins/language-url-splitter-app/index.ts | 2 ++ .../src/cdp/legacy-plugins/notification-bar-app/site.ts | 1 + plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts | 2 ++ plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts | 1 + .../src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts | 1 + plugin-server/src/cdp/legacy-plugins/pubsub/index.ts | 1 + .../src/cdp/legacy-plugins/rudderstack-posthog/index.ts | 1 + plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts | 1 + 10 files changed, 12 insertions(+) diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts index ffecb5d363e9e..651110ba4a4a4 100644 --- a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts +++ b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts @@ -1,3 +1,4 @@ +// @ts-nocheck // site.ts const style = (config) => ` diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts index b9c46a281fbfc..71774a705fcc0 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts index bb43905df652d..a95c13dd83cf8 100644 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts @@ -1,3 +1,5 @@ +// @ts-nocheck + export function processEvent(event, { config }) { const { pattern, matchGroup, property, replacePattern, replaceKey, replaceValue } = config if (event.properties && typeof event.properties['$pathname'] === 'string') { diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts index 733a1ff6c94cb..d039ec55a0056 100644 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts +++ b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts @@ -1,3 +1,4 @@ +// @ts-nocheck export function inject({ config }) { if (config.domains) { const domains = config.domains.split(',').map((domain) => domain.trim()) diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts index bdbe6a29ed2a9..12cc2bf55b730 100644 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts +++ b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts @@ -1,3 +1,5 @@ +// @ts-nocheck + const style = ` .button { position: fixed; diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts index 3cd81430b11ab..04257aa630808 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import { ProcessedPluginEvent, Properties, RetryError } from '@posthog/plugin-scaffold' import { Response } from '~/src/utils/fetch' diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts index 00616d3c7c23f..464bbfb3daea2 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts index bbe6135937c8a..1e5ffa4a9f603 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts index 48080c9f60e64..4c2f280a3a474 100644 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts index f44de24185b19..3409f42d74f36 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts @@ -1,3 +1,4 @@ +// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' From b2e92e6e3e5f1a27a0b3632942ac788ff9a09ca0 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 11:37:25 +0100 Subject: [PATCH 53/76] remove transformations --- .../currency-normalization/__tests__/index.js | 101 - .../__tests__/rates.json | 179 - .../currency-normalization/index.js | 86 - .../currency-normalization/plugin.json | 50 - .../legacy-plugins/downsampling/plugin.json | 26 - .../downsampling/src/__tests__/index.test.js | 73 - .../legacy-plugins/downsampling/src/index.ts | 34 - .../drop-events-on-property/index.js | 17 - .../drop-events-on-property/plugin.json | 26 - .../early-access-features-app/plugin.json | 26 - .../early-access-features-app/site.ts | 394 - .../flatten-properties/__tests__/index.js | 196 - .../flatten-properties/index.js | 58 - .../flatten-properties/plugin.json | 18 - .../src/cdp/legacy-plugins/hubspot/index.ts | 1 - .../language-url-splitter-app/index.test.ts | 32 - .../language-url-splitter-app/index.ts | 17 - .../language-url-splitter-app/plugin.json | 53 - .../notification-bar-app/plugin.json | 76 - .../notification-bar-app/site.ts | 80 - .../pineapple-mode-app/plugin.json | 75 - .../legacy-plugins/pineapple-mode-app/site.ts | 112 - .../.vscode/settings.json | 3 - .../plugin-advanced-geoip/cspell.json | 9 - .../plugin-advanced-geoip/index.test.ts | 155 - .../plugin-advanced-geoip/index.ts | 103 - .../plugin-advanced-geoip/plugin.json | 24 - .../posthog-ai-costs-app/package-lock.json | 8008 ----------------- .../posthog-ai-costs-app/plugin.json | 7 - .../src/ai-cost-data/anthropic/index.ts | 479 - .../src/ai-cost-data/awsBedrock/index.ts | 18 - .../src/ai-cost-data/azure/index.ts | 98 - .../src/ai-cost-data/cohere/index.ts | 19 - .../src/ai-cost-data/fireworks/index.ts | 204 - .../src/ai-cost-data/google/index.ts | 80 - .../src/ai-cost-data/groq/index.ts | 89 - .../src/ai-cost-data/mappings.ts | 234 - .../src/ai-cost-data/mistral/index.ts | 69 - .../ai-cost-data/openai/fine-tuned-models.ts | 39 - .../src/ai-cost-data/openai/index.ts | 817 -- .../src/ai-cost-data/openrouter/index.ts | 2159 ----- .../src/ai-cost-data/qstash/index.ts | 29 - .../src/ai-cost-data/togetherai/chat/index.ts | 503 -- .../src/ai-cost-data/togetherai/chat/llama.ts | 210 - .../togetherai/completion/index.ts | 228 - .../togetherai/completion/llama.ts | 134 - .../posthog-ai-costs-app/src/index.test.js | 60 - .../posthog-ai-costs-app/src/index.ts | 59 - .../src/interfaces/Cost.ts | 54 - .../posthog-ai-costs-app/tsup.config.json | 5 - .../.vscode/settings.json | 3 - .../posthog-app-unduplicator/global.d.ts | 16 - .../posthog-app-unduplicator/index.test.ts | 127 - .../posthog-app-unduplicator/index.ts | 84 - .../posthog-app-unduplicator/plugin.json | 16 - .../index.test.ts | 682 -- .../index.ts | 83 - .../plugin.json | 61 - .../posthog-filter-out/plugin.json | 32 - .../posthog-filter-out/src/main.test.ts | 241 - .../posthog-filter-out/src/main.ts | 116 - .../posthog-plugin-geoip/index.test.ts | 141 - .../posthog-plugin-geoip/index.ts | 116 - .../posthog-plugin-geoip/plugin.json | 8 - .../posthog-route-censor/plugin.json | 43 - .../src/assets/exampleRoutes.json | 14 - .../posthog-route-censor/src/index.d.ts | 10 - .../posthog-route-censor/src/index.ts | 41 - .../posthog-route-censor/src/types/index.ts | 6 - .../src/utils/censorProperties.ts | 40 - .../src/utils/censorUrlPath.ts | 41 - .../src/utils/checkIsValidHttpUrl.ts | 8 - .../posthog-route-censor/src/utils/index.ts | 2 - .../posthog-url-normalizer/index.test.ts | 123 - .../posthog-url-normalizer/index.ts | 24 - .../posthog-url-normalizer/plugin.json | 12 - .../taxonomy/__tests__/index.js | 57 - .../src/cdp/legacy-plugins/taxonomy/index.js | 78 - .../cdp/legacy-plugins/taxonomy/plugin.json | 18 - .../timestamp-parser/__tests__/index.js | 53 - .../legacy-plugins/timestamp-parser/index.js | 18 - .../timestamp-parser/plugin.json | 6 - 82 files changed, 17946 deletions(-) delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js deleted file mode 100644 index 4f9d396bf9206..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/index.js +++ /dev/null @@ -1,101 +0,0 @@ -const { - createEvent, - createIdentify, - createPageview, - createCache, - getMeta, - resetMeta, - clone, -} = require('posthog-plugins/test/utils.js') -const { setupPlugin, processEvent } = require('../index') -const rates = require('./rates.json') - -global.fetch = jest.fn(async () => ({ - json: async () => rates, -})) - -beforeEach(() => { - fetch.mockClear() - - resetMeta({ - config: { - openExchangeRatesApiKey: 'API_KEY', - normalizedCurrency: 'EUR', - amountProperty: 'amount', - currencyProperty: 'currency', - normalizedAmountProperty: 'normalized_amount', - normalizedCurrencyProperty: 'normalized_currency', - }, - }) -}) - -test('setupPlugin', async () => { - expect(fetch).toHaveBeenCalledTimes(0) - - await setupPlugin(getMeta()) - expect(fetch).toHaveBeenCalledTimes(1) - expect(fetch).toHaveBeenCalledWith('https://openexchangerates.org/api/latest.json?app_id=API_KEY') - - await setupPlugin(getMeta()) - expect(fetch).toHaveBeenCalledTimes(1) - - // clear the cache and try again: - getMeta().cache = createCache() - - await setupPlugin(getMeta()) - expect(fetch).toHaveBeenCalledTimes(2) - - // clear the cache and try again: - getMeta().cache = createCache() - getMeta().config.openExchangeRatesApiKey = '' - - await expect(setupPlugin(getMeta())).rejects.toThrow('No API key found!') -}) - -test('changes nothing for $pageview events', async () => { - const pageviewEvent = createPageview() - const processedPageviewEvent = await processEvent(clone(pageviewEvent), getMeta()) - expect(processedPageviewEvent).toEqual(pageviewEvent) - expect(fetch).toHaveBeenCalledTimes(0) -}) - -test('changes nothing for $identify events', async () => { - const identifyEvent = createIdentify() - const processedIdentifyEvent = await processEvent(clone(identifyEvent), getMeta()) - expect(processedIdentifyEvent).toEqual(identifyEvent) - expect(fetch).toHaveBeenCalledTimes(0) -}) - -test('fetches rates if none found', async () => { - const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'PLN' } }) - - await processEvent(clone(currencyEvent), getMeta()) - expect(fetch).toHaveBeenCalledTimes(1) - expect(fetch).toHaveBeenCalledWith('https://openexchangerates.org/api/latest.json?app_id=API_KEY') - - await processEvent(clone(currencyEvent), getMeta()) - expect(fetch).toHaveBeenCalledTimes(1) - expect(fetch).toHaveBeenCalledWith('https://openexchangerates.org/api/latest.json?app_id=API_KEY') -}) - -test('normalizes currency on events', async () => { - const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'PLN' } }) - const processedCurrencyEvent = await processEvent(clone(currencyEvent), getMeta()) - expect(processedCurrencyEvent).toEqual({ - ...currencyEvent, - properties: { ...currencyEvent.properties, normalized_amount: 4.4691, normalized_currency: 'EUR' }, - }) -}) - -test('bails if does not know the currency', async () => { - const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'ABC' } }) - const processedCurrencyEvent = await processEvent(clone(currencyEvent), getMeta()) - expect(processedCurrencyEvent).toEqual(currencyEvent) -}) - -test('bails if no API key found', async () => { - const currencyEvent = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'USD' } }) - getMeta().config.openExchangeRatesApiKey = null - const processedCurrencyEvent = await processEvent(clone(currencyEvent), getMeta()) - expect(processedCurrencyEvent).toEqual(currencyEvent) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json b/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json deleted file mode 100644 index 470ed0cebec0b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/__tests__/rates.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "disclaimer": "Usage subject to terms: https://openexchangerates.org/terms", - "license": "https://openexchangerates.org/license", - "timestamp": 1606395600, - "base": "USD", - "rates": { - "AED": 3.673, - "AFN": 76.932772, - "ALL": 104.063386, - "AMD": 481.616228, - "ANG": 1.795167, - "AOA": 655.8475, - "ARS": 80.799783, - "AUD": 1.358257, - "AWG": 1.8, - "AZN": 1.7025, - "BAM": 1.643361, - "BBD": 2, - "BDT": 84.804658, - "BGN": 1.6442, - "BHD": 0.377092, - "BIF": 1937.803155, - "BMD": 1, - "BND": 1.33852, - "BOB": 6.895827, - "BRL": 5.3516, - "BSD": 1, - "BTC": 0.00005771433, - "BTN": 73.781715, - "BWP": 11.032736, - "BYN": 2.569109, - "BZD": 2.015897, - "CAD": 1.300744, - "CDF": 1965.922948, - "CHF": 0.90882, - "CLF": 0.027728, - "CLP": 765.099489, - "CNH": 6.571982, - "CNY": 6.575, - "COP": 3619.874051, - "CRC": 600.945306, - "CUC": 1.000134, - "CUP": 25.75, - "CVE": 93.15, - "CZK": 21.976033, - "DJF": 178.046302, - "DKK": 6.255944, - "DOP": 58.176342, - "DZD": 128.501426, - "EGP": 15.6966, - "ERN": 14.999905, - "ETB": 38.224749, - "EUR": 0.840622, - "FJD": 2.0726, - "FKP": 0.749208, - "GBP": 0.749208, - "GEL": 3.31, - "GGP": 0.749208, - "GHS": 5.855698, - "GIP": 0.749208, - "GMD": 51.775, - "GNF": 9832.048898, - "GTQ": 7.79841, - "GYD": 209.387141, - "HKD": 7.75079, - "HNL": 24.261852, - "HRK": 6.3513, - "HTG": 65.957793, - "HUF": 303.669311, - "IDR": 14148, - "ILS": 3.321437, - "IMP": 0.749208, - "INR": 73.856592, - "IQD": 1193.946411, - "IRR": 42105, - "ISK": 135.6, - "JEP": 0.749208, - "JMD": 147.241502, - "JOD": 0.709, - "JPY": 104.255, - "KES": 109.91, - "KGS": 84.814716, - "KHR": 4064.007415, - "KMF": 413.62507, - "KPW": 900, - "KRW": 1107.80002, - "KWD": 0.30598, - "KYD": 0.833347, - "KZT": 423.488053, - "LAK": 9276.379975, - "LBP": 1512.176085, - "LKR": 185.12101, - "LRD": 157.250002, - "LSL": 15.200788, - "LYD": 1.353034, - "MAD": 9.096661, - "MDL": 17.221924, - "MGA": 3909.448965, - "MKD": 51.77122, - "MMK": 1315.169225, - "MNT": 2840.535717, - "MOP": 7.984859, - "MRO": 357, - "MRU": 37.08, - "MUR": 39.853062, - "MVR": 15.41, - "MWK": 758.386392, - "MXN": 20.05165, - "MYR": 4.0695, - "MZN": 74.13, - "NAD": 15.28, - "NGN": 381.047523, - "NIO": 34.853884, - "NOK": 8.887729, - "NPR": 118.149105, - "NZD": 1.428869, - "OMR": 0.38501, - "PAB": 1, - "PEN": 3.60445, - "PGK": 3.51928, - "PHP": 48.108, - "PKR": 159.193036, - "PLN": 3.761938, - "PYG": 7049.331237, - "QAR": 3.64125, - "RON": 4.0975, - "RSD": 98.83, - "RUB": 75.695, - "RWF": 988.816167, - "SAR": 3.750463, - "SBD": 8.02131, - "SCR": 20.810848, - "SDG": 55.325, - "SEK": 8.536843, - "SGD": 1.3387, - "SHP": 0.749208, - "SLL": 10167.392806, - "SOS": 578.587253, - "SRD": 14.154, - "SSP": 130.26, - "STD": 20900.544238, - "STN": 20.82, - "SVC": 8.750231, - "SYP": 513.03575, - "SZL": 15.198716, - "THB": 30.282027, - "TJS": 11.328751, - "TMT": 3.51, - "TND": 2.73825, - "TOP": 2.289464, - "TRY": 7.894965, - "TTD": 6.785252, - "TWD": 28.511214, - "TZS": 2319.265, - "UAH": 28.445815, - "UGX": 3700.397298, - "USD": 1, - "UYU": 42.639526, - "UZS": 10362.208722, - "VEF": 248487.642241, - "VES": 916600, - "VND": 23177.147306, - "VUV": 111.952965, - "WST": 2.57281, - "XAF": 551.412185, - "XAG": 0.04281743, - "XAU": 0.00055163, - "XCD": 2.70255, - "XDR": 0.701804, - "XOF": 551.412185, - "XPD": 0.00042446, - "XPF": 100.312942, - "XPT": 0.00104059, - "YER": 250.349961, - "ZAR": 15.220557, - "ZMW": 21.012402, - "ZWL": 322 - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js b/plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js deleted file mode 100644 index 6edb74a616b15..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/index.js +++ /dev/null @@ -1,86 +0,0 @@ -async function setupPlugin(meta) { - const apiKey = meta.config['openExchangeRatesApiKey'] || null - - if (apiKey) { - await fetchRatesIfNeeded(meta) - } else { - throw new Error('No API key found!') - } -} - -async function processEvent(event, meta) { - const { - openExchangeRatesApiKey, - normalizedCurrency, - amountProperty, - currencyProperty, - normalizedAmountProperty, - normalizedCurrencyProperty, - } = meta.config - - if ( - openExchangeRatesApiKey && - normalizedCurrency && - event?.properties && - typeof event.properties[amountProperty] !== 'undefined' && - typeof event.properties[currencyProperty] !== 'undefined' - ) { - await fetchRatesIfNeeded(meta) - const rates = await meta.cache.get('currency_rates') - - if (rates) { - const amount = event.properties[amountProperty] - const currency = event.properties[currencyProperty] - - if (rates[currency] && rates[normalizedCurrency]) { - const normalizedAmount = roundToDigits((amount * rates[normalizedCurrency]) / rates[currency], 4) - event.properties[normalizedAmountProperty] = normalizedAmount - event.properties[normalizedCurrencyProperty] = normalizedCurrency - } - } - } - - return event -} - -module.exports = { - setupPlugin, - processEvent, - schedule: { - hourly: [fetchRatesIfNeeded], - }, - webHooks: { - fetchRates, - }, -} - -// Internal library functions below - -async function fetchRatesIfNeeded(meta) { - const currencyRatesFetchedAt = await meta.cache.get('currency_rates_fetched_at') - if (!currencyRatesFetchedAt || currencyRatesFetchedAt < new Date().getTime() - 86400 * 1000) { - // 24h - await fetchRates(meta) - } -} - -async function fetchRates({ config, cache }) { - try { - const url = `https://openexchangerates.org/api/latest.json?app_id=${config['openExchangeRatesApiKey']}` - const response = await fetch(url, { timeout: 1000 }) - const json = await response.json() - - if (json && json['rates']) { - cache.set('currency_rates', json['rates']) - cache.set('currency_rates_fetched_at', new Date().getTime()) - } else { - throw new Error('Error fetching currency rates!') - } - } catch (e) { - throw new Error('Error fetching currency rates!') - } -} - -function roundToDigits(number, digits) { - return Math.round(number * Math.pow(10, digits)) / Math.pow(10, digits) -} diff --git a/plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json b/plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json deleted file mode 100644 index ec9c36d6081b9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/currency-normalization/plugin.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "Currency Normalization", - "url": "https://github.com/PostHog/posthog-currency-normalization-plugin", - "description": "Deprecated", - "main": "index.js", - "config": [ - { - "key": "openExchangeRatesApiKey", - "name": "OpenExchangeRates API Key", - "type": "string", - "default": "", - "required": true - }, - { - "key": "normalizedCurrency", - "name": "Currency to normalise to (e.g. \"EUR\")", - "type": "string", - "default": "", - "required": true - }, - { - "key": "amountProperty", - "name": "Property key for the amount", - "type": "string", - "default": "amount", - "required": true - }, - { - "key": "currencyProperty", - "name": "Property key for the currency", - "type": "string", - "default": "currency", - "required": true - }, - { - "key": "normalizedAmountProperty", - "name": "Property key for the normalized amount", - "type": "string", - "default": "normalized_amount", - "required": true - }, - { - "key": "normalizedCurrencyProperty", - "name": "Property key for the normalized currency", - "type": "string", - "default": "normalized_currency", - "required": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json b/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json deleted file mode 100644 index dc79f040f11a4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/plugin.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Downsampling Plugin", - "url": "https://github.com/posthog/downsampling-plugin", - "description": "Reduces event volume coming into PostHog", - "main": "src/index.ts", - "posthogVersion": ">= 1.24.0", - "config": [ - { - "key": "percentage", - "hint": "Reduces events flowing in to the percentage value above", - "name": "% of events to keep", - "type": "string", - "default": "100", - "required": false - }, - { - "key": "samplingMethod", - "hint": "`Distinct ID aware sampling` will sample based on distinct IDs, meaning that a user's events will all be ingested or all be dropped at a given sample percentage.", - "name": "Sampling method", - "type": "choice", - "choices": ["Random sampling", "Distinct ID aware sampling"], - "default": "Distinct ID aware sampling", - "required": false - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js b/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js deleted file mode 100644 index 3dc3634357140..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/src/__tests__/index.test.js +++ /dev/null @@ -1,73 +0,0 @@ -const { createEvent, getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils') -const { randomBytes } = require('crypto') - -const { processEvent, setupPlugin } = require('../index.ts') - -beforeEach(() => { - resetMeta({ - config: { - percentage: '100', - }, - }) -}) - -test('processEvent filters event', () => { - // Setup Plugin - setupPlugin(getMeta()) - - for (let i = 0; i < 100; i++) { - const event0 = createEvent({ distinct_id: randomBytes(10).toString('hex') }) - const event1 = processEvent(event0, getMeta()) - expect(event1).toEqual(event0) - } -}) - -test('processEvent filters 0 events at 0 percent', () => { - resetMeta({ - config: { - percentage: '0', - }, - }) - - // Setup Plugin - setupPlugin(getMeta()) - - // create a random event - const event0 = createEvent({ event: 'blah' }) - - for (let i = 0; i < 100; i++) { - const event1 = processEvent(event0, getMeta()) - expect(event1).toBeNull() - } -}) - -test('processEvent filters same events at different increasing percent', () => { - // create an event. Hash generates 0.42 - const event0 = createEvent({ distinct_id: '1' }) - - for (let i = 0; i < 5; i++) { - resetMeta({ - config: { - percentage: (i * 10).toString(), - }, - }) - // Setup Plugin - setupPlugin(getMeta()) - - const event1 = processEvent(event0, getMeta()) - expect(event1).toBeNull() - } - - for (let i = 5; i <= 10; i++) { - resetMeta({ - config: { - percentage: (i * 10).toString(), - }, - }) - // Setup Plugin - setupPlugin(getMeta()) - - const event1 = processEvent(event0, getMeta()) - expect(event1).toEqual(event0) - } -}) diff --git a/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts b/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts deleted file mode 100644 index fc46731805979..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/downsampling/src/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' -import { createHash } from 'crypto' - -export function setupPlugin({ config, global }: PluginMeta) { - const percentage = parseFloat(config.percentage) - if (isNaN(percentage) || percentage > 100 || percentage < 0) { - throw new Error('Percentage must be a number between 0 and 100.') - } - global.percentage = percentage - global.randomSampling = config.samplingMethod === 'Random sampling' -} - -// /* Runs on every event */ -export function processEvent(event: PluginEvent, { global }: PluginMeta) { - // hash is a sha256 hash of the distinct_id represented in base 16 - // We take the first 15 digits, convert this into an integer, - // dividing by the biggest 15 digit, base 16 number to get a value between 0 and 1. - // This is stable, so a distinct_id that was allowed before will continue to be allowed, - // even if the percentage increases - - let shouldIngestEvent = true - if (global.randomSampling) { - shouldIngestEvent = parseInt(Math.random() * 100) <= global.percentage - } else { - const hash = createHash('sha256').update(event.distinct_id).digest('hex') - const decisionValue = parseInt(hash.substring(0, 15), 16) / 0xfffffffffffffff - shouldIngestEvent = decisionValue <= global.percentage / 100 - } - - if (shouldIngestEvent) { - return event - } - return null -} diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js deleted file mode 100644 index 31b3cf2842ab6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/index.js +++ /dev/null @@ -1,17 +0,0 @@ -// Learn more about plugins at: https://posthog.com/docs/plugins/build/overview - -// Processes each event, optionally transforming it -export function processEvent(event, { config }) { - // Some events (such as $identify) don't have properties - if (event.properties && event.properties[config.property_key]) { - if (!config.property_values || config.property_values == '') { - return null - } - const values = config.property_values.split(',') - if (values.indexOf(event.properties[config.property_key]) > -1) { - return null - } - } - // Return the event to be ingested, or return null to discard - return event -} diff --git a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json b/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json deleted file mode 100644 index 2558d024fd062..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/drop-events-on-property/plugin.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Drop Events Based On Property", - "url": "https://github.com/posthog/drop-events-on-property-plugin", - "description": "This plugin will drop any events that have a specific key. If you supply a value, it will drop any event with the combination of they key and the value. You will not be billed for any events that this plugin drops.", - "main": "index.js", - "posthogVersion": ">= 1.25.0", - "config": [ - { - "markdown": "Configure the key and optional value to filter events on" - }, - { - "key": "property_key", - "hint": "Which property key to filter on. If you do not specify a value, all events with this key will be dropped.", - "name": "Property key to filter on", - "type": "string", - "required": true - }, - { - "key": "property_values", - "hint": "Which value to match to drop events. Split multiple values by comma to filter.", - "name": "Property value to filter on", - "type": "string", - "required": false - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json deleted file mode 100644 index b76eb28156ef2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/plugin.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Early Access Features App", - "config": [ - { - "markdown": "## MANUAL STEP NOTICE: This app is used with Early Access Feature Management and needs to inject code into your website through posthog-js. You need to **opt-in** on your site to enable this behaviour.\n\n```\nposthog.init(\"api_key\", {\n \"api_host\": \"https://app.posthog.com\",\n \"opt_in_site_apps\": true,\n})\n```" - }, - { - "key": "selector", - "name": "Selector", - "hint": "CSS selector to activate on. For example: \"#my-beta-button\" or \"[data-attr='posthog-early-access-features-button']\"", - "type": "string", - "default": "", - "site": true - }, - { - "key": "useButton", - "name": "Show features button on the page", - "hint": "If enabled, a button will be shown on the page that will open the features modal.", - "type": "choice", - "choices": ["Yes", "No"], - "default": "No", - "required": false, - "site": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts b/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts deleted file mode 100644 index 651110ba4a4a4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/early-access-features-app/site.ts +++ /dev/null @@ -1,394 +0,0 @@ -// @ts-nocheck -// site.ts - -const style = (config) => ` - - .list-container { - flex: 1; - flex-direction: row; - overflow-y: auto; - } - - .info { - flex: 2; - } - - .list-item { - padding: 15px 30px; - height: 35%; - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - border-bottom: 1px solid #00000026; - - .list-item-name { - font-size: 18px; - } - - .list-item-description { - font-size: 14px; - } - - .list-item-documentation-link { - margin-top: 15px; - - .label { - text-decoration: none; - } - } - } - - .list-content { - margin-right: 20px; - } - - .beta-feature-button { - position: fixed; - bottom: 20px; - right: 20px; - font-weight: normal; - font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - text-align: left; - z-index: ${parseInt(config.zIndex) || 99999}; - display: flex; - justify-content: center; - align-items: center; - } - - .top-section { - padding: 15px 30px; - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - border-bottom: 1px solid #00000026; - } - - .beta-list-cancel { - cursor: pointer; - } - - .title { - font-size: 16px; - font-weight: bold; - } - - .popup { - position: fixed; - top: 50%; - left: 50%; - color: black; - transform: translate(-50%, -50%); - font-weight: normal; - font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - text-align: left; - z-index: ${parseInt(config.zIndex) || 99999}; - - display: none; - flex-direction: column; - background: white; - border: 1px solid #f0f0f0; - border-radius: 8px; - padding-top: 5px; - width: 40rem; - height: 50%; - box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); - } - - .beta-feature-button { - width: 64px; - height: 64px; - border-radius: 100%; - text-align: center; - line-height: 60px; - font-size: 32px; - border: none; - cursor: pointer; - } - .beta-feature-button:hover { - filter: brightness(1.2); - } - - .empty-prompt { - flex: 1; - text-align: center; - margin-top: 20px; - } - - - - /* The switch - the box around the slider */ - .switch { - margin-left: 10px; - margin-right: 10px; - position: relative; - display: inline-block; - min-width: 50px; - height: 24px; - } - - /* 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: #00000026; - -webkit-transition: .4s; - transition: background-color .4s; - cursor: pointer; - } - - .slider:before { - position: absolute; - content: ""; - height: 20px; - width: 20px; - left: -10px; - bottom: -6px; - background-color: #ffffff; - -webkit-transition: .2s; - transition: .2s; - border: 2px solid #00000026; - } - - input:checked + .slider { - background-color: #00000026; - } - - input:focus + .slider { - box-shadow: 0 0 1px #00000026; - } - - input:checked + .slider:before { - -webkit-transform: translateX(26px); - -ms-transform: translateX(26px); - transform: translateX(26px); - background-color: #1d4aff; - } - - /* Rounded sliders */ - .slider.round { - border-radius: 20px; - height: 10px; - width: 30px; - background-color: #00000026; - } - - .slider.round:before { - border-radius: 50%; - } - - .loader-container { - display: flex; - justify-content: center; - align-items: center; - height: 50%; - width: 100%; - } - - .loader { - border: 8px solid #00000026; /* Light grey */ - border-top: 8px solid #1d4aff; /* Blue */ - border-radius: 50%; - width: 60px; - height: 60px; - animation: spin 2s linear infinite; - } - - @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } - } -` - -interface PreviewItem { - name: string - description: string - flagKey: string - documentationUrl: string -} - -export function inject({ config, posthog }) { - if (config.domains) { - const domains = config.domains.split(',').map((domain) => domain.trim()) - if (domains.length > 0 && domains.indexOf(window.location.hostname) === -1) { - return - } - } - const shadow = createShadow(style(config)) - - function optIn(flagKey: string) { - posthog.updateEarlyAccessFeatureEnrollment(flagKey, true) - } - - function optOut(flagKey: string) { - posthog.updateEarlyAccessFeatureEnrollment(flagKey, false) - } - - function openbugBox() { - posthog.getEarlyAccessFeatures((previewItemData) => { - const betaListContainer = shadow.getElementById('list-container') - if (betaListContainer) { - const previewItems = listItemComponents(previewItemData) - const previewList = previewItems - ? ` -

- ` - : ` -
- No beta features available -
- ` - betaListContainer.innerHTML = previewList - - previewItemData.forEach((item, index) => { - const checkbox = shadow.querySelector('.checkbox-' + index) - checkbox?.addEventListener('click', (e) => { - if (e.target?.checked) { - optIn(item.flagKey) - } else { - optOut(item.flagKey) - } - }) - }) - } - }, true) // Force reload always - - Object.assign(listElement.style, { display: 'flex' }) - - const closeButton = shadow.querySelector('.beta-list-cancel') - closeButton?.addEventListener('click', (e) => { - e.preventDefault() - Object.assign(listElement.style, { display: 'none' }) - }) - - // // Hide when clicked outside - // const _betaList = document.getElementById('beta-list') - // document.addEventListener('click', function(event) { - // const isClickInside = _betaList?.contains(event.target) - - // if (!isClickInside) { - // // Object.assign(formElement.style, { display: 'none' }) - // } - // }); - } - - // TODO: Make this button a config option - const buttonElement = Object.assign(document.createElement('button'), { - className: 'beta-feature-button', - onclick: openbugBox, - title: config.buttonTitle || '', - }) - - buttonElement.innerHTML = ` - - - - - - ` - - Object.assign(buttonElement.style, { - color: config.buttonColor || 'white', - background: config.buttonBackground || '#1d4aff', - }) - - if (config.useButton === 'Yes') { - shadow.appendChild(buttonElement) - } - - const CloseButtonComponent = (width: number, height: number) => ` - - - - ` - - const BetaListComponent = ` -
-
Enable beta features
-
- ${CloseButtonComponent(30, 30)} -
-
-
-
-
-
-
- ` - - const betaListElement = document.createElement('div') - betaListElement.id = 'beta-list' - const listElement = Object.assign(betaListElement, { - className: 'popup', - innerHTML: BetaListComponent, - }) - - shadow.appendChild(listElement) - - if (config.selector) { - const clickListener = (e) => { - if (e.target.closest(config.selector)) { - openbugBox() - } - } - window.addEventListener('click', clickListener) - } - - const listItemComponents = (items?: PreviewItem[]) => { - if (items) { - return items - .map((item, index) => { - const checked = posthog.isFeatureEnabled(item.flagKey) - - const documentationLink = item.documentationUrl - ? `
- ` - : '' - return ` -
-
- ${item.name} -
${item.description}
- ${documentationLink} -
- -
- ` - }) - .join('') - } - return '' - } -} - -function createShadow(style?: string): ShadowRoot { - const div = document.createElement('div') - const shadow = div.attachShadow({ mode: 'open' }) - if (style) { - const styleElement = Object.assign(document.createElement('style'), { - innerText: style, - }) - shadow.appendChild(styleElement) - } - document.body.appendChild(div) - return shadow -} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js deleted file mode 100644 index 694f6c473e61a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/__tests__/index.js +++ /dev/null @@ -1,196 +0,0 @@ -const { createEvent } = require('@posthog/plugin-scaffold/test/utils.js') -const { processEvent } = require('../index') - -const nestedEventProperties = { - a: { - b: { - c: { - d: { - e: { - f: 'nested under e', - }, - z: 'nested under d', - }, - z: 'nested under c', - }, - z: 'nested under b', - }, - z: 'nested under a', - }, - w: { - array: [{ z: 'nested in w array' }], - }, - x: 'not nested', - y: 'not nested either', -} - -describe('the property flattener', () => { - test('flattens all nested properties', async () => { - const event = createEvent({ event: 'test', properties: nestedEventProperties }) - - const eventsOutput = await processEvent(event, { config: { separator: '__' } }) - - const expectedProperties = { - a: nestedEventProperties.a, - w: nestedEventProperties.w, - x: 'not nested', - y: 'not nested either', - a__b__c__d__e__f: 'nested under e', - a__b__c__d__z: 'nested under d', - a__b__c__z: 'nested under c', - a__b__z: 'nested under b', - a__z: 'nested under a', - w__array__0__z: 'nested in w array', - } - - expect(eventsOutput).toEqual(createEvent({ event: 'test', properties: expectedProperties })) - }) - - test('autocapture is ignored', async () => { - const event = createEvent({ - event: '$autocapture', - properties: { - $elements: [ - { tag_name: 'span', nth_child: 1 }, - { tag_name: 'div', nth_child: 1 }, - ], - $elements_chain: 'span:nth_child="1";div:nth_child="1"', - }, - }) - - const eventsOutput = await processEvent(event, { config: { separator: '__' } }) - - const expectedProperties = { - $elements: [ - { tag_name: 'span', nth_child: 1 }, - { tag_name: 'div', nth_child: 1 }, - ], - $elements_chain: 'span:nth_child="1";div:nth_child="1"', - } - - expect(eventsOutput).toEqual(createEvent({ event: '$autocapture', properties: expectedProperties })) - }) - - test('organization usage report is ignored because it causes very many flattened properties', async () => { - const event = createEvent({ - event: 'organization usage report', - properties: { - any: [{ nested: 'property' }], - }, - }) - - const eventsOutput = await processEvent(event, { config: { separator: '__' } }) - - const expectedProperties = { - any: [{ nested: 'property' }], - } - - expect(eventsOutput).toEqual( - createEvent({ event: 'organization usage report', properties: expectedProperties }) - ) - }) - - test('set and set once', async () => { - const event = createEvent({ - event: '$identify', - properties: { - $set: { - example: { - company_size: 20, - category: ['a', 'b'], - }, - }, - $set_once: { - example: { - company_size: 20, - category: ['a', 'b'], - }, - }, - }, - }) - - const eventsOutput = await processEvent(event, { config: { separator: '__' } }) - - const expectedProperties = { - $set: { - example: { - company_size: 20, - category: ['a', 'b'], - }, - example__company_size: 20, - example__category__0: 'a', - example__category__1: 'b', - }, - $set_once: { - example: { - company_size: 20, - category: ['a', 'b'], - }, - example__company_size: 20, - example__category__0: 'a', - example__category__1: 'b', - }, - } - - expect(eventsOutput.properties).toEqual(expectedProperties) - }) - - test('$group_set', async () => { - const event = createEvent({ - event: '$groupidentify', - properties: { - $group_set: { - a: 'shopify.com', - ads: { - 'facebook-ads': true, - 'google-ads': true, - 'tiktok-ads': false, - 'pinterest-ads': false, - 'snapchat-ads': false, - fairing: false, - slack: false, - }, - pixel: true, - pixel_settings: { - allow_auto_install: true, - }, - currency: 'USD', - timezone: 'XXX', - }, - }, - }) - - const eventsOutput = await processEvent(event, { config: { separator: '__' } }) - - const expectedProperties = { - $group_set: { - a: 'shopify.com', - ads: { - 'facebook-ads': true, - 'google-ads': true, - 'tiktok-ads': false, - 'pinterest-ads': false, - 'snapchat-ads': false, - fairing: false, - slack: false, - }, - pixel: true, - pixel_settings: { - allow_auto_install: true, - }, - currency: 'USD', - timezone: 'XXX', - 'ads__facebook-ads': true, - ads__fairing: false, - 'ads__google-ads': true, - 'ads__pinterest-ads': false, - ads__slack: false, - 'ads__snapchat-ads': false, - 'ads__tiktok-ads': false, - pixel_settings__allow_auto_install: true, - }, - } - - expect(eventsOutput.properties).toEqual(expectedProperties) - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js b/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js deleted file mode 100644 index ea9412688e82a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/index.js +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Some events will always create very large numbers of flattened properties - * This is undesirable since a large enough number of properties for a particular team can slow down the property filter in the UI - * If the problem property has a unique enough name it can be added to the propertyDenyList - * If not (or if many properties for a given event are problematic) then the event can be added here - */ -const eventDenyList = ['$autocapture', 'organization usage report'] - -async function processEvent(event, { config }) { - try { - if (!eventDenyList.includes(event.event) && event.properties) { - event.properties = flattenProperties(event.properties, config.separator) - } - } catch (e) { - throw e - } - return event -} - -const propertyDenyList = [ - '$elements', - '$elements_chain', - '$groups', - '$active_feature_flags', - '$heatmap_data', - '$web_vitals_data', -] - -const flattenProperties = (props, sep, nestedChain = []) => { - let newProps = {} - for (const [key, value] of Object.entries(props)) { - if (propertyDenyList.includes(key)) { - // Hide 'internal' properties used in event processing - } else if (key === '$set') { - newProps = { ...newProps, $set: { ...props[key], ...flattenProperties(props[key], sep) } } - } else if (key === '$set_once') { - newProps = { ...newProps, $set_once: { ...props[key], ...flattenProperties(props[key], sep) } } - } else if (key === '$group_set') { - newProps = { ...newProps, $group_set: { ...props[key], ...flattenProperties(props[key], sep) } } - } else if (Array.isArray(value)) { - newProps = { ...newProps, ...flattenProperties(props[key], sep, [...nestedChain, key]) } - } else if (value !== null && typeof value === 'object' && Object.keys(value).length > 0) { - newProps = { ...newProps, ...flattenProperties(props[key], sep, [...nestedChain, key]) } - } else { - if (nestedChain.length > 0) { - newProps[nestedChain.join(sep) + `${sep}${key}`] = value - } - } - } - if (nestedChain.length > 0) { - return { ...newProps } - } - return { ...props, ...newProps } -} - -module.exports = { - processEvent, -} diff --git a/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json b/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json deleted file mode 100644 index 93c4afb644a35..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/flatten-properties/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "Property Flattener Plugin", - "url": "https://github.com/PostHog/property-flattener-plugin", - "description": "Flatten event properties to easily access them in filters.", - "main": "index.js", - "config": [ - { - "key": "separator", - "hint": "For example, to access the value of 'b' in a: { b: 1 } with separator '__', you can do 'a__b'", - "name": "Select a separator format for accessing your nested properties", - "type": "choice", - "choices": ["__", ".", ">", "/"], - "order": 1, - "default": "__", - "required": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts index 71774a705fcc0..b9c46a281fbfc 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts deleted file mode 100644 index bb435b492fd01..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { processEvent } from './index' -import pluginJson from './plugin.json' - -const globalConfig = Object.fromEntries(pluginJson.config.filter((c) => c.key).map((c) => [c.key, c.default])) -const makeEvent = ($pathname: string) => ({ event: '$pageview', properties: { $pathname } }) - -test('changes properties', () => { - const matches = [ - ['/lol', { $pathname: '/lol' }], - ['/english', { $pathname: '/english' }], - ['/en', { $pathname: '/', locale: 'en' }], - ['/en/', { $pathname: '/', locale: 'en' }], - ['/en/?', { $pathname: '/?', locale: 'en' }], - ['/en#bla', { $pathname: '/#bla', locale: 'en' }], - ['/en?bla', { $pathname: '/?bla', locale: 'en' }], - ['/en/asd', { $pathname: '/asd', locale: 'en' }], - ['/en/en/en', { $pathname: '/en/en', locale: 'en' }], - ] - - for (const [$pathname, properties] of matches) { - expect(processEvent(makeEvent($pathname), { config: globalConfig }).properties).toEqual(properties) - } -}) - -test('changes properties if new $pathname', () => { - const config = { ...globalConfig, replaceKey: '$otherPath' } - const matches = [['/en/asd', { $pathname: '/en/asd', $otherPath: '/asd', locale: 'en' }]] - - for (const [$pathname, properties] of matches) { - expect(processEvent(makeEvent($pathname), { config }).properties).toEqual(properties) - } -}) diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts deleted file mode 100644 index a95c13dd83cf8..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -// @ts-nocheck - -export function processEvent(event, { config }) { - const { pattern, matchGroup, property, replacePattern, replaceKey, replaceValue } = config - if (event.properties && typeof event.properties['$pathname'] === 'string') { - const regexp = new RegExp(pattern) - const match = event.properties['$pathname'].match(regexp) - if (match) { - event.properties[property] = match[matchGroup] - if (replacePattern) { - const replaceRegexp = new RegExp(replacePattern) - event.properties[replaceKey] = event.properties['$pathname'].replace(replaceRegexp, replaceValue) - } - } - } - return event -} diff --git a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json deleted file mode 100644 index abb0a519bc623..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/language-url-splitter-app/plugin.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "Language URL stripper", - "config": [ - { - "key": "pattern", - "name": "Pattern", - "type": "string", - "default": "^/([a-z]{2})(?=/|#|\\?|$)", - "hint": "Ininitalized with `const regexp = new RegExp($pattern)`", - "required": true - }, - { - "key": "matchGroup", - "name": "Match group", - "type": "string", - "default": "1", - "hint": "Used in: `const value = regexp.match($pathname)[$matchGroup]`", - "required": true - }, - { - "key": "property", - "name": "Property", - "type": "string", - "default": "locale", - "hint": "Name of the event property we will store the matched value in", - "required": true - }, - { - "key": "replacePattern", - "name": "Replacement pattern", - "type": "string", - "default": "^(/[a-z]{2})(/|(?=/|#|\\?|$))", - "hint": "Initialized with `new RegExp($pattern)`, leave empty to disable path cleanup.", - "required": true - }, - { - "key": "replaceKey", - "name": "Replacement key", - "type": "string", - "default": "$pathname", - "hint": "Where to store the updated path. Keep as `$pathname` to override.", - "required": true - }, - { - "key": "replaceValue", - "name": "Replacement value", - "type": "string", - "default": "/", - "hint": "`properties[key] = $pathname.replace(pattern, value)`", - "required": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json deleted file mode 100644 index a16bc409b7c96..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/plugin.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "Notification Bar", - "url": "https://github.com/PostHog/notification-bar-app", - "description": "Show a notification bar for your users", - "config": [ - { - "markdown": "## MANUAL STEP NOTICE: This app needs to injects code into your website through posthog-js. You need to **opt-in** on your site to enable this behaviour.\n\n```\nposthog.init(\"api_key\", {\n \"api_host\": \"https://app.posthog.com\",\n \"opt_in_site_apps\": true,\n})\n```" - }, - { - "key": "domains", - "name": "Domains", - "hint": "Comma separated list of domains to activate on. Leave blank to enable all. For example: \"localhost,app.posthog.com\"", - "type": "string", - "default": "", - "site": true - }, - { - "key": "notification", - "name": "HTML to show in the notification bar", - "type": "string", - "default": "🚀 Product 2.0! is out! Click here to learn more.", - "required": true, - "site": true - }, - { - "key": "position", - "name": "Position of the notification bar", - "type": "choice", - "choices": ["sticky", "top-of-page"], - "default": "sticky", - "required": true, - "site": true - }, - { - "key": "backgroundColor", - "name": "Background color", - "type": "string", - "default": "#ebece8", - "required": true, - "site": true - }, - { - "key": "textColor", - "name": "Text color", - "type": "string", - "default": "#333", - "required": true, - "site": true - }, - { - "key": "linkColor", - "name": "Link color", - "type": "string", - "default": "#f64e00", - "required": true, - "site": true - }, - { - "key": "cssOverride", - "name": "CSS override", - "type": "string", - "default": ".notification-bar { }", - "required": false, - "site": true - }, - { - "key": "rememberClose", - "name": "Remember close", - "type": "choice", - "choices": ["yes", "no"], - "default": "yes", - "hint": "Remember if the user has closed the notification bar, and don't show it again. This resets if you update the notification bar's text.", - "site": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts b/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts deleted file mode 100644 index d039ec55a0056..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/notification-bar-app/site.ts +++ /dev/null @@ -1,80 +0,0 @@ -// @ts-nocheck -export function inject({ config }) { - if (config.domains) { - const domains = config.domains.split(',').map((domain) => domain.trim()) - if (domains.length > 0 && domains.indexOf(window.location.hostname) === -1) { - return - } - } - const localStorageKey = `notification-${config.notification}` - if (config.rememberClose === 'yes' && localStorage.getItem(localStorageKey)) { - return - } - - const style = ` - .notification-bar-container { - min-height: 56px; - } - .notification-bar { - width: 100%; - min-height: 56px; - line-height: 36px; - font-size: 24px; - color: ${config.textColor || 'default'}; - background: ${config.backgroundColor || 'default'}; - font-weight: normal; - font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - text-align: center; - position: ${config.position === 'sticky' ? 'fixed' : 'absolute'}; - left: 0; - top: 0; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - z-index: 9999999; - } - .notification-bar a { - color: ${config.linkColor || config.textColor || 'default'}; - } - .notification-bar p { - margin: 0; - } - ${config.cssOverride || ''} - ` - const paragraph = Object.assign(document.createElement('p'), { - innerHTML: config.notification, - }) - const notificationElementContainer = Object.assign(document.createElement('div'), { - className: 'notification-bar-container', - }) - const notificationElement = Object.assign(document.createElement('div'), { - className: 'notification-bar', - onclick: (e) => { - if (!e.target.matches('a,button')) { - notificationElement.style.display = 'none' - notificationElementContainer.style.display = 'none' - window.localStorage.setItem(localStorageKey, 'true') - } - }, - title: config.buttonTitle || '', - }) - notificationElement.append(paragraph) - const shadow = createShadowRoot(style) - notificationElementContainer.appendChild(notificationElement) - shadow.appendChild(notificationElementContainer) - document.body.prepend(shadow) -} - -function createShadowRoot(style) { - const div = document.createElement('div') - const shadow = div.attachShadow({ mode: 'open' }) - if (style) { - const styleElement = Object.assign(document.createElement('style'), { - innerText: style, - }) - shadow.appendChild(styleElement) - } - document.body.prepend(div) - return shadow -} diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json deleted file mode 100644 index a2eb508c188eb..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/plugin.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "Pineapple Mode", - "description": "Make any website better by adding pineapples", - "config": [ - { - "markdown": "## MANUAL STEP NOTICE: This app needs to injects code into your website through posthog-js. You need to **opt-in** on your site to enable this behaviour.\n\n```\nposthog.init(\"api_key\", {\n \"api_host\": \"https://app.posthog.com\",\n \"opt_in_site_apps\": true,\n})\n```" - }, - { - "key": "domains", - "name": "Domains", - "hint": "Comma separated list of domains to activate on. Leave blank to enable all. For example: \"localhost,app.posthog.com\"", - "type": "string", - "default": "", - "site": true - }, - { - "key": "emoji", - "name": "Emoji to use", - "type": "string", - "default": "🍍", - "required": true, - "site": true - }, - { - "key": "intensity", - "name": "Intensity", - "type": "string", - "default": "4", - "required": true, - "site": true, - "hint": "Rainfall intensity (1-10)" - }, - { - "key": "startRaining", - "name": "Start raining immediately", - "type": "choice", - "choices": ["Yes", "No"], - "default": "Yes", - "required": true, - "site": true - }, - { - "key": "showButton", - "name": "Show Floating Button", - "hint": "Shows a button you can use to disable the pineapple mode", - "type": "choice", - "choices": ["Yes", "No"], - "default": "Yes", - "site": true - }, - { - "key": "buttonText", - "name": "Button text, if enabled", - "type": "string", - "default": "", - "site": true - }, - { - "key": "buttonColor", - "name": "Button text color", - "type": "string", - "hint": "Any valid CSS color. For example: \"#ff0000\" or \"red\"", - "default": "", - "site": true - }, - { - "key": "buttonBackground", - "name": "Button background", - "type": "string", - "hint": "Any valid CSS background. For example: \"red\" or \"url('...')\"", - "default": "", - "site": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts b/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts deleted file mode 100644 index 12cc2bf55b730..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/pineapple-mode-app/site.ts +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-nocheck - -const style = ` - .button { - position: fixed; - bottom: 20px; - right: 20px; - color: black; - font-weight: normal; - font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - text-align: left; - width: 48px; - height: 48px; - border-radius: 100%; - text-align: center; - line-height: 40px; - font-size: 32px; - border: none; - cursor: pointer; - z-index: 999999; - } - .button:hover { - filter: brightness(1.2); - } - .button.disabled { - opacity: 0.5; - filter: grayscale(100%); - } -` - -let rainInterval - -export function inject({ config, posthog }) { - if (config.domains) { - const domains = config.domains.split(',').map((domain) => domain.trim()) - if (domains.length > 0 && domains.indexOf(window.location.hostname) === -1) { - return - } - } - - const intensity = Math.max(1, Math.min(parseInt(config.intensity) || 5, 10)) - const emoji = config.emoji || '🍍' - const shadow = createShadow(style) - let buttonElement: HTMLButtonElement - - function toggle(): void { - if (rainInterval) { - window.clearInterval(rainInterval) - rainInterval = undefined - posthog.capture('Pineapple mode deactivated', config) - buttonElement?.classList.remove('disabled') - } else { - rainInterval = window.setInterval(() => makeItRain(shadow, emoji, intensity), 1000 / intensity) - posthog.capture('Pineapple mode activated', config) - buttonElement?.classList.add('disabled') - } - } - - if (config.showButton === 'Yes') { - buttonElement = Object.assign(document.createElement('button'), { - className: 'button', - innerText: config.buttonText || emoji, - onclick: toggle, - }) - Object.assign(buttonElement.style, { - color: config.buttonColor || 'black', - background: config.buttonBackground || '#ccae05', - }) - shadow.appendChild(buttonElement) - } - - if (config.startRaining === 'Yes') { - for (let i = 0; i < intensity * 2; i++) { - makeItRain(shadow, emoji, intensity) - } - toggle() - } -} - -// Drops an emoji from the sky -function makeItRain(shadow: ShadowRoot, emoji: string, intensity: number) { - const div = document.createElement('div') - Object.assign(div.style, { - position: 'fixed', - left: `${(window.innerWidth - 30) * Math.random()}px`, - top: '-10px', - fontSize: '24px', - zIndex: 99999999, - pointerEvents: 'none', - }) - div.innerHTML = emoji - shadow.appendChild(div) - const duration = 300 * (10 - intensity) + Math.random() * 3001 - div.animate([{ top: '-10px' }, { top: `${window.innerHeight + 20}px` }], { - duration, - iterations: 1, - }) - window.setTimeout(() => div.remove(), duration + 1) -} - -function createShadow(style?: string): ShadowRoot { - const div = document.createElement('div') - const shadow = div.attachShadow({ mode: 'open' }) - if (style) { - const styleElement = Object.assign(document.createElement('style'), { - innerText: style, - }) - shadow.appendChild(styleElement) - } - document.body.appendChild(div) - return shadow -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json deleted file mode 100644 index f89ed5f1d985a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "editor.formatOnSave": true -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json deleted file mode 100644 index 07ecb722c0647..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/cspell.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "version": "0.2", - "enabled": true, - "language": "en-US", - "allowCompoundWords": true, - "dictionaries": ["typescript", "node", "npm", "html"], - "enabledLanguageIds": ["typescript", "typescriptreact", "javascript", "markdown", "yaml", "json"], - "words": ["geoip", "paolodamico", "PostHog", "Unduplicates"] -} diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts deleted file mode 100644 index 993cabdcbb6d4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.test.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { Plugin, PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' -// @ts-ignore -import { createPageview, resetMeta } from '@posthog/plugin-scaffold/test/utils' - -import * as advancedGeoIpApp from '.' -const { processEvent } = advancedGeoIpApp as Required - -const defaultMeta: advancedGeoIpApp.AppInterface = { - config: { - discardIp: 'true', - discardLibs: 'posthog-node', - }, -} - -const createGeoIPPageview = (): PluginEvent => { - const event = createPageview() - - const setGeoIPProps = { - $geoip_city_name: 'Ashburn', - $geoip_country_name: 'United States', - $geoip_country_code: 'US', - $geoip_continent_name: 'North America', - $geoip_continent_code: 'NA', - $geoip_postal_code: '20149', - $geoip_latitude: 39.0469, - $geoip_longitude: -77.4903, - $geoip_time_zone: 'America/New_York', - $geoip_subdivision_1_code: 'VA', - $geoip_subdivision_1_name: 'Virginia', - } - - const setOnceGeoIPProps = { - $initial_geoip_city_name: 'Ashburn', - $initial_geoip_country_name: 'United States', - $initial_geoip_country_code: 'US', - $initial_geoip_continent_name: 'North America', - $initial_geoip_continent_code: 'NA', - $initial_geoip_postal_code: '20149', - $initial_geoip_latitude: 39.0469, - $initial_geoip_longitude: -77.4903, - $initial_geoip_time_zone: 'America/New_York', - $initial_geoip_subdivision_1_code: 'VA', - $initial_geoip_subdivision_1_name: 'Virginia', - } - - const properties = { - // @ts-ignore - ...event.properties, - $ip: '13.106.122.3', - $plugins_succeeded: ['GeoIP (8199)', 'Unduplicates (8303)'], - $lib: 'posthog-node', - $set: setGeoIPProps, - $set_once: setOnceGeoIPProps, - } - return { - ...event, - ip: '13.106.122.3', - properties, - $set: setGeoIPProps, - $set_once: setOnceGeoIPProps, - } -} - -const helperVerifyGeoIPIsEmpty = (event: PluginEvent): void => { - // event properties - expect(event!.properties!.$geoip_city_name).toEqual(undefined) - expect(event!.properties!.$geoip_country_name).toEqual(undefined) - expect(event!.properties!.$geoip_country_code).toEqual(undefined) - - // $set - expect(event!.$set!.$geoip_city_name).toEqual(undefined) - expect(event!.$set!.$geoip_country_name).toEqual(undefined) - expect(event!.$set!.$geoip_country_code).toEqual(undefined) - expect(event!.$set!.$geoip_continent_name).toEqual(undefined) - expect(event!.$set!.$geoip_continent_code).toEqual(undefined) - expect(event!.$set!.$geoip_postal_code).toEqual(undefined) - expect(event!.$set!.$geoip_latitude).toEqual(undefined) - expect(event!.$set!.$geoip_longitude).toEqual(undefined) - expect(event!.$set!.$geoip_time_zone).toEqual(undefined) - expect(event!.$set!.$geoip_subdivision_1_code).toEqual(undefined) - expect(event!.$set!.$geoip_subdivision_1_name).toEqual(undefined) - - // $set_once - expect(event!.$set_once!.$initial_geoip_city_name).toEqual(undefined) - expect(event!.$set_once!.$initial_geoip_country_name).toEqual(undefined) - expect(event!.$set_once!.$initial_geoip_country_code).toEqual(undefined) - expect(event!.$set_once!.$initial_geoip_latitude).toEqual(undefined) - expect(event!.$set_once!.$initial_geoip_longitude).toEqual(undefined) - - // $set on event props - expect(event!.properties!.$set!.$geoip_city_name).toEqual(undefined) - expect(event!.properties!.$set!.$geoip_country_name).toEqual(undefined) - expect(event!.properties!.$set!.$geoip_country_code).toEqual(undefined) - - // $set_once on event props - expect(event!.properties!.$set_once!.$initial_geoip_city_name).toEqual(undefined) - expect(event!.properties!.$set_once!.$initial_geoip_country_name).toEqual(undefined) - expect(event!.properties!.$set_once!.$initial_geoip_country_code).toEqual(undefined) -} - -describe('discard IP', () => { - test('IP is discarded', async () => { - const meta = resetMeta(defaultMeta) as PluginMeta - const event = await processEvent(createGeoIPPageview(), meta) - expect(event?.ip).toEqual(null) - expect(event?.properties?.$ip).toEqual(undefined) - }) - test('IP is not discarded if not enabled', async () => { - const meta = resetMeta({ config: { ...defaultMeta.config, discardIp: 'false' } }) as PluginMeta - const event = await processEvent(createGeoIPPageview(), meta) - expect(event?.ip).toEqual('13.106.122.3') - expect(event?.properties?.$ip).toEqual('13.106.122.3') - }) - test('IP is not discarded if GeoIP not processed', async () => { - const meta = resetMeta() as PluginMeta - const preprocessedEvent = createGeoIPPageview() - preprocessedEvent.properties = { ...preprocessedEvent.properties, $plugins_succeeded: ['Unduplicates (8303)'] } - const event = await processEvent(preprocessedEvent, meta) - expect(event?.ip).toEqual('13.106.122.3') - expect(event?.properties?.$ip).toEqual('13.106.122.3') - }) -}) - -describe('$lib ignore', () => { - test('ignores GeoIP from $lib', async () => { - const meta = resetMeta(defaultMeta) as PluginMeta - const event = await processEvent(createGeoIPPageview(), meta) - helperVerifyGeoIPIsEmpty(event!) - expect(Object.keys(event!.$set!).length).toEqual(0) // Ensure this is not sending properties even as undefined (that overwrites the user properties) - expect(Object.keys(event!.$set_once!).length).toEqual(0) // Ensure this is not sending properties even as undefined (that overwrites the user properties) - }) - - test('ignores GeoIP from $lib CSV', async () => { - const meta = resetMeta({ - config: { ...defaultMeta.config, discardLibs: 'posthog-ios,posthog-android,posthog-node' }, - }) as PluginMeta - const event = await processEvent(createGeoIPPageview(), meta) - helperVerifyGeoIPIsEmpty(event!) - }) - - test('keeps GeoIP if $lib is not on ignore list', async () => { - const meta = resetMeta() as PluginMeta - const preprocessedEvent = createGeoIPPageview() - // @ts-ignore - preprocessedEvent.properties.$lib = 'posthog-swift' - const event = await processEvent(preprocessedEvent, meta) - expect(event!.$set!.$geoip_city_name).toEqual('Ashburn') - expect(event!.$set!.$geoip_country_name).toEqual('United States') - expect(event!.$set!.$geoip_country_code).toEqual('US') - - expect(event!.$set_once!.$initial_geoip_city_name).toEqual('Ashburn') - expect(event!.$set_once!.$initial_geoip_country_name).toEqual('United States') - expect(event!.$set_once!.$initial_geoip_country_code).toEqual('US') - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts deleted file mode 100644 index c5bc45de85606..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/index.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { Plugin } from '@posthog/plugin-scaffold' - -const geoIpProps = [ - '$geoip_city_name', - '$geoip_country_name', - '$geoip_country_code', - '$geoip_continent_name', - '$geoip_continent_code', - '$geoip_postal_code', - '$geoip_latitude', - '$geoip_longitude', - '$geoip_time_zone', - '$geoip_subdivision_1_code', - '$geoip_subdivision_1_name', - '$geoip_subdivision_2_code', - '$geoip_subdivision_2_name', - '$geoip_subdivision_3_code', - '$geoip_subdivision_3_name', -] - -const geoIpInitialProps = [ - '$initial_geoip_city_name', - '$initial_geoip_country_name', - '$initial_geoip_country_code', - '$initial_geoip_continent_name', - '$initial_geoip_continent_code', - '$initial_geoip_postal_code', - '$initial_geoip_latitude', - '$initial_geoip_longitude', - '$initial_geoip_time_zone', - '$initial_geoip_subdivision_1_code', - '$initial_geoip_subdivision_1_name', - '$initial_geoip_subdivision_2_code', - '$initial_geoip_subdivision_2_name', - '$initial_geoip_subdivision_3_code', - '$initial_geoip_subdivision_3_name', -] - -export interface AppInterface { - config: { - discardIp: 'true' | 'false' - discardLibs: string - } -} - -const GEO_IP_PLUGIN = /^GeoIP \(\d+\)$/ - -const plugin: Plugin = { - processEvent: async (event, { config }) => { - const parsedLibs = config.discardLibs?.split(',').map((val) => val.toLowerCase().trim()) - - if (parsedLibs && event.properties?.$lib && parsedLibs.includes(event.properties?.$lib)) { - // Event comes from a `$lib` that should be ignored - console.info( - `Discarding GeoIP properties from ${event.uuid || event.event} as event comes from ignored $lib: ${ - event.properties?.$lib - }.` - ) - for (const prop of geoIpProps) { - // We need to handle both `$set` and `properties.$set` as they are both used in different contexts - if (event.$set) { - delete event.$set[prop] - } - - if (event.properties.$set) { - delete event.properties.$set[prop] - } - delete event.properties[prop] - } - - for (const prop of geoIpInitialProps) { - if (event.$set_once) { - delete event.$set_once[prop] - } - - if (event.properties.$set_once) { - delete event.properties.$set_once[prop] - } - } - } - - if (config.discardIp === 'true') { - if ( - Array.isArray(event.properties?.$plugins_succeeded) && - event.properties?.$plugins_succeeded.find((val: string) => val.toString().match(GEO_IP_PLUGIN)) - ) { - event.properties.$ip = undefined - event.ip = null - console.info(`IP discarded for event ${event.uuid || event.event}.`) - } else { - console.warn( - `Could not discard IP for event ${event.uuid || event.event} as GeoIP has not been processed.` - ) - } - } - - console.info(`Finished processing ${event.uuid || event.event}.`) - - return event - }, -} - -module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json b/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json deleted file mode 100644 index c18536f149b01..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/plugin-advanced-geoip/plugin.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "Advanced GeoIP", - "url": "https://github.com/paolodamico/posthog-app-advanced-geoip", - "description": "Advanced GeoIP filtering app for PostHog", - "main": "index.ts", - "posthogVersion": ">=1.25.0", - "config": [ - { - "key": "discardIp", - "name": "Discard IP addresses after GeoIP?", - "type": "choice", - "choices": ["true", "false"], - "hint": "Whether IP addresses should be discarded after doing GeoIP lookup.", - "required": true - }, - { - "key": "discardLibs", - "name": "Discard GeoIP for libraries", - "type": "string", - "hint": "Comma-separated list of libraries ($lib) for which GeoIP should be ignored (e.g. `posthog-node,posthog-python`)", - "required": false - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json deleted file mode 100644 index d516ae485e71b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/package-lock.json +++ /dev/null @@ -1,8008 +0,0 @@ -{ - "name": "posthog-hello-world-plugin", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "version": "1.0.0", - "license": "MIT", - "devDependencies": { - "@posthog/plugin-scaffold": "0.10.0", - "eslint": "^8.9.0", - "jest": "^27.0.4" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", - "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", - "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", - "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "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": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", - "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.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, - "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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "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, - "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, - "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, - "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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "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.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", - "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "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 - }, - "node_modules/@eslint/eslintrc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", - "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/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==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "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, - "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/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", - "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.0.2", - "jest-util": "^27.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.4.tgz", - "integrity": "sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==", - "dev": true, - "dependencies": { - "@jest/console": "^27.0.2", - "@jest/reporters": "^27.0.4", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.0.2", - "jest-config": "^27.0.4", - "jest-haste-map": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-regex-util": "^27.0.1", - "jest-resolve": "^27.0.4", - "jest-resolve-dependencies": "^27.0.4", - "jest-runner": "^27.0.4", - "jest-runtime": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "jest-watcher": "^27.0.2", - "micromatch": "^4.0.4", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", - "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.0.3", - "@jest/types": "^27.0.2", - "@types/node": "*", - "jest-mock": "^27.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", - "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "@sinonjs/fake-timers": "^7.0.2", - "@types/node": "*", - "jest-message-util": "^27.0.2", - "jest-mock": "^27.0.3", - "jest-util": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", - "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.0.3", - "@jest/types": "^27.0.2", - "expect": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.4.tgz", - "integrity": "sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.0.2", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^27.0.2", - "jest-resolve": "^27.0.4", - "jest-util": "^27.0.2", - "jest-worker": "^27.0.2", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/source-map": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", - "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", - "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", - "dev": true, - "dependencies": { - "@jest/console": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz", - "integrity": "sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.0.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.0.2", - "jest-runtime": "^27.0.4" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", - "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.0.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.0.2", - "jest-regex-util": "^27.0.1", - "jest-util": "^27.0.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/types": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", - "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@posthog/plugin-scaffold": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.10.0.tgz", - "integrity": "sha512-c8lNzQTBMJ0X3SCjcaD+mXZIx2thc+ptf8G4gbfT9YBFFD6TMaxs+/APMUab2aRJRbVwOsCGj9poxwuF4wxPpA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.14", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", - "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", - "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/node": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", - "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz", - "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", - "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "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, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.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==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "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, - "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/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, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/babel-jest": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", - "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^27.0.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", - "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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, - "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": "27.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", - "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.0.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "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, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001237", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", - "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", - "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", - "dev": true - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "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==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "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, - "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 - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", - "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.752", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", - "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "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==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/eslint": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", - "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.2.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "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.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "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-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/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==", - "dev": true - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/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, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/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, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/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, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "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, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", - "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "ansi-styles": "^5.0.0", - "jest-get-type": "^27.0.1", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-regex-util": "^27.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/expect/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/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==", - "dev": true - }, - "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 - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "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, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "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, - "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==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "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, - "engines": { - "node": ">=8.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "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 - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "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==", - "dev": true - }, - "node_modules/is-ci": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", - "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.1.1" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.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 - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.4.tgz", - "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", - "dev": true, - "dependencies": { - "@jest/core": "^27.0.4", - "import-local": "^3.0.2", - "jest-cli": "^27.0.4" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", - "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.4.tgz", - "integrity": "sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.0.3", - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.0.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.0.2", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-runtime": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "pretty-format": "^27.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-cli": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.4.tgz", - "integrity": "sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==", - "dev": true, - "dependencies": { - "@jest/core": "^27.0.4", - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "prompts": "^2.0.1", - "yargs": "^16.0.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.4.tgz", - "integrity": "sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.0.4", - "@jest/types": "^27.0.2", - "babel-jest": "^27.0.2", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "jest-circus": "^27.0.4", - "jest-environment-jsdom": "^27.0.3", - "jest-environment-node": "^27.0.3", - "jest-get-type": "^27.0.1", - "jest-jasmine2": "^27.0.4", - "jest-regex-util": "^27.0.1", - "jest-resolve": "^27.0.4", - "jest-runner": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "micromatch": "^4.0.4", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", - "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.1", - "jest-get-type": "^27.0.1", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", - "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", - "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.1", - "jest-util": "^27.0.2", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", - "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.0.3", - "@jest/fake-timers": "^27.0.3", - "@jest/types": "^27.0.2", - "@types/node": "*", - "jest-mock": "^27.0.3", - "jest-util": "^27.0.2", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", - "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.0.3", - "@jest/fake-timers": "^27.0.3", - "@jest/types": "^27.0.2", - "@types/node": "*", - "jest-mock": "^27.0.3", - "jest-util": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", - "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", - "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^27.0.1", - "jest-serializer": "^27.0.1", - "jest-util": "^27.0.2", - "jest-worker": "^27.0.2", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz", - "integrity": "sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.0.3", - "@jest/source-map": "^27.0.1", - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.0.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.0.2", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-runtime": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "pretty-format": "^27.0.2", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", - "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.0.1", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", - "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.0.2", - "jest-get-type": "^27.0.1", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", - "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.0.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "pretty-format": "^27.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", - "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", - "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.4.tgz", - "integrity": "sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "escalade": "^3.1.1", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "resolve": "^1.20.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz", - "integrity": "sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "jest-regex-util": "^27.0.1", - "jest-snapshot": "^27.0.4" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.4.tgz", - "integrity": "sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==", - "dev": true, - "dependencies": { - "@jest/console": "^27.0.2", - "@jest/environment": "^27.0.3", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-docblock": "^27.0.1", - "jest-environment-jsdom": "^27.0.3", - "jest-environment-node": "^27.0.3", - "jest-haste-map": "^27.0.2", - "jest-leak-detector": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-resolve": "^27.0.4", - "jest-runtime": "^27.0.4", - "jest-util": "^27.0.2", - "jest-worker": "^27.0.2", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.4.tgz", - "integrity": "sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==", - "dev": true, - "dependencies": { - "@jest/console": "^27.0.2", - "@jest/environment": "^27.0.3", - "@jest/fake-timers": "^27.0.3", - "@jest/globals": "^27.0.3", - "@jest/source-map": "^27.0.1", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-mock": "^27.0.3", - "jest-regex-util": "^27.0.1", - "jest-resolve": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^16.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-serializer": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", - "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.4.tgz", - "integrity": "sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/parser": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.0.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^27.0.2", - "jest-get-type": "^27.0.1", - "jest-haste-map": "^27.0.2", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-resolve": "^27.0.4", - "jest-util": "^27.0.2", - "natural-compare": "^1.4.0", - "pretty-format": "^27.0.2", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", - "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", - "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.1", - "leven": "^3.1.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", - "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.0.2", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", - "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "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==", - "dev": true - }, - "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, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", - "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.5", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "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, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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 - }, - "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "dependencies": { - "tmpl": "1.0.x" - } - }, - "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==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", - "dev": true, - "dependencies": { - "mime-db": "1.48.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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "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, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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==", - "dev": true, - "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "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, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-format": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", - "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", - "dev": true, - "dependencies": { - "@jest/types": "^27.0.2", - "ansi-regex": "^5.0.0", - "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/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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 - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=0.10.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, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "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, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.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==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz", - "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", - "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "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 - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", - "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", - "dev": true - }, - "@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", - "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", - "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", - "dev": true, - "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", - "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", - "dev": true - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", - "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" - } - }, - "@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 - }, - "@eslint/eslintrc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", - "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "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 - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@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, - "requires": { - "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": { - "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 - }, - "@jest/console": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", - "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.0.2", - "jest-util": "^27.0.2", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.4.tgz", - "integrity": "sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==", - "dev": true, - "requires": { - "@jest/console": "^27.0.2", - "@jest/reporters": "^27.0.4", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.0.2", - "jest-config": "^27.0.4", - "jest-haste-map": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-regex-util": "^27.0.1", - "jest-resolve": "^27.0.4", - "jest-resolve-dependencies": "^27.0.4", - "jest-runner": "^27.0.4", - "jest-runtime": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "jest-watcher": "^27.0.2", - "micromatch": "^4.0.4", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", - "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.0.3", - "@jest/types": "^27.0.2", - "@types/node": "*", - "jest-mock": "^27.0.3" - } - }, - "@jest/fake-timers": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", - "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "@sinonjs/fake-timers": "^7.0.2", - "@types/node": "*", - "jest-message-util": "^27.0.2", - "jest-mock": "^27.0.3", - "jest-util": "^27.0.2" - } - }, - "@jest/globals": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", - "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.0.3", - "@jest/types": "^27.0.2", - "expect": "^27.0.2" - } - }, - "@jest/reporters": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.4.tgz", - "integrity": "sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.0.2", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^27.0.2", - "jest-resolve": "^27.0.4", - "jest-util": "^27.0.2", - "jest-worker": "^27.0.2", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - } - }, - "@jest/source-map": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", - "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", - "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", - "dev": true, - "requires": { - "@jest/console": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz", - "integrity": "sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==", - "dev": true, - "requires": { - "@jest/test-result": "^27.0.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.0.2", - "jest-runtime": "^27.0.4" - } - }, - "@jest/transform": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", - "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.0.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.0.2", - "jest-regex-util": "^27.0.1", - "jest-util": "^27.0.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", - "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@posthog/plugin-scaffold": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.10.0.tgz", - "integrity": "sha512-c8lNzQTBMJ0X3SCjcaD+mXZIx2thc+ptf8G4gbfT9YBFFD6TMaxs+/APMUab2aRJRbVwOsCGj9poxwuF4wxPpA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.14", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", - "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", - "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/node": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz", - "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==", - "dev": true - }, - "@types/prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz", - "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", - "dev": true - }, - "@types/yargs": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", - "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "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, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": { - "type-fest": "^0.21.3" - } - }, - "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 - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "babel-jest": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", - "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", - "dev": true, - "requires": { - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^27.0.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", - "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "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, - "requires": { - "@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": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", - "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.0.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "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, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001237", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", - "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==", - "dev": true - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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 - }, - "ci-info": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", - "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "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 - }, - "diff-sequences": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", - "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "electron-to-chromium": { - "version": "1.3.752", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", - "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true - }, - "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==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "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 - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "eslint": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", - "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.2.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "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.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "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 - }, - "globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "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, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "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 - }, - "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, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "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 - } - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "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, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expect": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", - "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "ansi-styles": "^5.0.0", - "jest-get-type": "^27.0.1", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-regex-util": "^27.0.1" - }, - "dependencies": { - "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 - } - } - }, - "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==", - "dev": true - }, - "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 - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "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, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "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==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "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-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, - "requires": { - "is-glob": "^4.0.3" - } - }, - "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 - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "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 - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "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==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-ci": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", - "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", - "dev": true, - "requires": { - "ci-info": "^3.1.1" - } - }, - "is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "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==", - "dev": true - }, - "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 - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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 - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.4.tgz", - "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", - "dev": true, - "requires": { - "@jest/core": "^27.0.4", - "import-local": "^3.0.2", - "jest-cli": "^27.0.4" - } - }, - "jest-changed-files": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", - "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.4.tgz", - "integrity": "sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==", - "dev": true, - "requires": { - "@jest/environment": "^27.0.3", - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.0.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.0.2", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-runtime": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "pretty-format": "^27.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - } - }, - "jest-cli": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.4.tgz", - "integrity": "sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==", - "dev": true, - "requires": { - "@jest/core": "^27.0.4", - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "prompts": "^2.0.1", - "yargs": "^16.0.3" - } - }, - "jest-config": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.4.tgz", - "integrity": "sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.0.4", - "@jest/types": "^27.0.2", - "babel-jest": "^27.0.2", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "jest-circus": "^27.0.4", - "jest-environment-jsdom": "^27.0.3", - "jest-environment-node": "^27.0.3", - "jest-get-type": "^27.0.1", - "jest-jasmine2": "^27.0.4", - "jest-regex-util": "^27.0.1", - "jest-resolve": "^27.0.4", - "jest-runner": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "micromatch": "^4.0.4", - "pretty-format": "^27.0.2" - } - }, - "jest-diff": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", - "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.1", - "jest-get-type": "^27.0.1", - "pretty-format": "^27.0.2" - } - }, - "jest-docblock": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", - "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", - "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.1", - "jest-util": "^27.0.2", - "pretty-format": "^27.0.2" - } - }, - "jest-environment-jsdom": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", - "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", - "dev": true, - "requires": { - "@jest/environment": "^27.0.3", - "@jest/fake-timers": "^27.0.3", - "@jest/types": "^27.0.2", - "@types/node": "*", - "jest-mock": "^27.0.3", - "jest-util": "^27.0.2", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", - "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", - "dev": true, - "requires": { - "@jest/environment": "^27.0.3", - "@jest/fake-timers": "^27.0.3", - "@jest/types": "^27.0.2", - "@types/node": "*", - "jest-mock": "^27.0.3", - "jest-util": "^27.0.2" - } - }, - "jest-get-type": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", - "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", - "dev": true - }, - "jest-haste-map": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", - "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^27.0.1", - "jest-serializer": "^27.0.1", - "jest-util": "^27.0.2", - "jest-worker": "^27.0.2", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz", - "integrity": "sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.0.3", - "@jest/source-map": "^27.0.1", - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.0.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.0.2", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-runtime": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "pretty-format": "^27.0.2", - "throat": "^6.0.1" - } - }, - "jest-leak-detector": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", - "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", - "dev": true, - "requires": { - "jest-get-type": "^27.0.1", - "pretty-format": "^27.0.2" - } - }, - "jest-matcher-utils": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", - "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.0.2", - "jest-get-type": "^27.0.1", - "pretty-format": "^27.0.2" - } - }, - "jest-message-util": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", - "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.0.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "pretty-format": "^27.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", - "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", - "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", - "dev": true - }, - "jest-resolve": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.4.tgz", - "integrity": "sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "chalk": "^4.0.0", - "escalade": "^3.1.1", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "resolve": "^1.20.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz", - "integrity": "sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "jest-regex-util": "^27.0.1", - "jest-snapshot": "^27.0.4" - } - }, - "jest-runner": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.4.tgz", - "integrity": "sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==", - "dev": true, - "requires": { - "@jest/console": "^27.0.2", - "@jest/environment": "^27.0.3", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-docblock": "^27.0.1", - "jest-environment-jsdom": "^27.0.3", - "jest-environment-node": "^27.0.3", - "jest-haste-map": "^27.0.2", - "jest-leak-detector": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-resolve": "^27.0.4", - "jest-runtime": "^27.0.4", - "jest-util": "^27.0.2", - "jest-worker": "^27.0.2", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - } - }, - "jest-runtime": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.4.tgz", - "integrity": "sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==", - "dev": true, - "requires": { - "@jest/console": "^27.0.2", - "@jest/environment": "^27.0.3", - "@jest/fake-timers": "^27.0.3", - "@jest/globals": "^27.0.3", - "@jest/source-map": "^27.0.1", - "@jest/test-result": "^27.0.2", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-mock": "^27.0.3", - "jest-regex-util": "^27.0.1", - "jest-resolve": "^27.0.4", - "jest-snapshot": "^27.0.4", - "jest-util": "^27.0.2", - "jest-validate": "^27.0.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^16.0.3" - } - }, - "jest-serializer": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", - "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "27.0.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.4.tgz", - "integrity": "sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==", - "dev": true, - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/parser": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.0.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^27.0.2", - "jest-get-type": "^27.0.1", - "jest-haste-map": "^27.0.2", - "jest-matcher-utils": "^27.0.2", - "jest-message-util": "^27.0.2", - "jest-resolve": "^27.0.4", - "jest-util": "^27.0.2", - "natural-compare": "^1.4.0", - "pretty-format": "^27.0.2", - "semver": "^7.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "jest-util": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", - "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", - "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.1", - "leven": "^3.1.0", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", - "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", - "dev": true, - "requires": { - "@jest/test-result": "^27.0.2", - "@jest/types": "^27.0.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.0.2", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", - "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "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, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", - "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.5", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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 - }, - "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "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 - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "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==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", - "dev": true, - "requires": { - "mime-db": "1.48.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "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==", - "dev": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "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, - "requires": { - "find-up": "^4.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "pretty-format": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", - "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", - "dev": true, - "requires": { - "@jest/types": "^27.0.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "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 - } - } - }, - "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "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 - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "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, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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 - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, - "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, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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 - }, - "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==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "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 - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "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, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "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 - }, - "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 - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz", - "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", - "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - } - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json deleted file mode 100644 index adfc641ed1987..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/plugin.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "AI Costs", - "url": "https://github.com/PostHog/posthog-hello-world-plugin", - "description": "Calculate costs for AI generations events based on the number of tokens.", - "main": "dist/index.js", - "config": [] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts deleted file mode 100644 index 828d63c723417..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/anthropic/index.ts +++ /dev/null @@ -1,479 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelDetailsMap, ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'claude-instant-1', - }, - cost: { - prompt_token: 0.00000163, - completion_token: 0.0000551, - }, - }, - { - model: { - operator: 'equals', - value: 'claude-v1', - }, - cost: { - prompt_token: 0.000008, - completion_token: 0.000024, - }, - }, - - { - model: { - operator: 'equals', - value: 'claude-2', - }, - cost: { - prompt_token: 0.000008, - completion_token: 0.000024, - }, - }, - - { - model: { - operator: 'equals', - value: 'claude-instant-1.2', - }, - cost: { - prompt_token: 0.00000163, - completion_token: 0.00000551, - }, - }, - { - model: { - operator: 'equals', - value: 'claude-2.0', - }, - cost: { - prompt_token: 0.00001102, - completion_token: 0.00003268, - }, - }, - { - model: { - operator: 'equals', - value: 'claude-3-opus-20240229', - }, - cost: { - prompt_token: 0.000015, - completion_token: 0.000075, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'claude-3-sonnet-20240229', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'claude-3-5-sonnet-20240620', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'claude-3-5-sonnet-20241022', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'claude-3-haiku-20240307', - }, - cost: { - prompt_token: 0.00000025, - completion_token: 0.00000125, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'claude-3-5-haiku-20241022', - }, - cost: { - prompt_token: 0.000001, - completion_token: 0.000005, - }, - showInPlayground: true, - }, -] - -export const modelDetails: ModelDetailsMap = { - 'claude-3-opus': { - matches: ['claude-3-opus-20240229'], - searchTerms: ['claude 3 opus', 'claude-3-opus', 'opus'], - info: { - maxTokens: 200000, - releaseDate: '2024-03-04', - description: - "Claude 3 Opus is Anthropic's most advanced model, demonstrating exceptional performance across complex tasks with near-perfect recall in long-context scenarios and sophisticated capabilities in coding, analysis, and creative work.", - tradeOffs: [ - 'Premium pricing reflects advanced capabilities', - 'Higher latency due to model complexity', - 'Resource-intensive for optimal performance', - ], - benchmarks: { - mmlu: 0.868, - hellaswag: 0.954, - bbh: 0.868, - math: 0.952, - }, - capabilities: [ - 'Near-perfect recall with 200k context window', - 'Advanced mathematical reasoning and problem-solving', - 'Superior code generation and debugging', - 'Complex document analysis and summarization', - 'Sophisticated data extraction and interpretation', - 'Multi-step reasoning tasks', - 'Advanced pattern recognition', - ], - strengths: [ - 'Exceptional context handling (>99% accuracy in NIAH tests)', - 'Strong performance in mathematical tasks (95.2% accuracy)', - 'Advanced code generation capabilities (68.4% success rate)', - 'Precise document summarization', - 'Focused and actionable responses', - 'Self-awareness in identifying artificial content', - 'Consistent performance across diverse tasks', - ], - weaknesses: [ - 'Occasional struggles with PDF data extraction', - 'Challenges with heat map interpretation', - 'Potential for hallucination in visual analysis', - 'May return errors for certain coding edge cases', - 'Higher latency compared to lighter models', - ], - recommendations: [ - 'Large-context processing applications', - 'Complex mathematical and analytical tasks', - 'Advanced software development projects', - 'Detailed document analysis and summarization', - 'Research and academic applications', - 'Enterprise-grade AI solutions', - 'Tasks requiring high accuracy and reliability', - ], - }, - }, - 'claude-3-sonnet': { - matches: ['claude-3-sonnet-20240229', 'claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20241022'], - searchTerms: ['claude 3 sonnet', 'claude-3-sonnet', 'sonnet', 'claude 3.5 sonnet'], - info: { - maxTokens: 200000, - releaseDate: '2024-03-04', - description: - 'Claude 3 Sonnet offers a strong balance of intelligence and speed, suitable for most use cases.', - tradeOffs: ['Lower cost than Opus', 'Slightly reduced capabilities compared to Opus'], - benchmarks: { - mmlu: 0.887, // 88.7% on MMLU - hellaswag: 0.89, // 89% on HellaSwag - bbh: 0.931, - }, - capabilities: [ - 'General reasoning and analysis', - 'Code generation and review', - 'Content creation and editing', - 'Task automation', - 'Data analysis', - ], - strengths: [ - 'Balanced performance profile', - 'Reliable output quality', - 'Good response speed', - 'Strong general knowledge', - 'Versatile across many tasks', - ], - weaknesses: [ - 'May need guidance on complex tasks', - 'Less specialized than Opus', - 'Moderate processing speed', - ], - recommendations: [ - 'General purpose development', - 'Content creation and editing', - 'Business analysis', - 'Educational applications', - 'Daily productivity tasks', - ], - }, - }, - 'claude-3-haiku': { - matches: ['claude-3-haiku-20240307', 'claude-3-5-haiku-20241022'], - searchTerms: ['claude 3 haiku', 'claude-3-haiku', 'haiku', 'claude 3.5 haiku'], - info: { - maxTokens: 200000, - releaseDate: '2024-03-04', - description: - 'Claude 3 Haiku is optimized for rapid response times and high throughput, delivering impressive speed while maintaining reliable performance. It excels in scenarios requiring quick interactions and efficient processing of straightforward tasks.', - tradeOffs: [ - 'Optimized for speed and efficiency', - 'Excellent performance-to-cost ratio', - 'Best suited for high-throughput applications', - 'Balance of speed and reliability', - ], - benchmarks: { - mmlu: 0.752, - hellaswag: 0.859, - bbh: 0.737, - }, - capabilities: [ - 'High-speed token generation (134 tokens/sec)', - 'Low latency responses (0.43s to first token)', - 'Efficient streaming support', - 'Function/tool calling', - 'JSON mode support', - 'Parallel query processing', - 'Context window handling up to 200k tokens', - ], - strengths: [ - 'Superior output speed (134.2 tokens/second)', - 'Minimal latency (0.43s TTFT)', - 'Consistent performance across context lengths', - 'Efficient resource utilization', - 'Cost-effective processing', - 'Reliable API features', - 'Stable performance over time', - ], - weaknesses: [ - 'Performance varies with input length', - 'Latency increases with context size', - 'Lower quality index compared to larger models', - 'Variable speed with parallel processing', - 'Response time sensitivity to input complexity', - ], - recommendations: [ - 'Real-time applications', - 'Customer service automation', - 'Quick content checks', - 'Simple queries and responses', - 'High-volume, straightforward tasks', - ], - }, - }, - 'claude-2': { - matches: ['claude-2', 'claude-2.0'], - searchTerms: ['claude 2', 'claude-2'], - info: { - maxTokens: 200000, - releaseDate: '2023-07-11', - description: - "Claude 2 is Anthropic's previous generation model, offering reliable performance for various tasks.", - tradeOffs: ['More affordable than Claude 3', 'Less capable than newer models'], - benchmarks: {}, - capabilities: [ - 'General text generation', - 'Basic analysis', - 'Code assistance', - 'Content creation', - 'Task automation', - ], - strengths: [ - 'Stable performance', - 'Reliable outputs', - 'Good general knowledge', - 'Cost-effective', - 'Proven track record', - ], - weaknesses: ['Older architecture', 'Limited advanced features', 'Less refined outputs'], - recommendations: [ - 'Legacy applications', - 'Basic automation', - 'General text processing', - 'Simple analysis tasks', - 'Standard content creation', - ], - }, - }, - 'claude-instant': { - matches: ['claude-instant-1', 'claude-instant-1.2'], - searchTerms: ['claude instant', 'claude-instant'], - info: { - maxTokens: 100000, - releaseDate: '2023-08-09', - description: "Claude Instant is Anthropic's faster, lighter previous generation model.", - tradeOffs: ['Fastest response times in Claude 2 series', 'Most affordable', 'Reduced capabilities'], - benchmarks: { - mmlu: 0.734, - }, - capabilities: [ - 'Quick responses', - 'Basic text processing', - 'Simple queries', - 'Lightweight tasks', - 'Efficient processing', - ], - strengths: [ - 'Fast processing speed', - 'Resource efficient', - 'Cost-effective', - 'Consistent performance', - 'Low latency', - ], - weaknesses: ['Basic capabilities only', 'Limited analysis depth', 'Simpler responses'], - recommendations: [ - 'Quick response systems', - 'Basic chatbots', - 'Simple automation', - 'High-volume processing', - 'Efficient text handling', - ], - }, - }, - 'claude-3.5-sonnet': { - matches: ['claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20241022'], - searchTerms: ['claude 3.5 sonnet', 'claude-3-5-sonnet'], - info: { - maxTokens: 200000, - releaseDate: '2024-06-20', - description: - "Claude 3.5 Sonnet is Anthropic's latest model, delivering enhanced performance with optimized speed and efficiency. It excels in graduate-level reasoning, undergraduate knowledge, and code generation while maintaining high throughput.", - tradeOffs: [ - 'Balanced performance-to-cost ratio', - 'Optimized for production workloads', - 'High throughput with moderate latency', - 'Strong accuracy with reasonable resource usage', - ], - benchmarks: { - mmlu: 0.887, - hellaswag: 0.89, - bbh: 0.931, - multilingual_math: 0.916, // 91.6% on multilingual math tasks - reasoning_over_text: 0.871, // 87.1% on reasoning over text - }, - capabilities: [ - 'Advanced graduate-level reasoning', - 'Strong undergraduate knowledge base', - 'Superior code generation and review', - 'Complex data extraction and analysis', - 'Multi-step problem solving', - 'High-accuracy classification tasks', - 'Efficient document processing', - ], - strengths: [ - 'Exceptional coding performance', - 'High precision in classification (85%)', - 'Strong data extraction capabilities', - 'Efficient throughput (~79 tokens/second)', - 'Reliable performance on complex tasks', - 'Excellent multilingual math processing', - 'Superior text reasoning abilities', - ], - weaknesses: [ - 'Lower performance on abstract reasoning puzzles', - 'Struggles with numerical and date-related questions', - 'May introduce regressions in certain classification scenarios', - 'Requires clear prompting for optimal performance', - 'Variable performance on complex extraction tasks', - ], - recommendations: [ - 'Production-grade applications requiring reliability', - 'Code generation and review systems', - 'Complex data extraction pipelines', - 'High-accuracy classification systems', - 'Document analysis and processing', - 'Educational and academic applications', - 'Enterprise-scale deployments', - ], - }, - }, - 'claude-3.5-haiku': { - matches: ['claude-3-5-haiku-20241022'], - searchTerms: ['claude 3.5 haiku', 'claude-3-5-haiku'], - info: { - maxTokens: 200000, - releaseDate: '2024-10-22', - description: - 'Claude 3.5 Haiku represents a significant advancement in high-throughput, cost-effective AI processing. It delivers enhanced performance over its predecessor while maintaining exceptional speed and efficiency, making it ideal for large-scale applications requiring quick responses.', - tradeOffs: [ - 'Optimized for maximum throughput', - 'Enhanced speed-to-performance ratio', - 'Improved cost efficiency', - 'Better balance of speed and accuracy', - ], - benchmarks: { - quality_index: 62, // Improved Quality Index over Claude 3 Haiku - throughput: 145, // tokens per second - ttft: 0.39, // Time to First Token in seconds - }, - capabilities: [ - 'Enhanced token generation speed (145 tokens/sec)', - 'Reduced latency (0.39s to first token)', - 'Improved parallel processing', - 'Advanced streaming capabilities', - 'Robust function calling', - 'Enhanced JSON mode reliability', - 'Efficient context handling up to 200k tokens', - 'Improved error handling', - ], - strengths: [ - 'Superior throughput (145 tokens/second)', - 'Minimal startup latency (0.39s TTFT)', - 'Enhanced stability under load', - 'Improved response consistency', - 'Better error recovery', - 'More reliable streaming', - 'Enhanced parallel processing capabilities', - 'Optimized resource utilization', - ], - weaknesses: [ - 'Performance degradation with very long contexts', - 'Variability in complex reasoning tasks', - 'May struggle with nuanced analysis', - 'Limited creative capabilities', - 'Reduced performance in edge cases', - ], - recommendations: [ - 'High-volume API services', - 'Real-time chat systems', - 'Large-scale data processing', - 'Streaming applications', - 'Cost-sensitive deployments', - 'Quick-response systems', - 'Parallel processing workflows', - 'Resource-constrained environments', - ], - }, - }, -} - -const reverseModelMap: { [key: string]: string } = {} - -for (const parentModel in modelDetails) { - const details = modelDetails[parentModel] - details.matches.forEach((modelName) => { - reverseModelMap[modelName] = parentModel - }) -} - -export const anthropicProvider = { - costs, - modelDetails, - reverseModelMap, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts deleted file mode 100644 index 851b03f498861..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/awsBedrock/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'meta.llama3-8b-instruct-v1%3A0', - }, - cost: { - prompt_token: 0.00022, - completion_token: 0.00072, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts deleted file mode 100644 index 6fc47a922a0ab..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/azure/index.ts +++ /dev/null @@ -1,98 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'gpt-4-turbo-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-45-turbo', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt4-turbo-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-preview-1106', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-35-turbo-1106', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt35', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-35-turbo-0613', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-35-16k', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-vision', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts deleted file mode 100644 index 7d914cfe13d27..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/cohere/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'cohere/command-r', - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000015, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts deleted file mode 100644 index c5828d46b5f86..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/fireworks/index.ts +++ /dev/null @@ -1,204 +0,0 @@ -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/mixtral-8x7b-instruct', - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000005, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/mixtral-8x22b-instruct', - }, - cost: { - prompt_token: 0.0000012, - completion_token: 0.0000012, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/yi-large', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000003, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/sd3', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/sd3-medium', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/playground-v2-1024px-aesthetic', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/SSD-1B', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/japanese-stable-diffusion-xl', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/sd3-turbo', - }, - cost: { - prompt_token: 0.00013, - completion_token: 0.00013, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/sd3-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/sd3-medium-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/playground-v2-1024px-aesthetic-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/SSD-1B-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/japanese-stable-diffusion-xl-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/sd3-turbo-ControlNet', - }, - cost: { - prompt_token: 0.0002, - completion_token: 0.0002, - }, - }, - { - model: { - operator: 'equals', - value: 'accounts/fireworks/models/llama-v3p1-405b-instruct', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000003, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts deleted file mode 100644 index 8e07a6d1bc303..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/google/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'includes', - value: 'gemini-pro', - }, - cost: { - prompt_token: 0.000000125, - completion_token: 0.000000375, - }, - }, - { - model: { - operator: 'equals', - value: 'gemini-1.0-pro-vision-001', - }, - cost: { - prompt_token: 0.000000125, - completion_token: 0.000000375, - }, - }, - { - model: { - operator: 'equals', - value: 'gemini-1.0-pro', - }, - cost: { - prompt_token: 0.000000125, - completion_token: 0.000000375, - }, - }, - { - model: { - operator: 'includes', - value: 'gemini-1.5-flash', - }, - cost: { - prompt_token: 0.00000035, - completion_token: 0.00000105, - }, - }, - { - model: { - operator: 'equals', - value: 'gemini-flash-1.5-8b', - }, - cost: { - prompt_token: 3.75e-8, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: 'includes', - value: 'gemini-1.5-pro', - }, - cost: { - prompt_token: 0.0000035, - completion_token: 0.0000105, - }, - }, - { - model: { - operator: 'equals', - value: 'claude-3-5-sonnet-v2@20241022', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000015, - }, - showInPlayground: false, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts deleted file mode 100644 index 553e86b20e94e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/groq/index.ts +++ /dev/null @@ -1,89 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'llama2-70b-4096', - }, - cost: { - prompt_token: 0.0000007, - completion_token: 0.0000008, - }, - }, - { - model: { - operator: 'equals', - value: 'mixtral-8x7b-32768', - }, - cost: { - prompt_token: 0.00000024, - completion_token: 0.00000024, - }, - }, - { - model: { - operator: 'equals', - value: 'gemma-7b-it', - }, - cost: { - prompt_token: 0.00000007, - completion_token: 0.00000007, - }, - }, - { - model: { - operator: 'equals', - value: 'gemma2-9b-it', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: 'equals', - value: 'llama3-70b-8192', - }, - cost: { - prompt_token: 0.00000059, - completion_token: 0.00000079, - }, - }, - { - model: { - operator: 'equals', - value: 'llama3-8b-8192', - }, - cost: { - prompt_token: 0.00000005, - completion_token: 0.00000008, - }, - }, - { - model: { - operator: 'equals', - value: 'llama3-groq-70b-8192-tool-use-preview', - }, - cost: { - prompt_token: 0.00000089, - completion_token: 0.00000089, - }, - }, - { - model: { - operator: 'equals', - value: 'llama3-groq-8b-8192-tool-use-preview', - }, - cost: { - prompt_token: 0.00000019, - completion_token: 0.00000019, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts deleted file mode 100644 index e56f6089dc2a8..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mappings.ts +++ /dev/null @@ -1,234 +0,0 @@ -import { costs as fineTunedOpenAICosts } from './openai/fine-tuned-models' -import { costs as togetherAIChatCosts } from './togetherai/chat' -import { costs as togetherAIChatLlamaCosts } from './togetherai/chat/llama' -import { costs as togetherAICompletionCosts } from './togetherai/completion' -import { costs as togetherAICompletionLlamaCosts } from './togetherai/completion' -import { costs as azureCosts } from './azure' -import { costs as googleCosts } from './google' -import { costs as cohereCosts } from './cohere' -import { costs as mistralCosts } from './mistral' -import { costs as openRouterCosts } from './openrouter' -import { costs as fireworksAICosts } from './fireworks' -import { costs as groqCosts } from './groq' -import { ModelDetailsMap, ModelRow } from '../interfaces/Cost' -import { costs as qstashCosts } from './qstash' -import { openAIProvider } from './openai' -import { anthropicProvider } from './anthropic' -import { costs as awsBedrockCosts } from './awsBedrock' - -const openAiPattern = /^https:\/\/api\.openai\.com/ -const anthropicPattern = /^https:\/\/api\.anthropic\.com/ -const azurePattern = /^(https?:\/\/)?([^.]*\.)?(openai\.azure\.com|azure-api\.net)(\/.*)?$/ -const localProxyPattern = /^http:\/\/127\.0\.0\.1:\d+\/v\d+\/?$/ -const heliconeProxyPattern = /^https:\/\/oai\.hconeai\.com/ -const amdbartekPattern = /^https:\/\/.*\.amdbartek\.dev/ -const anyscalePattern = /^https:\/\/api\.endpoints\.anyscale\.com/ -const cloudflareAiGatewayPattern = /^https:\/\/gateway\.ai\.cloudflare\.com/ -const twoYFV = /^https:\/\/api\.2yfv\.com/ -const togetherPattern = /^https:\/\/api\.together\.xyz/ -const lemonFox = /^https:\/\/api\.lemonfox\.ai/ -const fireworks = /^https:\/\/api\.fireworks\.ai/ -const perplexity = /^https:\/\/api\.perplexity\.ai/ -const googleapis = /^https:\/\/(.*\.)?googleapis\.com/ -// openrouter.ai or api.openrouter.ai -const openRouter = /^https:\/\/(api\.)?openrouter\.ai/ -//api.wisdominanutshell.academy -const wisdomInANutshell = /^https:\/\/api\.wisdominanutshell\.academy/ -// api.groq.com -const groq = /^https:\/\/api\.groq\.com/ -// cohere.ai -const cohere = /^https:\/\/api\.cohere\.ai/ -// api.mistral.ai -const mistral = /^https:\/\/api\.mistral\.ai/ -// https://api.deepinfra.com -const deepinfra = /^https:\/\/api\.deepinfra\.com/ -//https://qstash.upstash.io/llm -const qstash = /^https:\/\/qstash\.upstash\.io/ -//https://www.firecrawl.dev/ -const firecrawl = /^https:\/\/api\.firecrawl\.dev/ -// https://bedrock-runtime.{some-region}.amazonaws.com/{something-after} -const awsBedrock = /^https:\/\/bedrock-runtime\.[a-z0-9-]+\.amazonaws\.com\/.*/ - -export const providersNames = [ - 'OPENAI', - 'ANTHROPIC', - 'AZURE', - 'LOCAL', - 'HELICONE', - 'AMDBARTEK', - 'ANYSCALE', - 'CLOUDFLARE', - '2YFV', - 'TOGETHER', - 'LEMONFOX', - 'FIREWORKS', - 'PERPLEXITY', - 'GOOGLE', - 'OPENROUTER', - 'WISDOMINANUTSHELL', - 'GROQ', - 'COHERE', - 'MISTRAL', - 'DEEPINFRA', - 'QSTASH', - 'FIRECRAWL', - 'AWS', -] as const - -export type ProviderName = (typeof providersNames)[number] - -export type ModelNames = (typeof modelNames)[number] - -export const providers: { - pattern: RegExp - provider: ProviderName - costs?: ModelRow[] - modelDetails?: ModelDetailsMap -}[] = [ - { - pattern: openAiPattern, - provider: 'OPENAI', - costs: [...openAIProvider.costs, ...fineTunedOpenAICosts], - modelDetails: openAIProvider.modelDetails, - }, - { - pattern: anthropicPattern, - provider: 'ANTHROPIC', - costs: anthropicProvider.costs, - modelDetails: anthropicProvider.modelDetails, - }, - { - pattern: azurePattern, - provider: 'AZURE', - costs: [...azureCosts, ...openAIProvider.costs], - }, - { - pattern: localProxyPattern, - provider: 'LOCAL', - }, - { - pattern: heliconeProxyPattern, - provider: 'HELICONE', - }, - { - pattern: amdbartekPattern, - provider: 'AMDBARTEK', - }, - { - pattern: anyscalePattern, - provider: 'ANYSCALE', - }, - { - pattern: cloudflareAiGatewayPattern, - provider: 'CLOUDFLARE', - }, - { - pattern: twoYFV, - provider: '2YFV', - }, - { - pattern: togetherPattern, - provider: 'TOGETHER', - costs: [ - ...togetherAIChatCosts, - ...togetherAIChatLlamaCosts, - ...togetherAICompletionCosts, - ...togetherAICompletionLlamaCosts, - ], - }, - { - pattern: lemonFox, - provider: 'LEMONFOX', - }, - { - pattern: fireworks, - provider: 'FIREWORKS', - costs: fireworksAICosts, - }, - { - pattern: perplexity, - provider: 'PERPLEXITY', - }, - { - pattern: googleapis, - provider: 'GOOGLE', - costs: googleCosts, - }, - { - pattern: openRouter, - provider: 'OPENROUTER', - costs: openRouterCosts, - }, - { - pattern: wisdomInANutshell, - provider: 'WISDOMINANUTSHELL', - }, - { - pattern: groq, - provider: 'GROQ', - costs: groqCosts, - }, - { - pattern: cohere, - provider: 'COHERE', - costs: cohereCosts, - }, - { - pattern: mistral, - provider: 'MISTRAL', - costs: mistralCosts, - }, - { - pattern: deepinfra, - provider: 'DEEPINFRA', - }, - { - pattern: qstash, - provider: 'QSTASH', - costs: qstashCosts, - }, - { - pattern: firecrawl, - provider: 'FIRECRAWL', - }, - { - pattern: awsBedrock, - provider: 'AWS', - costs: awsBedrockCosts, - }, -] - -export const playgroundModels: { - name: string - provider: ProviderName -}[] = - (providers - .map((provider) => { - return provider.costs - ?.filter((cost) => cost.showInPlayground) - .map((cost) => ({ - name: cost.model.value, - provider: provider.provider, - })) - }) - .flat() - .filter((model) => model !== undefined) as { - name: string - provider: ProviderName - }[]) ?? [] - -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -export const defaultProvider = providers.find((provider) => provider.provider === 'OPENAI')! - -export const allCosts = providers.flatMap((provider) => provider.costs ?? []) - -export const approvedDomains = providers.map((provider) => provider.pattern) - -export const modelNames = allCosts.map((cost) => cost.model.value) - -export const parentModelNames = providers.reduce((acc, provider) => { - if (provider.modelDetails) { - acc[provider.provider] = Object.keys(provider.modelDetails) - } - return acc -}, {} as Record) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts deleted file mode 100644 index 6f1209c3af636..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/mistral/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'open-mistral-7b', - }, - cost: { - prompt_token: 0.00000025, - completion_token: 0.00000025, - }, - }, - { - model: { - operator: 'equals', - value: 'open-mixtral-8x7b', - }, - cost: { - prompt_token: 0.0000007, - completion_token: 0.0000007, - }, - }, - { - model: { - operator: 'equals', - value: 'mistral-small-latest', - }, - cost: { - prompt_token: 0.000002, - completion_token: 0.000006, - }, - }, - { - model: { - operator: 'equals', - value: 'mistral-medium-latest', - }, - cost: { - prompt_token: 0.0000027, - completion_token: 0.0000081, - }, - }, - { - model: { - operator: 'equals', - value: 'mistral-large-latest', - }, - cost: { - prompt_token: 0.000008, - completion_token: 0.000024, - }, - }, - { - model: { - operator: 'equals', - value: 'mistral-embed', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts deleted file mode 100644 index 822f26c78da09..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/fine-tuned-models.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'startsWith', - value: 'ft:gpt-3.5-turbo-', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000006, - }, - }, - { - model: { - operator: 'startsWith', - value: 'ft:gpt-4o-mini-2024-07-18:', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000012, - }, - }, - { - model: { - operator: 'startsWith', - value: 'ft:gpt-4o-2024-08-06:', - }, - cost: { - prompt_token: 0.00000375, - completion_token: 0.000015, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts deleted file mode 100644 index c17407c79b208..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openai/index.ts +++ /dev/null @@ -1,817 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelDetailsMap, ModelRow } from '../../interfaces/Cost' - -const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'ada', - }, - cost: { - prompt_token: 0.0000004, - completion_token: 0.0000004, - }, - }, - { - model: { - operator: 'equals', - value: 'text-ada-001', - }, - cost: { - prompt_token: 0.0000004, - completion_token: 0.0000004, - }, - }, - { - model: { - operator: 'equals', - value: 'babbage', - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000005, - }, - }, - { - model: { - operator: 'equals', - value: 'curie', - }, - cost: { - prompt_token: 0.000002, - completion_token: 0.000002, - }, - }, - { - model: { - operator: 'equals', - value: 'text-curie-001', - }, - cost: { - prompt_token: 0.000002, - completion_token: 0.000002, - }, - }, - { - model: { - operator: 'equals', - value: 'davinci', - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: 'equals', - value: 'text-davinci-001', - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: 'equals', - value: 'text-davinci-002', - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: 'equals', - value: 'text-davinci-003', - }, - cost: { - prompt_token: 0.00002, - completion_token: 0.00002, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-0301', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-35-turbo', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-1106', - }, - cost: { - prompt_token: 0.000001, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-instruct', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-instruct-0914', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4', - }, - cost: { - prompt_token: 0.00003, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-0314', - }, - cost: { - prompt_token: 0.00003, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-0613', - }, - cost: { - prompt_token: 0.00003, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-32k', - }, - cost: { - prompt_token: 0.00006, - completion_token: 0.00012, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-32k-0314', - }, - cost: { - prompt_token: 0.00006, - completion_token: 0.00012, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-32k-0613', - }, - cost: { - prompt_token: 0.00006, - completion_token: 0.00012, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-0125-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-1106-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-1106-vision-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4o', - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000015, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4o-2024-05-13', - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000015, - }, - showInPlayground: true, - }, - - { - model: { - operator: 'equals', - value: 'gpt-4o-mini', - }, - cost: { - prompt_token: 0.00000015, - completion_token: 0.0000006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4o-mini-2024-07-18', - }, - cost: { - prompt_token: 0.00000015, - completion_token: 0.0000006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-0613', - }, - cost: { - prompt_token: 0.0000015, - completion_token: 0.000002, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-35-turbo-16k', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-16k-0613', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-3.5-turbo-0125', - }, - cost: { - prompt_token: 0.0000005, - completion_token: 0.0000015, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-turbo', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-turbo-2024-04-09', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-turbo-0125-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'text-embedding-ada-002', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'text-embedding-ada', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'text-embedding-ada-002-v2', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'text-embedding-3-small', - }, - cost: { - prompt_token: 0.00000002, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'text-embedding-3-large', - }, - cost: { - prompt_token: 0.00000013, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-4-vision-preview', - }, - cost: { - prompt_token: 0.00001, - completion_token: 0.00003, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-35-turbo-16k-0613', - }, - showInPlayground: true, - cost: { - prompt_token: 0.000003, - completion_token: 0.000004, - }, - }, - { - model: { - operator: 'equals', - value: 'gpt-4o-2024-08-06', - }, - showInPlayground: true, - cost: { - prompt_token: 0.0000025, - completion_token: 0.00001, - }, - }, - { - model: { - operator: 'equals', - value: 'o1-preview', - }, - cost: { - prompt_token: 0.000015, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'o1-preview-2024-09-12', - }, - cost: { - prompt_token: 0.000015, - completion_token: 0.00006, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'o1-mini', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000012, - }, - showInPlayground: true, - }, - { - model: { - operator: 'equals', - value: 'o1-mini-2024-09-12', - }, - cost: { - prompt_token: 0.000003, - completion_token: 0.000012, - }, - showInPlayground: true, - }, -] - -const modelDetails: ModelDetailsMap = { - 'gpt-4': { - matches: [ - 'gpt-4', - 'gpt-4-0314', - 'gpt-4-0613', - 'gpt-4-32k', - 'gpt-4-32k-0314', - 'gpt-4-0125-preview', - 'gpt-4-1106-preview', - ], - searchTerms: ['gpt 4', 'gpt-4', 'chat gpt 4', '4', 'chat 4'], - info: { - maxTokens: 8192, - releaseDate: '2024-03-13', - description: - 'GPT-4 is the latest and most advanced model in the GPT series, demonstrating sophisticated capabilities in complex reasoning, theory of mind, and narrative understanding.', - tradeOffs: [ - 'More expensive than GPT-3.5 Turbo', - 'Performance can vary even with temperature=0', - 'May struggle with world-building in absurd scenarios', - ], - benchmarks: { - mmlu: 0.864, - ifeval: 0.67, - hellaswag: 0.953, - bbh: 0.831, - }, - capabilities: [ - 'Advanced reasoning', - 'Theory of mind', - 'Complex narrative understanding', - 'Chain-of-thought processing', - ], - strengths: [ - 'Strong performance in theory of mind tasks', - 'Ability to track and reason about multiple entities', - 'Can explain its reasoning process', - ], - weaknesses: [ - 'May struggle with highly abstract or unrealistic scenarios', - 'Output can be non-deterministic even at temperature=0', - "Performance depends on how 'normal' the scenario is", - ], - recommendations: [ - 'Complex reasoning and analysis tasks', - 'Professional content creation and editing', - 'Advanced coding and technical problem-solving', - 'Multi-step planning and strategy development', - 'Academic research and paper writing', - 'Detailed technical documentation', - ], - }, - }, - 'gpt-4o': { - matches: ['gpt-4o', 'gpt-4o-2024-05-13'], - searchTerms: ['gpt 4o', 'gpt-4o', 'chat gpt 4o', '4o', 'chat 4o'], - info: { - maxTokens: 128000, - releaseDate: '2024-05-13', - description: - 'GPT-4 Optimized (GPT-4o) is designed for high performance in reasoning, creativity, and technical tasks while maintaining consistent output quality.', - tradeOffs: [ - 'Higher resource requirements for optimal performance', - 'Increased cost per token for premium capabilities', - 'May require more specific prompting for best results', - 'Larger context window increases memory usage', - 'Response time varies with complexity of task', - ], - benchmarks: { - mmlu: 0.887, - ifeval: 0.902, - hellaswag: 0.942, - bbh: 0.913, - }, - capabilities: [ - 'Advanced reasoning and problem-solving', - 'Strong coding abilities', - 'Mathematical computation', - 'Creative content generation', - 'Technical analysis', - ], - strengths: [ - 'Consistent output quality', - 'Strong technical performance', - 'Reliable response generation', - 'Broad knowledge base', - ], - weaknesses: [ - 'May produce overconfident responses', - 'Requires clear prompt engineering', - 'Performance varies with task complexity', - ], - recommendations: [ - 'Technical and analytical projects', - 'Software development tasks', - 'Mathematical problem-solving', - 'Content creation and analysis', - ], - }, - }, - 'gpt-4o-mini': { - matches: ['gpt-4o-mini', 'gpt-4o-mini-2024-07-18'], - searchTerms: ['gpt 4o mini', 'gpt-4o-mini', 'chat gpt 4o mini', 'chat 4o mini'], - info: { - maxTokens: 128000, - releaseDate: '2024-07-18', - description: - 'GPT-4o Mini is a cost-optimized variant of GPT-4o, designed for high-efficiency processing while maintaining strong performance. It excels in rapid inference and resource-efficient operations, making it ideal for production deployments requiring a balance of cost and capability.', - tradeOffs: [ - 'Lower cost per token compared to GPT-4o', - 'Reduced latency for faster processing', - 'Smaller model size for efficient deployment', - 'Optimized for common tasks and queries', - 'Balance of performance and resource usage', - ], - benchmarks: { - mmlu: 0.82, - ifeval: 0.872, - hellaswag: 0.885, - truthfulqa: 0.793, - gsm8k: 0.846, - }, - capabilities: [ - 'Efficient natural language processing', - 'Quick response generation', - 'Code understanding and generation', - 'Task-specific optimization', - 'Resource-efficient inference', - 'Consistent output quality', - 'Scalable deployment support', - ], - strengths: [ - 'Cost-effective processing', - 'Low latency responses', - 'Efficient resource utilization', - 'Strong performance on common tasks', - 'Reliable output quality', - 'Optimized for production use', - 'Excellent scaling characteristics', - ], - weaknesses: [ - 'Lower performance on complex reasoning', - 'Reduced capability in specialized domains', - 'Limited context understanding vs larger models', - 'May struggle with nuanced tasks', - 'Less suitable for cutting-edge research', - ], - recommendations: [ - 'High-volume production deployments', - 'Cost-sensitive applications', - 'Real-time processing needs', - 'Standard NLP tasks', - 'Efficient API integrations', - 'Resource-constrained environments', - 'Scalable system architectures', - ], - }, - }, - 'gpt-4-turbo': { - matches: ['gpt-4-turbo', 'gpt-4-turbo-2024-04-09', 'gpt-4-turbo-0125-preview'], - searchTerms: ['gpt 4 turbo', 'gpt-4-turbo', 'chat gpt 4 turbo', '4 turbo', 'chat 4 turbo'], - info: { - maxTokens: 128000, - releaseDate: '2024-04-09', - description: 'GPT-4 Turbo is a more recent model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: { - bbh: 0.876, - hellaswag: 0.942, - mmlu: 0.865, - }, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - 'gpt-3.5-turbo': { - matches: [ - 'gpt-3.5-turbo', - 'gpt-3.5-turbo-0301', - 'gpt-35-turbo', - 'gpt-3.5-turbo-1106', - 'gpt-3.5-turbo-instruct', - 'gpt-3.5-turbo-instruct-0914', - 'gpt-3.5-turbo-0613', - 'gpt-3.5-turbo-16k', - 'gpt-3.5-turbo-16k-0613', - 'gpt-35-turbo-16k', - 'gpt-35-turbo-16k-0613', - 'gpt-3.5-turbo-0125', - ], - searchTerms: ['gpt 3.5', 'gpt-3.5', 'chat gpt 3.5', 'chat 3.5'], - info: { - maxTokens: 16385, - releaseDate: '2023-11-06', - description: 'GPT-3.5 Turbo is a more recent model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: { - hellaswag: 0.855, - mmlu: 0.698, - }, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - 'text-embedding-3': { - matches: ['text-embedding-3-small', 'text-embedding-3-large'], - searchTerms: ['text embedding 3', 'text-embedding-3'], - info: { - maxTokens: 3072, - releaseDate: '2022-12-15', - description: 'Text Embedding 3 is a model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: {}, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - 'text-embedding-ada': { - matches: ['text-embedding-ada-002', 'text-embedding-ada', 'text-embedding-ada-002-v2'], - searchTerms: ['text embedding ada', 'text-embedding-ada'], - info: { - maxTokens: 1536, - releaseDate: '2022-12-15', - description: 'Text Embedding Ada is a model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: {}, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - 'o1-preview': { - matches: ['o1-preview', 'o1-preview-2024-09-12'], - searchTerms: ['o1 preview', 'o1-preview', 'chat gpt o1', 'chat gpt o1 preview', 'chat o1', 'chat o1 preview'], - info: { - maxTokens: 128000, - releaseDate: '2024-09-12', - description: 'O1 Preview is a model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: { - mmlu: 0.908, - }, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - 'o1-mini': { - matches: ['o1-mini', 'o1-mini-2024-09-12'], - searchTerms: ['o1 mini', 'o1-mini', 'chat gpt o1 mini', 'chat o1 mini'], - info: { - maxTokens: 128000, - releaseDate: '2024-09-12', - description: 'O1 Mini is a model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: {}, - capabilities: [], - strengths: [], - weaknesses: [], - recommendations: [], - }, - }, - 'gpt-4-vision-preview': { - matches: ['gpt-4-vision-preview', 'gpt-4-1106-vision-preview'], - searchTerms: ['gpt 4 vision', 'gpt-4-vision', 'gpt 4 vision preview', 'chat gpt 4 vision', 'chat 4 vision'], - info: { - maxTokens: 128000, - releaseDate: '2023-11-06', - description: 'GPT-4 Vision is a model that offers a balance between cost and performance.', - tradeOffs: ['More expensive than GPT-3.5 Turbo'], - benchmarks: { - bbh: 0.876, - hellaswag: 0.942, - mmlu: 0.865, - }, - capabilities: ['Vision'], - strengths: ['Can process images'], - weaknesses: ['More expensive than GPT-3.5 Turbo'], - recommendations: ['Use for tasks that require image processing'], - }, - }, -} - -const reverseModelMap: { [key: string]: string } = {} - -for (const parentModel in modelDetails) { - const details = modelDetails[parentModel] - details.matches.forEach((modelName) => { - reverseModelMap[modelName] = parentModel - }) -} - -export const openAIProvider = { - costs, - modelDetails, - reverseModelMap, -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts deleted file mode 100644 index a92069e075e8f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/openrouter/index.ts +++ /dev/null @@ -1,2159 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'sao10k/l3.3-euryale-70b', - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'inflatebot/mn-mag-mell-r1', - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/o1', - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'eva-unit-01/eva-llama-3.33-70b', - }, - cost: { - prompt_token: 4e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'x-ai/grok-2-vision-1212', - }, - cost: { - prompt_token: 2e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'x-ai/grok-2-1212', - }, - cost: { - prompt_token: 2e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r7b-12-2024', - }, - cost: { - prompt_token: 3.75e-8, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-2.0-flash-exp:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-exp-1206:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.3-70b-instruct', - }, - cost: { - prompt_token: 1.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'amazon/nova-lite-v1', - }, - cost: { - prompt_token: 6e-8, - completion_token: 2.4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'amazon/nova-micro-v1', - }, - cost: { - prompt_token: 3.5e-8, - completion_token: 1.4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'amazon/nova-pro-v1', - }, - cost: { - prompt_token: 8e-7, - completion_token: 3.2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwq-32b-preview', - }, - cost: { - prompt_token: 1.3e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-exp-1121:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'google/learnlm-1.5-pro-experimental:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'eva-unit-01/eva-qwen-2.5-72b', - }, - cost: { - prompt_token: 4e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o-2024-11-20', - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-large-2411', - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-large-2407', - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/pixtral-large-2411', - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'x-ai/grok-vision-beta', - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-exp-1114:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'infermatic/mn-inferor-12b', - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2.5-coder-32b-instruct', - }, - cost: { - prompt_token: 8e-8, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'raifle/sorcererlm-8x22b', - }, - cost: { - prompt_token: 4.5e-6, - completion_token: 4.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'eva-unit-01/eva-qwen-2.5-32b', - }, - cost: { - prompt_token: 2.6e-6, - completion_token: 3.4e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'thedrummer/unslopnemo-12b', - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-haiku-20241022:beta', - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-haiku-20241022', - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-haiku:beta', - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-haiku', - }, - cost: { - prompt_token: 8e-7, - completion_token: 4e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'neversleep/llama-3.1-lumimaid-70b', - }, - cost: { - prompt_token: 3.375e-6, - completion_token: 4.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthracite-org/magnum-v4-72b', - }, - cost: { - prompt_token: 1.875e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-sonnet:beta', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-sonnet', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'x-ai/grok-beta', - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/ministral-8b', - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/ministral-3b', - }, - cost: { - prompt_token: 4e-8, - completion_token: 4e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2.5-7b-instruct', - }, - cost: { - prompt_token: 2.7e-7, - completion_token: 2.7e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'nvidia/llama-3.1-nemotron-70b-instruct', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'inflection/inflection-3-pi', - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'inflection/inflection-3-productivity', - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-flash-1.5-8b', - }, - cost: { - prompt_token: 3.75e-8, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'anthracite-org/magnum-v2-72b', - }, - cost: { - prompt_token: 3e-6, - completion_token: 3e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'liquid/lfm-40b', - }, - cost: { - prompt_token: 1.5e-7, - completion_token: 1.5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'thedrummer/rocinante-12b', - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-3b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-3b-instruct', - }, - cost: { - prompt_token: 1.8e-8, - completion_token: 3e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-1b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-1b-instruct', - }, - cost: { - prompt_token: 1e-8, - completion_token: 2e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-90b-vision-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-90b-vision-instruct', - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-11b-vision-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.2-11b-vision-instruct', - }, - cost: { - prompt_token: 5.5e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2.5-72b-instruct', - }, - cost: { - prompt_token: 2.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2-vl-72b-instruct', - }, - cost: { - prompt_token: 4e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'neversleep/llama-3.1-lumimaid-8b', - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/o1-mini-2024-09-12', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.2e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/o1-preview', - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/o1-preview-2024-09-12', - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/o1-mini', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.2e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/pixtral-12b', - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r-08-2024', - }, - cost: { - prompt_token: 1.425e-7, - completion_token: 5.7e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r-plus-08-2024', - }, - cost: { - prompt_token: 2.375e-6, - completion_token: 9.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2-vl-7b-instruct', - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-flash-1.5-exp', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'sao10k/l3.1-euryale-70b', - }, - cost: { - prompt_token: 3.5e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-flash-1.5-8b-exp', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'ai21/jamba-1-5-large', - }, - cost: { - prompt_token: 2e-6, - completion_token: 8e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'ai21/jamba-1-5-mini', - }, - cost: { - prompt_token: 2e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/phi-3.5-mini-128k-instruct', - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'nousresearch/hermes-3-llama-3.1-70b', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'nousresearch/hermes-3-llama-3.1-405b', - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3.1-sonar-huge-128k-online', - }, - cost: { - prompt_token: 5e-6, - completion_token: 5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/chatgpt-4o-latest', - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'sao10k/l3-lunaris-8b', - }, - cost: { - prompt_token: 3e-8, - completion_token: 6e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'aetherwiing/mn-starcannon-12b', - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o-2024-08-06', - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-405b', - }, - cost: { - prompt_token: 2e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'nothingiisreal/mn-celeste-12b', - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3.1-sonar-small-128k-chat', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-pro-1.5-exp', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3.1-sonar-large-128k-chat', - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3.1-sonar-large-128k-online', - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3.1-sonar-small-128k-online', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-405b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-405b-instruct', - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-405b-instruct:nitro', - }, - cost: { - prompt_token: 1.462e-5, - completion_token: 1.462e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-8b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-8b-instruct', - }, - cost: { - prompt_token: 2e-8, - completion_token: 5e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-70b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-70b-instruct', - }, - cost: { - prompt_token: 1.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3.1-70b-instruct:nitro', - }, - cost: { - prompt_token: 3.25e-6, - completion_token: 3.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-nemo', - }, - cost: { - prompt_token: 4e-8, - completion_token: 9e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/codestral-mamba', - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 2.5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o-mini', - }, - cost: { - prompt_token: 1.5e-7, - completion_token: 6e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o-mini-2024-07-18', - }, - cost: { - prompt_token: 1.5e-7, - completion_token: 6e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2-7b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2-7b-instruct', - }, - cost: { - prompt_token: 5.4e-8, - completion_token: 5.4e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemma-2-27b-it', - }, - cost: { - prompt_token: 2.7e-7, - completion_token: 2.7e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'alpindale/magnum-72b', - }, - cost: { - prompt_token: 1.875e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemma-2-9b-it:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemma-2-9b-it', - }, - cost: { - prompt_token: 3e-8, - completion_token: 6e-8, - }, - }, - { - model: { - operator: 'equals', - value: '01-ai/yi-large', - }, - cost: { - prompt_token: 3e-6, - completion_token: 3e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'ai21/jamba-instruct', - }, - cost: { - prompt_token: 5e-7, - completion_token: 7e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-sonnet-20240620:beta', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3.5-sonnet-20240620', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'sao10k/l3-euryale-70b', - }, - cost: { - prompt_token: 3.5e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'cognitivecomputations/dolphin-mixtral-8x22b', - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'qwen/qwen-2-72b-instruct', - }, - cost: { - prompt_token: 3.4e-7, - completion_token: 3.9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-7b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-7b-instruct', - }, - cost: { - prompt_token: 3e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-7b-instruct:nitro', - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-7b-instruct-v0.3', - }, - cost: { - prompt_token: 3e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'nousresearch/hermes-2-pro-llama-3-8b', - }, - cost: { - prompt_token: 3e-8, - completion_token: 3e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/phi-3-mini-128k-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/phi-3-mini-128k-instruct', - }, - cost: { - prompt_token: 1e-7, - completion_token: 1e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/phi-3-medium-128k-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/phi-3-medium-128k-instruct', - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'neversleep/llama-3-lumimaid-70b', - }, - cost: { - prompt_token: 3.375e-6, - completion_token: 4.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-flash-1.5', - }, - cost: { - prompt_token: 7.5e-8, - completion_token: 3e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3-sonar-large-32k-online', - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'deepseek/deepseek-chat', - }, - cost: { - prompt_token: 1.4e-7, - completion_token: 2.8e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3-sonar-small-32k-chat', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'perplexity/llama-3-sonar-large-32k-chat', - }, - cost: { - prompt_token: 1e-6, - completion_token: 1e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o-2024-05-13', - }, - cost: { - prompt_token: 5e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-guard-2-8b', - }, - cost: { - prompt_token: 1.8e-7, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o', - }, - cost: { - prompt_token: 2.5e-6, - completion_token: 1e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4o:extended', - }, - cost: { - prompt_token: 6e-6, - completion_token: 1.8e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'neversleep/llama-3-lumimaid-8b:extended', - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'neversleep/llama-3-lumimaid-8b', - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3-8b-instruct:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3-8b-instruct', - }, - cost: { - prompt_token: 3e-8, - completion_token: 6e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3-8b-instruct:extended', - }, - cost: { - prompt_token: 1.875e-7, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3-8b-instruct:nitro', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3-70b-instruct', - }, - cost: { - prompt_token: 2.3e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-3-70b-instruct:nitro', - }, - cost: { - prompt_token: 7.92e-7, - completion_token: 7.92e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mixtral-8x22b-instruct', - }, - cost: { - prompt_token: 9e-7, - completion_token: 9e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/wizardlm-2-8x22b', - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'microsoft/wizardlm-2-7b', - }, - cost: { - prompt_token: 5.5e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-pro-1.5', - }, - cost: { - prompt_token: 1.25e-6, - completion_token: 5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-turbo', - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r-plus', - }, - cost: { - prompt_token: 2.85e-6, - completion_token: 1.425e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r-plus-04-2024', - }, - cost: { - prompt_token: 2.85e-6, - completion_token: 1.425e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'databricks/dbrx-instruct', - }, - cost: { - prompt_token: 1.08e-6, - completion_token: 1.08e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'sophosympatheia/midnight-rose-70b', - }, - cost: { - prompt_token: 8e-7, - completion_token: 8e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command', - }, - cost: { - prompt_token: 9.5e-7, - completion_token: 1.9e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r', - }, - cost: { - prompt_token: 4.75e-7, - completion_token: 1.425e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3-haiku:beta', - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 1.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3-haiku', - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 1.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3-opus:beta', - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 7.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3-opus', - }, - cost: { - prompt_token: 1.5e-5, - completion_token: 7.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3-sonnet:beta', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-3-sonnet', - }, - cost: { - prompt_token: 3e-6, - completion_token: 1.5e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'cohere/command-r-03-2024', - }, - cost: { - prompt_token: 4.75e-7, - completion_token: 1.425e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-large', - }, - cost: { - prompt_token: 2e-6, - completion_token: 6e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-3.5-turbo-0613', - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-turbo-preview', - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'nousresearch/nous-hermes-2-mixtral-8x7b-dpo', - }, - cost: { - prompt_token: 5.4e-7, - completion_token: 5.4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-small', - }, - cost: { - prompt_token: 2e-7, - completion_token: 6e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-tiny', - }, - cost: { - prompt_token: 2.5e-7, - completion_token: 2.5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-medium', - }, - cost: { - prompt_token: 2.75e-6, - completion_token: 8.1e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-7b-instruct-v0.2', - }, - cost: { - prompt_token: 1.8e-7, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'cognitivecomputations/dolphin-mixtral-8x7b', - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-pro-vision', - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'google/gemini-pro', - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mixtral-8x7b', - }, - cost: { - prompt_token: 5.4e-7, - completion_token: 5.4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mixtral-8x7b-instruct', - }, - cost: { - prompt_token: 2.4e-7, - completion_token: 2.4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mixtral-8x7b-instruct:nitro', - }, - cost: { - prompt_token: 5.4e-7, - completion_token: 5.4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openchat/openchat-7b:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'openchat/openchat-7b', - }, - cost: { - prompt_token: 5.5e-8, - completion_token: 5.5e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'neversleep/noromaid-20b', - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-2:beta', - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-2', - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-2.1:beta', - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-2.1', - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'teknium/openhermes-2.5-mistral-7b', - }, - cost: { - prompt_token: 1.7e-7, - completion_token: 1.7e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-vision-preview', - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'lizpreciatior/lzlv-70b-fp16-hf', - }, - cost: { - prompt_token: 3.5e-7, - completion_token: 4e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'undi95/toppy-m-7b:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'undi95/toppy-m-7b:nitro', - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'undi95/toppy-m-7b', - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'alpindale/goliath-120b', - }, - cost: { - prompt_token: 9.375e-6, - completion_token: 9.375e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openrouter/auto', - }, - cost: { - prompt_token: -1.0, - completion_token: -1.0, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-3.5-turbo-1106', - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-1106-preview', - }, - cost: { - prompt_token: 1e-5, - completion_token: 3e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'google/palm-2-chat-bison-32k', - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'google/palm-2-codechat-bison-32k', - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'jondurbin/airoboros-l2-70b', - }, - cost: { - prompt_token: 5e-7, - completion_token: 5e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'xwin-lm/xwin-lm-70b', - }, - cost: { - prompt_token: 3.75e-6, - completion_token: 3.75e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-3.5-turbo-instruct', - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'mistralai/mistral-7b-instruct-v0.1', - }, - cost: { - prompt_token: 1.8e-7, - completion_token: 1.8e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'pygmalionai/mythalion-13b', - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-3.5-turbo-16k', - }, - cost: { - prompt_token: 3e-6, - completion_token: 4e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-32k', - }, - cost: { - prompt_token: 6e-5, - completion_token: 0.00012, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-32k-0314', - }, - cost: { - prompt_token: 6e-5, - completion_token: 0.00012, - }, - }, - { - model: { - operator: 'equals', - value: 'nousresearch/nous-hermes-llama2-13b', - }, - cost: { - prompt_token: 1.7e-7, - completion_token: 1.7e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'mancer/weaver', - }, - cost: { - prompt_token: 1.5e-6, - completion_token: 2.25e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'huggingfaceh4/zephyr-7b-beta:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-2.0:beta', - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'anthropic/claude-2.0', - }, - cost: { - prompt_token: 8e-6, - completion_token: 2.4e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'undi95/remm-slerp-l2-13b', - }, - cost: { - prompt_token: 8e-7, - completion_token: 1.2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'undi95/remm-slerp-l2-13b:extended', - }, - cost: { - prompt_token: 1.125e-6, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'google/palm-2-chat-bison', - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'google/palm-2-codechat-bison', - }, - cost: { - prompt_token: 1e-6, - completion_token: 2e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'gryphe/mythomax-l2-13b:free', - }, - cost: { - prompt_token: 0.0, - completion_token: 0.0, - }, - }, - { - model: { - operator: 'equals', - value: 'gryphe/mythomax-l2-13b', - }, - cost: { - prompt_token: 7e-8, - completion_token: 7e-8, - }, - }, - { - model: { - operator: 'equals', - value: 'gryphe/mythomax-l2-13b:nitro', - }, - cost: { - prompt_token: 2e-7, - completion_token: 2e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'gryphe/mythomax-l2-13b:extended', - }, - cost: { - prompt_token: 1.125e-6, - completion_token: 1.125e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/llama-2-13b-chat', - }, - cost: { - prompt_token: 1.98e-7, - completion_token: 1.98e-7, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-3.5-turbo', - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-3.5-turbo-0125', - }, - cost: { - prompt_token: 5e-7, - completion_token: 1.5e-6, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4', - }, - cost: { - prompt_token: 3e-5, - completion_token: 6e-5, - }, - }, - { - model: { - operator: 'equals', - value: 'openai/gpt-4-0314', - }, - cost: { - prompt_token: 3e-5, - completion_token: 6e-5, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts deleted file mode 100644 index b3a078f878f90..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/qstash/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'includes', - value: 'llama', - }, - cost: { - prompt_token: 3e-7, - completion_token: 3e-7, - }, - }, - { - model: { - operator: 'includes', - value: 'mistral', - }, - cost: { - prompt_token: 3e-7, - completion_token: 3e-7, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts deleted file mode 100644 index 3aff1f5ed08fd..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/index.ts +++ /dev/null @@ -1,503 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'allenai/OLMo-7B-Instruct', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'allenai/OLMo-7B-Twin-2T', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'allenai/OLMo-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Austism/chronos-hermes-13b', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'deepseek-ai/deepseek-coder-33b-instruct', - }, - cost: { - prompt_token: 0.0000008, - completion_token: 0.0000008, - }, - }, - - { - model: { - operator: 'equals', - value: 'garage-bAInd/Platypus2-70B-instruct', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'google/gemma-2b-it', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'google/gemma-7b-it', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Gryphe/MythoMax-L2-13b', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'lmsys/vicuna-13b-v1.5', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'lmsys/vicuna-7b-v1.5', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'mistralai/Mistral-7B-Instruct-v0.1', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'mistralai/Mistral-7B-Instruct-v0.2', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'mistralai/Mixtral-8x7B-Instruct-v0.1', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'NousResearch/Nous-Capybara-7B-V1p9', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'NousResearch/Nous-Hermes-2-Yi-34B', - }, - cost: { - prompt_token: 0.0000008, - completion_token: 0.0000008, - }, - }, - - { - model: { - operator: 'equals', - value: 'openchat/openchat-3.5-1210', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Open-Orca/Mistral-7B-OpenOrca', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-0.5B-Chat', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-1.8B-Chat', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-4B-Chat', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-7B-Chat', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-14B-Chat', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'snorkelai/Snorkel-Mistral-PairRM-DPO', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/alpaca-7b', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'teknium/OpenHermes-2-Mistral-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'teknium/OpenHermes-2p5-Mistral-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/RedPajama-INCITE-Chat-3B-v1', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/RedPajama-INCITE-7B-Chat', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/StripedHyena-Nous-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Undi95/ReMM-SLERP-L2-13B', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'Undi95/Toppy-M-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'WizardLM/WizardLM-13B-V1.2', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'upstage/SOLAR-10.7B-Instruct-v1.0', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.0000035, - completion_token: 0.0000035, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-8B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-70B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-8B-Instruct-Lite', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-70B-Instruct-Lite', - }, - cost: { - prompt_token: 0.00000054, - completion_token: 0.00000054, - }, - }, - - { - model: { - operator: 'equals', - value: 'microsoft/WizardLM-2-8x22B', - }, - cost: { - prompt_token: 0.0000012, - completion_token: 0.0000012, - }, - }, - - { - model: { - operator: 'equals', - value: 'mistralai/Mixtral-8x22B-Instruct-v0.1', - }, - cost: { - prompt_token: 0.0000024, - completion_token: 0.0000024, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts deleted file mode 100644 index 49acf618095d9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/chat/llama.ts +++ /dev/null @@ -1,210 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'codellama/CodeLlama-13b-Instruct-hf', - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, - }, - }, - - { - model: { - operator: 'equals', - value: 'codellama/CodeLlama-34b-Instruct-hf', - }, - cost: { - prompt_token: 0.000000776, - completion_token: 0.000000776, - }, - }, - - { - model: { - operator: 'equals', - value: 'codellama/CodeLlama-70b-Instruct-hf', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'codellama/CodeLlama-7b-Instruct-hf', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-2-70b-chat-hf', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-2-13b-chat-hf', - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-2-7b-chat-hf', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-3-70b-chat-hf', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-3-8b-chat-hf', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'NousResearch/Nous-Hermes-llama-2-7b', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'NousResearch/Nous-Hermes-Llama2-13b', - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/Llama-2-7B-32K-Instruct', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000005, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-70B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-8B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000018, - completion_token: 0.00000018, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-70B-Instruct-Lite', - }, - cost: { - prompt_token: 0.00000054, - completion_token: 0.00000054, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-8B-Instruct-Lite', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts deleted file mode 100644 index 44f6abbead7ff..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/index.ts +++ /dev/null @@ -1,228 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'zero-one-ai/Yi-34B', - }, - cost: { - prompt_token: 0.0000008, - completion_token: 0.0000008, - }, - }, - - { - model: { - operator: 'equals', - value: 'zero-one-ai/Yi-6B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'google/gemma-2b', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'google/gemma-7b', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'microsoft/phi-2', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Nexusflow/NexusRaven-V2-13B', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-0.5B', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-1.8B', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-4B', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-14B', - }, - cost: { - prompt_token: 0.0000003, - completion_token: 0.0000003, - }, - }, - - { - model: { - operator: 'equals', - value: 'Qwen/Qwen1.5-72B', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/GPT-JT-Moderation-6B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/RedPajama-INCITE-Base-3B-v1', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/RedPajama-INCITE-7B-Base', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/RedPajama-INCITE-Instruct-3B-v1', - }, - cost: { - prompt_token: 0.0000001, - completion_token: 0.0000001, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/RedPajama-INCITE-7B-Instruct', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/StripedHyena-Hessian-7B', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'mistralai/Mistral-7B-v0.1', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'mistralai/Mixtral-8x7B-v0.1', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts deleted file mode 100644 index 04b8924c9ed68..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/ai-cost-data/togetherai/completion/llama.ts +++ /dev/null @@ -1,134 +0,0 @@ -/** - * - * DO NOT EDIT THIS FILE UNLESS IT IS IN /costs - */ - -import { ModelRow } from '../../../interfaces/Cost' - -export const costs: ModelRow[] = [ - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-2-70b-hf', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-2-13b-hf', - }, - cost: { - prompt_token: 0.000000225, - completion_token: 0.000000225, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-2-7b-hf', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3-70B', - }, - cost: { - prompt_token: 0.0000009, - completion_token: 0.0000009, - }, - }, - - { - model: { - operator: 'equals', - value: 'meta-llama/Llama-3-8b-hf', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - - { - model: { - operator: 'equals', - value: 'togethercomputer/LLaMA-2-7B-32K', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.0000002, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: 'equals', - value: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000005, - }, - }, - { - model: { - operator: 'includes', - value: 'togethercomputer/Meta-Llama-3.1-8B-Instruct-Reference', - }, - cost: { - prompt_token: 0.0000002, - completion_token: 0.00000018, - }, - }, - { - model: { - operator: 'includes', - value: 'togethercomputer/Meta-Llama-3.1-70B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.00000088, - completion_token: 0.00000088, - }, - }, - { - model: { - operator: 'includes', - value: 'togethercomputer/Meta-Llama-3.1-405B-Instruct-Turbo', - }, - cost: { - prompt_token: 0.000005, - completion_token: 0.000005, - }, - }, -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js deleted file mode 100644 index f4a0ade609549..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.test.js +++ /dev/null @@ -1,60 +0,0 @@ -const { createEvent, getMeta, resetMeta, clone } = require('@posthog/plugin-scaffold/test/utils') - -const { processEvent } = require('./index') - -beforeEach(() => { - // Making sure plugin meta has our custom test config - resetMeta({ - config: { - greeting: 'Dzień dobry!', - }, - }) -}) - -test('processEvent adds properties', async () => { - // Create a random event - const event0 = createEvent({ - event: '$ai_generation', - properties: { - $ai_provider: 'openai', - $ai_model: 'gpt-4-turbo-2024-04-09', - $ai_input_tokens: 100, - $ai_output_tokens: 200, - }, - }) - - // Must clone the event since `processEvent` will mutate it - const event1 = await processEvent(clone(event0), getMeta()) - expect(event1).toEqual({ - ...event0, - properties: { - ...event0.properties, - $ai_input_cost_usd: 0.001, - $ai_output_cost_usd: 0.006, - $ai_total_cost_usd: 0.007, - }, - }) - - // Floating point fun - const event2 = createEvent({ - event: '$ai_generation', - properties: { - $ai_provider: 'openai', - $ai_model: 'gpt-4o-mini', - $ai_input_tokens: 25, - $ai_output_tokens: 100, - }, - }) - - // Must clone the event since `processEvent` will mutate it - const event3 = await processEvent(clone(event2), getMeta()) - expect(event3).toEqual({ - ...event2, - properties: { - ...event2.properties, - $ai_input_cost_usd: 0.00000375, - $ai_output_cost_usd: 0.00006, - $ai_total_cost_usd: 0.00006375, - }, - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts deleted file mode 100644 index 36fa0e3f72ff0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/index.ts +++ /dev/null @@ -1,59 +0,0 @@ -/* global module */ -/* eslint no-undef: "error" */ - -import { ModelRow } from './inter' -import { Plugin, PluginEvent, PluginMeta, RetryError } from '@posthog/plugin-scaffold' -import { defaultProvider, providers } from './ai-cost-data/mappings' -import bigDecimal from 'js-big-decimal' - -// Plugin method that processes event -export async function processEvent(event: PluginEvent): Promise { - if (event.event !== '$ai_generation' || !event.properties) { - return event - } - - if (!event.properties['$ai_provider'] || !event.properties['$ai_model']) { - return event - } - - const provider = providers.find((provider) => event.properties['$ai_provider'] === provider.provider.toLowerCase()) - if (!provider || !provider.costs) { - return event - } - - const cost = findCostFromModel(provider.costs, event.properties['$ai_model']) - if (!cost) { - return event - } - - if (event.properties['$ai_input_tokens']) { - event.properties['$ai_input_cost_usd'] = parseFloat( - bigDecimal.multiply(cost.cost.prompt_token, event.properties['$ai_input_tokens']) - ) - } - - if (event.properties['$ai_output_tokens']) { - event.properties['$ai_output_cost_usd'] = parseFloat( - bigDecimal.multiply(cost.cost.completion_token, event.properties['$ai_output_tokens']) - ) - } - - if (event.properties['$ai_input_cost_usd'] && event.properties['$ai_output_cost_usd']) { - event.properties['$ai_total_cost_usd'] = parseFloat( - bigDecimal.add(event.properties['$ai_input_cost_usd'], event.properties['$ai_output_cost_usd']) - ) - } - return event -} - -const findCostFromModel = (costs: ModelRow[], aiModel: string): ModelRow | undefined => { - return costs.find((cost) => { - const valueLower = cost.model.value.toLowerCase() - if (cost.model.operator === 'startsWith') { - return aiModel.startsWith(valueLower) - } else if (cost.model.operator === 'includes') { - return aiModel.includes(valueLower) - } - return valueLower === aiModel - }) -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts deleted file mode 100644 index 2b255a0460fd6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/src/interfaces/Cost.ts +++ /dev/null @@ -1,54 +0,0 @@ -interface TextOperator { - operator: 'equals' | 'startsWith' | 'includes' - value: string -} - -export interface ModelDetails { - matches: string[] - searchTerms: string[] - info: { - releaseDate: string - maxTokens?: number - description: string - tradeOffs: string[] - benchmarks: { - [key: string]: number - } - capabilities: string[] - strengths: string[] - weaknesses: string[] - recommendations: string[] - } -} - -export type ModelDetailsMap = { - [key: string]: ModelDetails -} - -export interface ModelRow { - model: TextOperator - cost: { - prompt_token: number - completion_token: number - } - showInPlayground?: boolean - targetUrl?: string - dateRange?: { - start: string - end: string - } -} - -export interface ModelRow { - model: TextOperator - cost: { - prompt_token: number - completion_token: number - } - showInPlayground?: boolean - targetUrl?: string - dateRange?: { - start: string - end: string - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json b/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json deleted file mode 100644 index 8083d71f63077..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-ai-costs-app/tsup.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "noExternal": ["*", "js-big-decimal"], - "treeshake": true, - "minify": true -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json deleted file mode 100644 index f89ed5f1d985a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "editor.formatOnSave": true -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts deleted file mode 100644 index 0dc41eb54dbf9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/global.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-disable no-var */ - -interface ApiMethodOptions { - data?: Record // any data to send with the request, GET and DELETE will set these as URL params - host?: string // posthog host, defaults to https://app.posthog.com - projectApiKey?: string // specifies the project to interact with - personalApiKey?: string // authenticates the user -} - -interface APIInterface { - get: (path: string, options?: ApiMethodOptions) => Promise> -} - -declare namespace posthog { - var api: APIInterface -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts deleted file mode 100644 index 56686be0d7ce9..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.test.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { Plugin, PluginMeta } from '@posthog/plugin-scaffold' -// @ts-ignore -import { createPageview, resetMeta } from '@posthog/plugin-scaffold/test/utils' -import { createHash } from 'crypto' -import given from 'given2' - -import * as unduplicatesPlugin from '.' -const { processEvent } = unduplicatesPlugin as Required - -given('getResponse', () => ({ results: [], next: null })) - -global.posthog = { - api: { - get: jest.fn(() => - Promise.resolve({ - json: () => Promise.resolve(given.getResponse), - }) - ), - }, -} - -const defaultMeta = { - config: { - dedupMode: 'Event and Timestamp', - }, -} - -describe('`Event and Timestamp` mode', () => { - test('event UUID is properly generated', async () => { - const meta = resetMeta() as PluginMeta - const event = await processEvent({ ...createPageview(), timestamp: '2020-02-02T23:59:59.999999Z' }, meta) - expect(event?.uuid).toEqual('1b2b7e1a-c059-5116-a6d2-eb1c1dd793bc') - }) - test('same key properties produces the same UUID', async () => { - const meta = resetMeta() as PluginMeta - const event1 = await processEvent( - { ...createPageview(), event: 'myPageview', timestamp: '2020-05-02T20:59:59.999999Z', ignoreMe: 'yes' }, - meta - ) - const event2 = await processEvent( - { - ...createPageview(), - event: 'myPageview', - timestamp: '2020-05-02T20:59:59.999999Z', - differentProperty: 'indeed', - }, - meta - ) - expect(event1?.uuid).toBeTruthy() - expect(event1?.uuid).toEqual(event2?.uuid) - }) - test('different key properties produces a different UUID', async () => { - const meta = resetMeta() as PluginMeta - const event1 = await processEvent({ ...createPageview(), timestamp: '2020-05-02T20:59:59.999999Z' }, meta) - const event2 = await processEvent( - { - ...createPageview(), - timestamp: '2020-05-02T20:59:59.999888Z', // note milliseconds are different - }, - meta - ) - expect(event1?.uuid).toBeTruthy() - expect(event1?.uuid).not.toEqual(event2?.uuid) - }) -}) - -describe('`All Properties` mode', () => { - test('event UUID is properly generated (all props)', async () => { - const meta = resetMeta({ - config: { ...defaultMeta.config, dedupMode: 'All Properties' }, - }) as PluginMeta - const event = await processEvent({ ...createPageview(), timestamp: '2020-02-02T23:59:59.999999Z' }, meta) - expect(event?.uuid).toEqual('5a4e6d35-a9e4-50e2-9d97-4f7cc04e8b30') - }) - test('same key properties produces the same UUID (all props)', async () => { - const meta = resetMeta({ - config: { ...defaultMeta.config, dedupMode: 'All Properties' }, - }) as PluginMeta - const event1 = await processEvent( - { - ...createPageview(), - event: 'myPageview', - timestamp: '2020-05-02T20:59:59.999999Z', - properties: { - ...createPageview().properties, - customProp1: true, - customProp2: 'lgtm!', - }, - }, - meta - ) - const event2 = await processEvent( - { - ...createPageview(), - event: 'myPageview', - timestamp: '2020-05-02T20:59:59.999999Z', - properties: { - ...createPageview().properties, - customProp1: true, - customProp2: 'lgtm!', - }, - }, - meta - ) - expect(event1?.uuid).toBeTruthy() - expect(event1?.uuid).toEqual(event2?.uuid) - }) - test('different properties produce a different UUID (all props)', async () => { - const meta = resetMeta({ - config: { ...defaultMeta.config, dedupMode: 'All Properties' }, - }) as PluginMeta - const event1 = await processEvent( - { ...createPageview(), timestamp: '2020-05-02T20:59:59.999999Z', properties: { customProp: '2' } }, - meta - ) - const event2 = await processEvent( - { - ...createPageview(), - timestamp: '2020-05-02T20:59:59.999999Z', - properties: { customProp: '1' }, - }, - meta - ) - expect(event1?.uuid).toBeTruthy() - expect(event1?.uuid).not.toEqual(event2?.uuid) - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts deleted file mode 100644 index 77cc118671248..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/index.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { Plugin, PluginEvent } from '@posthog/plugin-scaffold' -import { createHash } from 'crypto' - -// From UUID Namespace RFC (https://datatracker.ietf.org/doc/html/rfc4122) -const NAMESPACE_OID = '6ba7b812-9dad-11d1-80b4-00c04fd430c8' - -interface UnduplicatesPluginInterface { - config: { - dedupMode: 'Event and Timestamp' | 'All Properties' - } -} - -const stringifyEvent = (event: PluginEvent): string => { - return `(${event.uuid}; project #${event.team_id}). Event "${event.event}" @ ${event.timestamp} for user ${event.distinct_id}.` -} - -const byteToHex: string[] = [] - -for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).slice(1)) -} - -function stringifyUUID(arr: Buffer) { - // Forked from https://github.com/uuidjs/uuid (MIT) - // Copyright (c) 2010-2020 Robert Kieffer and other contributors - return ( - byteToHex[arr[0]] + - byteToHex[arr[1]] + - byteToHex[arr[2]] + - byteToHex[arr[3]] + - '-' + - byteToHex[arr[4]] + - byteToHex[arr[5]] + - '-' + - byteToHex[arr[6]] + - byteToHex[arr[7]] + - '-' + - byteToHex[arr[8]] + - byteToHex[arr[9]] + - '-' + - byteToHex[arr[10]] + - byteToHex[arr[11]] + - byteToHex[arr[12]] + - byteToHex[arr[13]] + - byteToHex[arr[14]] + - byteToHex[arr[15]] - ).toLowerCase() -} - -const plugin: Plugin = { - processEvent: async (event, { config }) => { - if (!event.timestamp) { - // posthog-js sends events without a timestamp, but with an offset and a UUID. - // Because the UUID is generated by the SDK, we can silently ignore these events. - // For other SDKs, log an info log with the library name. - const lib = event.properties?.$lib || 'unknown' - if (lib !== 'web') { - console.info( - `Received event from "${lib}" without a timestamp, the event will not be processed because deduping will not work.` - ) - } - - return event - } - - // Create a hash of the relevant properties of the event - const stringifiedProps = config.dedupMode === 'All Properties' ? `_${JSON.stringify(event.properties)}` : '' - const hash = createHash('sha1') - const eventKeyBuffer = hash - .update( - `${NAMESPACE_OID}_${event.team_id}_${event.distinct_id}_${event.event}_${event.timestamp}${stringifiedProps}` - ) - .digest() - - // Convert to UUID v5 spec - eventKeyBuffer[6] = (eventKeyBuffer[6] & 0x0f) | 0x50 - eventKeyBuffer[8] = (eventKeyBuffer[8] & 0x3f) | 0x80 - - event.uuid = stringifyUUID(eventKeyBuffer) - return event - }, -} - -module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json deleted file mode 100644 index 2ab0263f60168..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-unduplicator/plugin.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Unduplicates", - "url": "https://github.com/paolodamico/posthog-plugin-unduplicates", - "description": "Prevent duplicates in your data when ingesting.", - "main": "index.ts", - "posthogVersion": ">=1.25.0", - "config": [ - { - "key": "dedupMode", - "name": "Dedup Mode", - "type": "choice", - "required": true, - "choices": ["Event and Timestamp", "All Properties"] - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts deleted file mode 100644 index fd741a62feaa6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.test.ts +++ /dev/null @@ -1,682 +0,0 @@ -import { PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' -import { ParamsToPropertiesPlugin, PluginConfig, processEvent, setupPlugin } from './index' - -/** - * Given a url, construct a page view event. - * - * @param $current_url The current url of the page view - * @returns A new PostHog page view event - */ -function buildPageViewEvent($current_url: string): PluginEvent { - const event: PluginEvent = { - properties: { $current_url }, - distinct_id: 'distinct_id', - ip: '1.2.3.4', - site_url: 'posthog.com', - team_id: 0, - now: '2022-06-17T20:21:31.778000+00:00', - event: '$pageview', - uuid: '01817354-06bb-0000-d31c-2c4eed374100', - } - - return event -} - -const defaultConfig: PluginConfig = { - parameters: 'myUrlParameter', - prefix: '', - suffix: '', - setAsUserProperties: 'false', - setAsInitialUserProperties: 'false', - ignoreCase: 'false', - alwaysJson: 'false', -} - -const pluginJSON = require('./plugin.json') - -function buildMockMeta(partialConfig: Partial = {}): PluginMeta { - const config: PluginConfig = { ...defaultConfig, ...partialConfig } - return { - global: { - ignoreCase: config.ignoreCase === 'true', - setAsInitialUserProperties: config.setAsInitialUserProperties === 'true', - setAsUserProperties: config.setAsUserProperties === 'true', - alwaysJson: config.alwaysJson === 'true', - parameters: new Set( - config.parameters ? config.parameters.split(',').map((parameter) => parameter.trim()) : null - ), - }, - config: config, - } as PluginMeta -} - -describe('ParamsToPropertiesPlugin', () => { - let mockMeta: PluginMeta - - beforeEach(() => { - jest.clearAllMocks() - - mockMeta = buildMockMeta() - }) - - describe('setupPlugin', () => { - it('should set one item to whitelist', () => { - const meta = { - global: { - parameters: new Set(), - }, - config: { - parameters: 'one_item', - prefix: '', - suffix: '', - setAsUserProperties: 'false', - setAsInitialUserProperties: 'false', - ignoreCase: 'false', - alwaysJson: 'false', - }, - } as PluginMeta - - expect(meta.global.parameters.size).toBe(0) - - setupPlugin(meta) - - expect(meta.global.parameters.size).toBe(1) - }) - - it('should set three item to whitelist', () => { - const meta = { - global: { - parameters: new Set(), - }, - config: { - parameters: 'one_item, two_item,three_item', - prefix: '', - suffix: '', - setAsUserProperties: 'false', - setAsInitialUserProperties: 'false', - ignoreCase: 'false', - alwaysJson: 'false', - }, - } as PluginMeta - - expect(meta.global.parameters.size).toBe(0) - - setupPlugin(meta) - - expect(meta.global.parameters.size).toBe(3) - expect(meta.global.parameters.has('one_item')).toBeTruthy() - expect(meta.global.parameters.has('two_item')).toBeTruthy() - expect(meta.global.parameters.has('three_item')).toBeTruthy() - }) - - it('should clear global whitelist when config is missing whitelist', () => { - const meta = { - global: { - parameters: new Set(['one_item']), - }, - config: { - prefix: '', - suffix: '', - setAsUserProperties: 'false', - setAsInitialUserProperties: 'false', - ignoreCase: 'false', - alwaysJson: 'false', - }, - } as PluginMeta - - expect(meta.global.parameters.size).toBe(1) - - setupPlugin(meta) - - expect(meta.global.parameters.size).toBe(0) - }) - }) - - describe('plugin.json', () => { - it('should contain all properties of PluginConfig', () => { - expect(pluginJSON.config).toBeDefined() - if (pluginJSON.config) { - const fields = new Set() - for (const item of pluginJSON.config) { - fields.add(item.key) - } - - expect(fields.has('ignoreCase')).toBeTruthy() - expect(fields.has('prefix')).toBeTruthy() - expect(fields.has('setAsInitialUserProperties')).toBeTruthy() - expect(fields.has('setAsUserProperties')).toBeTruthy() - expect(fields.has('suffix')).toBeTruthy() - expect(fields.has('parameters')).toBeTruthy() - expect(fields.has('alwaysJson')).toBeTruthy() - expect(fields.size).toEqual(7) - } - }) - - it('should match types of all properties of PluginConfig', () => { - expect(pluginJSON.config).toBeDefined() - if (pluginJSON.config) { - const fields = new Map() - for (const item of pluginJSON.config) { - fields.set(item.key, item.type) - } - - expect(fields.get('ignoreCase')).toEqual('choice') - expect(fields.get('prefix')).toEqual('string') - expect(fields.get('setAsInitialUserProperties')).toEqual('choice') - expect(fields.get('setAsUserProperties')).toEqual('choice') - expect(fields.get('suffix')).toEqual('string') - expect(fields.get('parameters')).toEqual('string') - expect(fields.get('alwaysJson')).toEqual('choice') - } - }) - }) - - describe('processEvent', () => { - it("shouldn't change properties count", () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1') - if (sourceEvent.properties) { - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, mockMeta) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount) - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - expect(mockMeta.global.alwaysJson).toBeFalsy() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, mockMeta) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - expect(processedEvent.properties.myUrlParameter).toEqual('1') - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 2 property', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent( - sourceEvent, - buildMockMeta({ parameters: 'plugin, myUrlParameter' }) - ) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 2) - expect(processedEvent.properties['plugin']).toBeDefined() - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property and 1 $set property', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - expect(sourceEvent.properties['$set']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta({ setAsUserProperties: 'true' })) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 2) - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - expect(processedEvent.properties['$set']).toBeDefined() - expect(processedEvent.properties.$set['myUrlParameter']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property and 1 $set_once property', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - expect(sourceEvent.properties['$set_once']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta({ setAsInitialUserProperties: 'true' })) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 2) - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - expect(processedEvent.properties['$set_once']).toBeDefined() - expect(processedEvent.properties.$set_once['initial_myUrlParameter']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property, 1 $set property and 1 $set_once property', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - expect(sourceEvent.properties['$set']).not.toBeDefined() - expect(sourceEvent.properties['$set_once']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent( - sourceEvent, - buildMockMeta({ setAsUserProperties: 'true', setAsInitialUserProperties: 'true' }) - ) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 3) - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - expect(processedEvent.properties['$set']).toBeDefined() - expect(processedEvent.properties['$set_once']).toBeDefined() - expect(processedEvent.properties.$set['myUrlParameter']).toBeDefined() - expect(processedEvent.properties.$set_once['initial_myUrlParameter']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property with prefix', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['prefix_myUrlParameter']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta({ prefix: 'prefix_' })) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['prefix_myUrlParameter']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property with suffix', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter_suffix']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta({ suffix: '_suffix' })) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['myUrlParameter_suffix']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property with prefix and suffix', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['prefix_myUrlParameter_suffix']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent( - sourceEvent, - buildMockMeta({ prefix: 'prefix_', suffix: '_suffix' }) - ) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['prefix_myUrlParameter_suffix']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it("shouldn't add properties when $current_url is undefined", () => { - const sourceEvent = { - ...buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1'), - ...{ properties: { $current_url: undefined } }, - } - - if (sourceEvent.properties) { - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, mockMeta) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount) - expect(processedEvent.properties['myUrlParameter']).not.toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it("shouldn't add properties when properties is undefined", () => { - const sourceEvent = { - ...buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1'), - ...{ properties: undefined }, - } - - expect(sourceEvent.properties).not.toBeDefined() - - const processedEvent = processEvent(sourceEvent, mockMeta) - expect(processedEvent.properties).not.toBeDefined() - }) - - it('should add 1 property regardless of case', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta({ ignoreCase: 'true' })) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it("shouldn't add properties respecting case missmatch", () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta()) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount) - expect(processedEvent.properties['myUrlParameter']).not.toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property regardless of case with prefix and suffix', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent( - sourceEvent, - buildMockMeta({ ignoreCase: 'true', prefix: 'prefix_', suffix: '_suffix' }) - ) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['prefix_myUrlParameter_suffix']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - - it('should add 1 property, 1 $set property and 1 $set_once property regardless of case with prefix and suffix', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&MyUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - expect(sourceEvent.properties['$set']).not.toBeDefined() - expect(sourceEvent.properties['$set_once']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent( - sourceEvent, - buildMockMeta({ - ignoreCase: 'true', - prefix: 'prefix_', - suffix: '_suffix', - setAsUserProperties: 'true', - setAsInitialUserProperties: 'true', - }) - ) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 3) - expect(processedEvent.properties['prefix_myUrlParameter_suffix']).toBeDefined() - expect(processedEvent.properties['$set']).toBeDefined() - expect(processedEvent.properties.$set['prefix_myUrlParameter_suffix']).toBeDefined() - expect(processedEvent.properties['$set_once']).toBeDefined() - expect(processedEvent.properties.$set_once['initial_prefix_myUrlParameter_suffix']).toBeDefined() - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - ;[ - { - label: '', - ignoreCase: 'false', - prefix: '', - suffix: '', - setAsUserProperties: '', - setAsInitialUserProperties: '', - }, - { - label: 'ignoring case', - ignoreCase: 'true', - prefix: '', - suffix: '', - setAsUserProperties: '', - setAsInitialUserProperties: '', - }, - { - label: 'with a prefix', - ignoreCase: 'false', - prefix: 'prefix_', - suffix: '', - setAsUserProperties: '', - setAsInitialUserProperties: '', - }, - { - label: 'with a suffix', - ignoreCase: 'false', - prefix: '', - suffix: '_suffix', - setAsUserProperties: '', - setAsInitialUserProperties: '', - }, - { - label: 'with a prefix and a suffix', - ignoreCase: 'false', - prefix: 'prefix_', - suffix: '_suffix', - setAsUserProperties: '', - setAsInitialUserProperties: '', - }, - { - label: 'with a $set property', - ignoreCase: 'false', - prefix: '', - suffix: '', - setAsUserProperties: 'true', - setAsInitialUserProperties: '', - }, - { - label: 'with a $set_once property', - ignoreCase: 'false', - prefix: '', - suffix: '', - setAsUserProperties: '', - setAsInitialUserProperties: 'true', - }, - { - label: 'with a $set and a $set_once property', - ignoreCase: 'false', - prefix: '', - suffix: '', - setAsUserProperties: 'true', - setAsInitialUserProperties: 'true', - }, - { - label: 'with a prefix, a suffix, a $set, and a $set_once property', - ignoreCase: 'false', - prefix: 'preefix_', - suffix: '_suffax', - setAsUserProperties: 'true', - setAsInitialUserProperties: 'true', - }, - ].forEach((testOptions) => { - it(`should add 1 multivalue property ${testOptions['label']}`, () => { - const testParameterBase = 'multiValueParam' - const testMockMeta = buildMockMeta({ - ignoreCase: testOptions['ignoreCase'] === 'true' ? 'true' : 'false', - prefix: testOptions['prefix'], - suffix: testOptions['suffix'], - setAsUserProperties: testOptions['setAsUserProperties'] === 'true' ? 'true' : 'false', - setAsInitialUserProperties: testOptions['setAsInitialUserProperties'] === 'true' ? 'true' : 'false', - parameters: testParameterBase, - }) - const testData = JSON.stringify(['1', '2']) - - let testParameter = testParameterBase - - if (testOptions['prefix'].length > 0) { - testParameter = `${testOptions['prefix']}${testParameter}` - } - - if (testOptions['suffix'].length > 0) { - testParameter = `${testParameter}${testOptions['suffix']}` - } - - const eventParameter = - testOptions['ignoreCase'] === 'true' ? testParameterBase.toUpperCase() : testParameterBase - const sourceEvent = buildPageViewEvent( - `https://posthog.com/test?plugin=1&${eventParameter}=1&${eventParameter}=2` - ) - - if (sourceEvent.properties) { - expect(sourceEvent.properties[testParameter]).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const addlPropsCount = - 1 + - (testOptions['setAsUserProperties'] === 'true' ? 1 : 0) + - (testOptions['setAsInitialUserProperties'] === 'true' ? 1 : 0) - const processedEvent = processEvent(sourceEvent, testMockMeta) - - if (processedEvent.properties) { - // the setAs options are additive - - if (testOptions['setAsUserProperties'] === 'true') { - expect(Object.keys(processedEvent.properties.$set)).toBeDefined() - expect(Object.keys(processedEvent.properties.$set).length).toEqual(1) - expect(processedEvent.properties.$set[testParameter]).toBeDefined() - expect(processedEvent.properties.$set[testParameter]).toEqual(testData) - } - - if (testOptions['setAsInitialUserProperties'] === 'true') { - expect(Object.keys(processedEvent.properties.$set_once)).toBeDefined() - expect(Object.keys(processedEvent.properties.$set_once).length).toEqual(1) - expect(processedEvent.properties.$set_once[`initial_${testParameter}`]).toBeDefined() - expect(processedEvent.properties.$set_once[`initial_${testParameter}`]).toEqual(testData) - } - - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual( - sourcePropertiesCount + addlPropsCount - ) - expect(processedEvent.properties[testParameter]).toBeDefined() - expect(processedEvent.properties[testParameter]).toEqual(testData) - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) - }) - }) - - it('should add 1 property stored as JSON when alwaysJson = true', () => { - const sourceEvent = buildPageViewEvent('https://posthog.com/test?plugin=1&myUrlParameter=1') - - if (sourceEvent.properties) { - expect(sourceEvent.properties['myUrlParameter']).not.toBeDefined() - - const sourcePropertiesCount = Object.keys(sourceEvent?.properties).length - const processedEvent = processEvent(sourceEvent, buildMockMeta({ alwaysJson: 'true' })) - - if (processedEvent.properties) { - expect(Object.keys(processedEvent.properties).length).toBeGreaterThan(sourcePropertiesCount) - expect(Object.keys(processedEvent.properties).length).toEqual(sourcePropertiesCount + 1) - expect(processedEvent.properties['myUrlParameter']).toBeDefined() - expect(processedEvent.properties.myUrlParameter).toEqual(JSON.stringify(['1'])) - } else { - expect(processedEvent.properties).toBeDefined() - } - } else { - expect(sourceEvent.properties).toBeDefined() - } - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts deleted file mode 100644 index 73eb562074edf..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/index.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Plugin, PluginEvent, PluginMeta } from '@posthog/plugin-scaffold' -import { URLSearchParams } from 'url' - -export type PluginConfig = { - ignoreCase: 'true' | 'false' - prefix: string - setAsInitialUserProperties: 'true' | 'false' - setAsUserProperties: 'true' | 'false' - suffix: string - parameters: string - alwaysJson: 'true' | 'false' -} - -export type ParamsToPropertiesPlugin = Plugin<{ - global: { - ignoreCase: boolean - setAsInitialUserProperties: boolean - setAsUserProperties: boolean - alwaysJson: boolean - parameters: Set - } - config: PluginConfig -}> - -function convertSearchParams(params: URLSearchParams): URLSearchParams { - return new URLSearchParams([...params].map(([key, value]) => [key.toLowerCase(), value]) as [string, string][]) -} - -export const setupPlugin = (meta: PluginMeta): void => { - const { global, config } = meta - - global.ignoreCase = config.ignoreCase === 'true' - global.setAsInitialUserProperties = config.setAsInitialUserProperties === 'true' - global.setAsUserProperties = config.setAsUserProperties === 'true' - global.alwaysJson = config.alwaysJson === 'true' - global.parameters = new Set( - config.parameters ? config.parameters.split(',').map((parameter) => parameter.trim()) : null - ) -} - -export const processEvent = (event: PluginEvent, meta: PluginMeta): PluginEvent => { - if (event.properties?.$current_url) { - const url = new URL(event.properties.$current_url) - const params = meta.global.ignoreCase - ? convertSearchParams(new URLSearchParams(url.searchParams)) - : new URLSearchParams(url.searchParams) - - for (const name of meta.global.parameters) { - let value: string | Array = '' - - if (meta.global.ignoreCase) { - for (const key of params.keys()) { - if (key.toLowerCase() === name.toLowerCase()) { - value = params.getAll(key) - } - } - } else { - value = params.getAll(name) - } - - if (value.length > 0) { - const key = `${meta.config.prefix}${name}${meta.config.suffix}` - - // if we've only got one, then just store the first string as a string - // unless we want them all JSON-ified - const storeValue = value.length === 1 && !meta.global.alwaysJson ? value[0] : JSON.stringify(value) - - event.properties[key] = storeValue - if (meta.global.setAsUserProperties) { - event.properties.$set = event.properties.$set || {} - event.properties.$set[key] = storeValue - } - - if (meta.global.setAsInitialUserProperties) { - event.properties.$set_once = event.properties.$set_once || {} - event.properties.$set_once[`initial_${key}`] = storeValue - } - } - } - } - - return event -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json deleted file mode 100644 index 6e84ab12d58a4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-app-url-parameters-to-event-properties/plugin.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "URL parameters to event properties", - "url": "https://github.com/PostHog/posthog-app-url-parameters-to-event-properties", - "description": "Converts URL query parameters to event properties", - "main": "index.ts", - "config": [ - { - "key": "parameters", - "name": "URL query parameters to convert", - "type": "string", - "default": "", - "hint": "Comma separated list of URL query parameters to capture. Leaving this blank will capture nothing." - }, - { - "key": "prefix", - "name": "Prefix", - "type": "string", - "default": "", - "hint": "Add a prefix to the property name e.g. set it to 'prefix_' to get followerId -> prefix_followerId" - }, - { - "key": "suffix", - "name": "Suffix", - "type": "string", - "default": "", - "hint": "Add a suffix to the property name e.g. set it to '_suffix' to get followerId -> followerId_suffix" - }, - { - "key": "ignoreCase", - "name": "Ignore the case of URL parameters", - "type": "choice", - "choices": ["true", "false"], - "default": "false", - "hint": "Ignores the case of parameters e.g. when set to true than followerId would match FollowerId, followerID, FoLlOwErId and similar" - }, - { - "key": "setAsUserProperties", - "name": "Add to user properties", - "type": "choice", - "choices": ["true", "false"], - "default": "false", - "hint": "Additionally adds the property to the user properties" - }, - { - "key": "setAsInitialUserProperties", - "name": "Add to user initial properties", - "type": "choice", - "choices": ["true", "false"], - "default": "false", - "hint": "Additionally adds the property to the user initial properties. This will add a prefix of 'initial_' before the already fully composed property e.g. initial_prefix_followerId_suffix" - }, - { - "key": "alwaysJson", - "name": "Always JSON stringify the property data", - "type": "choice", - "choices": ["true", "false"], - "default": "false", - "hint": "If set, always store the resulting data as a JSON array. (Otherwise, single parameters get stored as-is, and multi-value parameters get stored as a JSON array.)" - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json deleted file mode 100644 index f6fee89f98eb4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/plugin.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "Filter Out Plugin", - "url": "https://github.com/plibither8/posthog-filter-out-plugin", - "description": "Filter out events where property values satisfy the given condition", - "main": "src/main.ts", - "config": [ - { - "markdown": "All filters must adhere to the JSON schema specified in the project's [README](https://github.com/plibither8/posthog-filter-out-plugin)." - }, - { - "key": "filters", - "name": "Filters to apply", - "type": "attachment", - "hint": "A JSON file containing an array of filters to apply. See the README for more information.", - "required": false - }, - { - "key": "eventsToDrop", - "name": "Events to filter out", - "type": "string", - "hint": "A comma-separated list of event names to filter out (e.g. $pageview,$autocapture)", - "required": false - }, - { - "key": "keepUndefinedProperties", - "name": "Keep event if any of the filtered properties are undefined?", - "type": "choice", - "choices": ["Yes", "No"], - "default": "No" - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts deleted file mode 100644 index 9c545038ba0fe..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.test.ts +++ /dev/null @@ -1,241 +0,0 @@ -import { expect, test, describe } from '@jest/globals' -import { createEvent } from '@posthog/plugin-scaffold/dist/test/utils' -import { PluginEvent } from '@posthog/plugin-scaffold' - -import { Filter, PluginMeta, processEvent, setupPlugin } from './main' - -const filters: Filter[] = [ - { - property: '$host', - type: 'string', - operator: 'not_contains', - value: 'localhost', - }, - { - property: 'foo', - type: 'number', - operator: 'gt', - value: 10, - }, - { - property: 'bar', - type: 'boolean', - operator: 'is', - value: true, - }, -] - -const meta = { - global: { filters, eventsToDrop: ['to_drop_event'] }, -} as PluginMeta - -test('Event satisfies all conditions and passes', () => { - const event = createEvent({ - event: 'test event', - properties: { - $host: 'example.com', - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta) - expect(processedEvent).toEqual(event) -}) - -test('Event does not satisfy one condition and is dropped', () => { - const event = createEvent({ - event: 'test event', - properties: { - $host: 'localhost:8000', - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta) - expect(processedEvent).toBeUndefined() -}) - -test('Event does not satisfy any condition and is dropped', () => { - const event = createEvent({ - event: 'test event', - properties: { - $host: 'localhost:8000', - foo: 5, - bar: false, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta) - expect(processedEvent).toBeUndefined() -}) - -test('Event is marked to be dropped is dropped', () => { - const event = createEvent({ - event: 'to_drop_event', - properties: { - $host: 'example.com', - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta) - expect(processedEvent).toBeUndefined() -}) - -test('Event is marked to be dropped when a property is undefined', () => { - const event = createEvent({ - event: 'test_event', - properties: { - $host: undefined, - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta) - expect(processedEvent).toBeUndefined() -}) - -test('Event is marked to be dropped when a property is undefined but keepUndefinedProperties', () => { - const event = createEvent({ - event: 'test_event', - properties: { - $host: undefined, - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, { - global: { ...meta.global, keepUndefinedProperties: true }, - } as PluginMeta) - expect(processedEvent).toEqual(event) -}) - -function setup(config) { - const global: any = {} - - setupPlugin({ - config, - global, - attachments: { filters: { contents: JSON.stringify(filters) } }, - } as any) - - return global -} - -test('setupPlugin() parsing eventsToDrop', () => { - expect(setup({ eventsToDrop: 'foo, bar ' }).eventsToDrop).toEqual(['foo', 'bar']) - expect(setup({ eventsToDrop: '$foo,$bar' }).eventsToDrop).toEqual(['$foo', '$bar']) - expect(setup({}).eventsToDrop).toEqual([]) -}) - -test('setupPlugin() parsing keepUndefinedProperties', () => { - expect(setup({ keepUndefinedProperties: 'Yes' }).keepUndefinedProperties).toEqual(true) - expect(setup({ keepUndefinedProperties: 'No' }).keepUndefinedProperties).toEqual(false) - expect(setup({}).keepUndefinedProperties).toEqual(false) -}) - -describe('empty filters', () => { - const meta_no_filters = { - global: { filters: [], eventsToDrop: ['to_drop_event'] }, - } as PluginMeta - - test('Event satisfies all conditions and passes', () => { - const event = createEvent({ - event: 'test event', - properties: { - $host: 'example.com', - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta_no_filters) - expect(processedEvent).toEqual(event) - }) - - test('Event is marked to be dropped is dropped', () => { - const event = createEvent({ - event: 'to_drop_event', - properties: { - $host: 'example.com', - foo: 20, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta_no_filters) - expect(processedEvent).toBeUndefined() - }) - - test('setupPlugin() without any config works', () => { - const global: any = {} - setupPlugin({ config: {}, global, attachments: { filters: null } } as any) - expect(global.filters).toEqual([]) - expect(global.eventsToDrop).toEqual([]) - expect(global.keepUndefinedProperties).toEqual(false) - }) - - test('setupPlugin() with other config works', () => { - const global: any = {} - setupPlugin({ - config: { eventsToDrop: 'foo,bar', keepUndefinedProperties: 'Yes' }, - global, - attachments: { filters: null }, - } as any) - expect(global.filters).toEqual([]) - expect(global.eventsToDrop).toEqual(['foo', 'bar']) - expect(global.keepUndefinedProperties).toEqual(true) - }) -}) - -const filters_or: Filter[][] = [ - [ - { - property: '$host', - type: 'string', - operator: 'not_contains', - value: 'localhost', - }, - { - property: 'foo', - type: 'number', - operator: 'gt', - value: 10, - }, - ], - [ - { - property: 'bar', - type: 'boolean', - operator: 'is', - value: true, - }, - ], -] - -const meta_or = { - global: { filters: filters_or, eventsToDrop: ['to_drop_event'] }, -} as PluginMeta - -test('Event satisfies at least one filter group and passes', () => { - const event = createEvent({ - event: 'test event', - properties: { - $host: 'example.com', - foo: 5, - bar: true, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta_or) - expect(processedEvent).toEqual(event) -}) - -test('Event satisfies no filter groups and is dropped', () => { - const event = createEvent({ - event: 'test event', - properties: { - $host: 'localhost:8000', - foo: 5, - bar: false, - }, - }) as unknown as PluginEvent - const processedEvent = processEvent(event, meta_or) - expect(processedEvent).toBeUndefined() -}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts b/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts deleted file mode 100644 index 8c2caee33f548..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-filter-out/src/main.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { Meta, PluginEvent, PluginAttachment } from '@posthog/plugin-scaffold' - -export interface Filter { - property: string - type: 'string' | 'number' | 'boolean' - operator: string - value: string | number | boolean -} - -export type PluginMeta = Meta<{ - config: { - eventsToDrop?: string - keepUndefinedProperties?: 'Yes' | 'No' - } - global: { - filters: Filter[][] | Filter[] - eventsToDrop: string[] - keepUndefinedProperties?: boolean - } - attachments: { - filters?: PluginAttachment - } -}> - -const operations: Record boolean>> = { - string: { - is: (a, b) => a === b, - is_not: (a, b) => a !== b, - contains: (a, b) => a.includes(b), - not_contains: (a, b) => !a.includes(b), - regex: (a, b) => new RegExp(b).test(a), - not_regex: (a, b) => !new RegExp(b).test(a), - }, - number: { - gt: (a, b) => a > b, - lt: (a, b) => a < b, - gte: (a, b) => a >= b, - lte: (a, b) => a <= b, - eq: (a, b) => a === b, - neq: (a, b) => a !== b, - }, - boolean: { - is: (a, b) => a === b, - is_not: (a, b) => a !== b, - }, -} - -export function setupPlugin({ global, config, attachments }: PluginMeta) { - if (attachments.filters) { - try { - const filterGroups = parseFiltersAndMigrate(JSON.parse(attachments.filters.contents)) - if (!filterGroups) throw new Error('No filters found') - - // Check if the filters are valid - for (const filters of filterGroups) { - for (const filter of filters) { - if (!operations[filter.type][filter.operator]) { - throw new Error( - `Invalid operator "${filter.operator}" for type "${filter.type}" in filter for "${filter.property}"` - ) - } - } - } - // Save the filters to the global object - global.filters = filterGroups - } catch (err) { - throw new Error('Could not parse filters attachment: ' + err.message) - } - } else { - global.filters = [] - } - global.eventsToDrop = config?.eventsToDrop?.split(',')?.map((event) => event.trim()) || [] - - global.keepUndefinedProperties = config.keepUndefinedProperties === 'Yes' -} - -export function processEvent(event: PluginEvent, meta: PluginMeta): PluginEvent { - if (!event.properties) return event - const { eventsToDrop, keepUndefinedProperties } = meta.global - const filters = parseFiltersAndMigrate(meta.global.filters) - - // If the event name matches, we drop the event - if (eventsToDrop.some((e) => event.event === e)) { - return undefined - } - - // Check if the event satisfies any of the filter groups (OR logic between groups) - const keepEvent = filters.some((filterGroup) => - // Check if all filters in the group are satisfied (AND logic within group) - filterGroup.every((filter) => { - const value = event.properties[filter.property] - if (value === undefined) return keepUndefinedProperties - - const operation = operations[filter.type][filter.operator] - if (!operation) throw new Error(`Invalid operator ${filter.operator}`) - - return operation(value, filter.value) - }) - ) - - // If should keep the event, return it, else return undefined - return keepEvent ? event : undefined -} - -const parseFiltersAndMigrate = (filters: Filter[][] | Filter[]): Filter[][] => { - if (!Array.isArray(filters)) { - throw new Error('No filters found') - } - - // Handle legacy format: Convert single filter array to nested array - // to maintain backwards compatibility with older plugin versions that used a single array of filters with "AND" logic - if (filters.length === 0 || !Array.isArray(filters[0])) { - return [filters as Filter[]] - } - return filters as Filter[][] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts deleted file mode 100644 index 9d5af590946dc..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.test.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { City, Reader } from '@maxmind/geoip2-node' -import { Plugin, PluginMeta } from '@posthog/plugin-scaffold' -// @ts-ignore -import { createPageview, resetMeta } from '@posthog/plugin-scaffold/test/utils' -import { join } from 'path' - -import * as index from '.' - -const { processEvent } = index as Required - -const DEFAULT_MMDB_FILE_NAME = 'GeoLite2-City-Test.mmdb' - -async function resetMetaWithMmdb( - transformResult = (res: City) => res as Record, - file = DEFAULT_MMDB_FILE_NAME -): Promise { - const mmdb = await Reader.open(join(__dirname, file)) - return resetMeta({ - geoip: { - locate: (ipAddress: string) => { - const res = mmdb.city(ipAddress) - return transformResult(res) - }, - }, - }) as PluginMeta -} - -test('event is enriched with IP location', async () => { - const event = await processEvent({ ...createPageview(), ip: '89.160.20.129' }, await resetMetaWithMmdb()) - expect(event!.properties).toEqual( - expect.objectContaining({ - $geoip_city_name: 'Linköping', - $geoip_country_name: 'Sweden', - $geoip_country_code: 'SE', - $geoip_continent_name: 'Europe', - $geoip_continent_code: 'EU', - $geoip_latitude: 58.4167, - $geoip_longitude: 15.6167, - $geoip_accuracy_radius: 76, - $geoip_time_zone: 'Europe/Stockholm', - $geoip_subdivision_1_code: 'E', - $geoip_subdivision_1_name: 'Östergötland County', - }) - ) -}) - -test('person is enriched with IP location', async () => { - const event = await processEvent({ ...createPageview(), ip: '89.160.20.129' }, await resetMetaWithMmdb()) - expect(event!.properties!.$set).toEqual( - expect.objectContaining({ - $geoip_city_name: 'Linköping', - $geoip_country_name: 'Sweden', - $geoip_country_code: 'SE', - $geoip_continent_name: 'Europe', - $geoip_continent_code: 'EU', - $geoip_latitude: 58.4167, - $geoip_longitude: 15.6167, - $geoip_time_zone: 'Europe/Stockholm', - $geoip_subdivision_1_code: 'E', - $geoip_subdivision_1_name: 'Östergötland County', - }) - ) - expect(event!.properties!.$set_once).toEqual( - expect.objectContaining({ - $initial_geoip_city_name: 'Linköping', - $initial_geoip_country_name: 'Sweden', - $initial_geoip_country_code: 'SE', - $initial_geoip_continent_name: 'Europe', - $initial_geoip_continent_code: 'EU', - $initial_geoip_latitude: 58.4167, - $initial_geoip_longitude: 15.6167, - $initial_geoip_time_zone: 'Europe/Stockholm', - $initial_geoip_subdivision_1_code: 'E', - $initial_geoip_subdivision_1_name: 'Östergötland County', - }) - ) -}) - -test('person props default to null if no values present', async () => { - const removeCityNameFromLookupResult = (res: City) => { - const { city, ...remainingResult } = res - return remainingResult - } - const event = await processEvent( - { ...createPageview(), ip: '89.160.20.129' }, - await resetMetaWithMmdb(removeCityNameFromLookupResult) - ) - expect(event!.properties!.$set).toMatchInlineSnapshot(` - Object { - "$geoip_accuracy_radius": 76, - "$geoip_city_confidence": null, - "$geoip_city_name": null, - "$geoip_continent_code": "EU", - "$geoip_continent_name": "Europe", - "$geoip_country_code": "SE", - "$geoip_country_name": "Sweden", - "$geoip_latitude": 58.4167, - "$geoip_longitude": 15.6167, - "$geoip_postal_code": null, - "$geoip_subdivision_1_code": "E", - "$geoip_subdivision_1_name": "Östergötland County", - "$geoip_subdivision_2_code": null, - "$geoip_subdivision_2_name": null, - "$geoip_time_zone": "Europe/Stockholm", - } - `) - expect(event!.properties!.$set_once).toMatchInlineSnapshot(` - Object { - "$initial_geoip_accuracy_radius": 76, - "$initial_geoip_city_confidence": null, - "$initial_geoip_city_name": null, - "$initial_geoip_continent_code": "EU", - "$initial_geoip_continent_name": "Europe", - "$initial_geoip_country_code": "SE", - "$initial_geoip_country_name": "Sweden", - "$initial_geoip_latitude": 58.4167, - "$initial_geoip_longitude": 15.6167, - "$initial_geoip_postal_code": null, - "$initial_geoip_subdivision_1_code": "E", - "$initial_geoip_subdivision_1_name": "Östergötland County", - "$initial_geoip_subdivision_2_code": null, - "$initial_geoip_subdivision_2_name": null, - "$initial_geoip_time_zone": "Europe/Stockholm", - } - `) -}) - -test('error is thrown if meta.geoip is not provided', async () => { - expect.assertions(1) - await expect( - async () => await processEvent({ ...createPageview(), ip: '89.160.20.129' }, resetMeta()) - ).rejects.toEqual( - new Error('This PostHog version does not have GeoIP capabilities! Upgrade to PostHog 1.24.0 or later') - ) -}) - -test('event is skipped using $geoip_disable', async () => { - const testEvent = { ...createPageview(), ip: '89.160.20.129', properties: { $geoip_disable: true } } - const processedEvent = await processEvent(JSON.parse(JSON.stringify(testEvent)), await resetMetaWithMmdb()) - expect(testEvent).toEqual(processedEvent) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts deleted file mode 100644 index 76503c6d71358..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/index.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { Plugin } from '@posthog/plugin-scaffold' - -const props = { - city_name: null, - city_confidence: null, - subdivision_2_name: null, - subdivision_2_code: null, - subdivision_1_name: null, - subdivision_1_code: null, - country_name: null, - country_code: null, - continent_name: null, - continent_code: null, - postal_code: null, - latitude: null, - longitude: null, - accuracy_radius: null, - time_zone: null, -} - -const defaultLocationSetProps = Object.entries(props).reduce((acc, [key]) => { - acc[`$geoip_${key}`] = null - return acc -}, {} as Record) - -const defaultLocationSetOnceProps = Object.entries(props).reduce((acc, [key]) => { - acc[`$initial_geoip_${key}`] = null - return acc -}, {} as Record) - -const plugin: Plugin = { - processEvent: async (event, { geoip }) => { - if (!geoip) { - throw new Error('This PostHog version does not have GeoIP capabilities! Upgrade to PostHog 1.24.0 or later') - } - let ip = event.properties?.$ip || event.ip - if (ip && !event.properties?.$geoip_disable) { - ip = String(ip) - if (ip === '127.0.0.1') { - ip = '13.106.122.3' // Spoofing an Australian IP address for local development - } - const response = await geoip.locate(ip) - if (response) { - const location: Record = {} - if (response.city) { - location['city_name'] = response.city.names?.en - if (typeof response.city.confidence === 'number') { - // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed - location['city_confidence'] = response.city.confidence - } - } - if (response.country) { - location['country_name'] = response.country.names?.en - location['country_code'] = response.country.isoCode - if (typeof response.country.confidence === 'number') { - // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed - location['country_confidence'] = response.country.confidence ?? null - } - } - if (response.continent) { - location['continent_name'] = response.continent.names?.en - location['continent_code'] = response.continent.code - } - if (response.postal) { - location['postal_code'] = response.postal.code - if (typeof response.postal.confidence === 'number') { - // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed - location['postal_code_confidence'] = response.postal.confidence ?? null - } - } - if (response.location) { - location['latitude'] = response.location?.latitude - location['longitude'] = response.location?.longitude - location['accuracy_radius'] = response.location?.accuracyRadius - location['time_zone'] = response.location?.timeZone - } - if (response.subdivisions) { - for (const [index, subdivision] of response.subdivisions.entries()) { - location[`subdivision_${index + 1}_code`] = subdivision.isoCode - location[`subdivision_${index + 1}_name`] = subdivision.names?.en - - if (typeof subdivision.confidence === 'number') { - // NOTE: Confidence is part of the enterprise maxmind DB, not typically installed - location[`subdivision_${index + 1}_confidence`] = subdivision.confidence ?? null - } - } - } - - if (!event.properties) { - event.properties = {} - } - - if (!event.properties.$set) { - event.properties.$set = {} - } - if (!event.properties.$set_once) { - event.properties.$set_once = {} - } - event.properties.$set = { ...defaultLocationSetProps, ...(event.properties.$set ?? {}) } - event.properties.$set_once = { - ...defaultLocationSetOnceProps, - ...(event.properties.$set_once ?? {}), - } - - for (const [key, value] of Object.entries(location)) { - event.properties[`$geoip_${key}`] = value - event.properties.$set![`$geoip_${key}`] = value - event.properties.$set_once![`$initial_geoip_${key}`] = value - } - } - } - return event - }, -} - -module.exports = plugin diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json deleted file mode 100644 index 723251ca4a6cf..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-geoip/plugin.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "GeoIP", - "url": "https://github.com/PostHog/posthog-plugin-geoip", - "description": "Enrich PostHog events and persons with IP location data", - "main": "index.ts", - "posthogVersion": ">=1.24.0", - "stateless": true -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json deleted file mode 100644 index 8d7d6fcded52f..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/plugin.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "Route Censor", - "description": "Removes segments of URLs based on route patterns.", - "url": "https://github.com/ava-labs/posthog-route-censor-plugin", - "main": "dist/index.js", - "config": [ - { - "markdown": "Removes segments of URLs based on route patterns. See [Github Repo](https://github.com/ava-labs/posthog-route-censor-plugin) for more details." - }, - { - "key": "routes", - "name": "List of routes following the React Router route patterns.", - "markdown": "[Example Here](https://github.com/ava-labs/posthog-route-censor-plugin/blob/main/src/assets/exampleRoutes.json). See package [README](https://github.com/ava-labs/posthog-route-censor-plugin) for more details.", - "type": "attachment", - "hint": "See README for more details and example.", - "required": true - }, - { - "key": "properties", - "name": "List of properties to censor", - "type": "string", - "default": "$current_url,$referrer,$pathname,$initial_current_url,initial_pathname,initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - }, - { - "key": "set_properties", - "name": "List of $set properties to censor", - "type": "string", - "default": "$initial_current_url,$initial_pathname,$initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - }, - { - "key": "set_once_properties", - "name": "List of $set_once properties to censor", - "type": "string", - "default": "$initial_current_url,$initial_pathname,$initial_referrer", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,$baz`", - "required": false - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json deleted file mode 100644 index da8a88db88c7b..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/assets/exampleRoutes.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "path": "/drivers-license/:driversLicenseId", - "include": ["driversLicenseId"] - }, - { - "path": "/medical-id-number/:medicalIdNumber", - "include": ["medicalIdNumber"] - }, - { - "path": "/secret-clubs/:category/:secretClubId", - "include": ["secretClubId"] - } -] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts deleted file mode 100644 index 7f40ef4aa9c33..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' -export declare const setupPlugin: ({ global, config }: any) => void -/** - * Runs on every event - * - * @param event PostHog event - * @param meta metadata defined in the plugin.json - * @returns modified event - */ -export declare const processEvent: (event: PluginEvent, { global }: PluginMeta>) => PluginEvent diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts deleted file mode 100644 index e86fc16b79973..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/index.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Plugin, PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' -import { censorProperties } from 'utils/censorProperties' - -export const setupPlugin = ({ global, config, attachments }: any) => { - global.properties = config.properties.split(',') - global.setProperties = config.set_properties.split(',') - global.setOnceProperties = config.set_once_properties.split(',') - global.routes = attachments?.routes?.contents ? JSON.parse(attachments?.routes?.contents) : undefined - - console.debug('Plugin set up with global config: ', JSON.stringify(global, null, 2)) -} - -/** - * Runs on every event - * - * @param event PostHog event - * @param meta metadata defined in the plugin.json - * @returns modified event - */ -export const processEvent = (event: PluginEvent, { global }: PluginMeta>): PluginEvent => { - // If we don't have routes to censor, then just return the input event. - if (!global.routes?.length) { - return event - } - - return { - ...event, - properties: { - ...event.properties, - ...censorProperties(event.properties, global.routes, global.properties), - }, - $set: { - ...event.$set, - ...censorProperties(event.$set, global.routes, global.setProperties), - }, - $set_once: { - ...event.$set_once, - ...censorProperties(event.$set_once, global.routes, global.setOnceProperties), - }, - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts deleted file mode 100644 index 3aa91e97bec27..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/types/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type Route = { - path: string - include: string[] -} - -export type Routes = Route[] diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts deleted file mode 100644 index 2648ba6b2c798..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorProperties.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Properties } from '@posthog/plugin-scaffold' -import { Routes } from 'types' -import { censorUrlPath, checkIsValidHttpUrl } from 'utils' - -/** - * Removes addresses and hashes from URLs stored in posthog properties. - * - * @param properties Full list of properties passed into the event. - * @param propertiesToAnonymize List of properties that should be anonymized. - * @returns The anonymized list of properties. - */ -export const censorProperties = ( - properties: Properties | undefined, - routes: Routes | undefined, - propertiesToAnonymize: string[] -): Partial => { - if (!properties) return {} - const censoredProperties: Partial = {} - - propertiesToAnonymize.forEach((propertyKey) => { - const propertyValue = properties[propertyKey] - if (!propertyValue || typeof propertyValue !== 'string') { - return - } - - const isValidUrl = checkIsValidHttpUrl(propertyValue) - // For full URLs, first parse out the path. - if (isValidUrl) { - const url = new URL(propertyValue) - const censoredPath = censorUrlPath(url.pathname, routes) - // Piece back together the URL but with the censored path. - censoredProperties[propertyKey] = `${url.origin}${censoredPath}` - return - } - // Otherwise assume the propertyValue is a url path (instead of the full url) and we can censor it directly. - censoredProperties[propertyKey] = censorUrlPath(propertyValue, routes) - }) - - return censoredProperties -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts deleted file mode 100644 index db9612d95c85a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/censorUrlPath.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { matchRoutes } from '@remix-run/router' -import { Routes } from 'types' - -/** - * Take a URL path and applies the react router v6 route matching algorithm - * to censor portions of the URL - * - * @param path URL path to censor - * @returns same URL path, but with all included variables censored - */ -export const censorUrlPath = (path: string, routes?: Routes) => { - if (typeof path !== 'string') { - return path - } - - // If no routes, then just censor all paths to be safe. - if (typeof routes === 'undefined') { - return '/:censoredFullPath' - } - - // Find matches with URL path using React Router's parsing algoritm. - const matches = matchRoutes(routes, path) - - // If no matches, then no need to censor anything. - if (!matches?.length) { - return path - } - - let censoredPath = path - // Check each match, if the variable is in the "includes" array, then censor it. - matches.forEach((match) => { - match.route.include.forEach((variableToCensor) => { - const value = match.params[variableToCensor] - if (!value) { - return - } - censoredPath = censoredPath.replace(value, `:${variableToCensor}`) - }) - }) - return censoredPath -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts deleted file mode 100644 index eb97d37ce0757..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/checkIsValidHttpUrl.ts +++ /dev/null @@ -1,8 +0,0 @@ -export const checkIsValidHttpUrl = (str: string) => { - try { - const url = new URL(str) - return url.protocol === 'http:' || url.protocol === 'https:' - } catch (err) { - return false - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts deleted file mode 100644 index 94fa260d1b323..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-route-censor/src/utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './checkIsValidHttpUrl' -export * from './censorUrlPath' diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts deleted file mode 100644 index f110ddace49b0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.test.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' -import { processEvent } from './index' - -/** - * Given a url, construct a page view event. - * - * @param $current_url The current url of the page view - * @returns A new PostHog page view event - */ -function buildPageViewEvent($current_url: string): PluginEvent { - const event: PluginEvent = { - properties: { $current_url }, - distinct_id: 'distinct_id', - ip: '1.2.3.4', - site_url: 'test.com', - team_id: 0, - now: '2022-06-17T20:21:31.778000+00:00', - event: '$pageview', - uuid: '01817354-06bb-0000-d31c-2c4eed374100', - } - - return event -} - -function buildEventWithoutCurrentUrl(): PluginEvent { - const event: PluginEvent = { - properties: {}, - distinct_id: 'distinct_id', - ip: '1.2.3.4', - site_url: 'test.com', - team_id: 0, - now: '2022-06-17T20:21:31.778000+00:00', - event: '$identify', - uuid: '01817354-06bb-0000-d31c-2c4eed374100', - } - - return event -} - -function getMeta(): PluginMeta { - return {} as unknown as PluginMeta -} - -describe('processEvent', () => { - it("shouldn't change a url that's already lowercase", () => { - const sourceEvent = buildPageViewEvent('http://www.google.com/test') - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/test') - }) - - it('should convert the current_url to lowercase', () => { - const sourceEvent = buildPageViewEvent('http://www.GoOGle.com/WhatAreYouThinking') - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/whatareyouthinking') - }) - - it('should remove the trailing slash from the current_url', () => { - const sourceEvent = buildPageViewEvent('http://www.google.com/this_is_a_test/') - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/this_is_a_test') - }) - - it("should preserve the trailing slash if it's the only character in the path", () => { - const sourceEvent = buildPageViewEvent('http://www.google.com/') - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/') - }) - - it('should preserve trailing id anchors', () => { - const sourceEvent = buildPageViewEvent('http://www.google.com/this_is_a_test#id_anchor') - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent?.properties?.$current_url).toEqual('http://www.google.com/this_is_a_test#id_anchor') - }) - - it('should preserve trailing anchors but drop trailing slashes', () => { - const sourceEvent = buildPageViewEvent('http://www.google.com/this_is_a_test_with_trailing_slash/#id_anchor') - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent?.properties?.$current_url).toEqual( - 'http://www.google.com/this_is_a_test_with_trailing_slash#id_anchor' - ) - }) - - it("shouldn't modify events that don't have a $current_url set", () => { - const sourceEvent = buildEventWithoutCurrentUrl() - - const processedEvent = processEvent(sourceEvent, getMeta()) - - expect(processedEvent).toEqual(sourceEvent) - expect(processedEvent?.properties).toEqual(sourceEvent.properties) - expect(processedEvent?.properties?.$current_url).toBeUndefined() - }) - - it('should raise an error if the $current_url is an invalid url', () => { - const sourceEvent = buildPageViewEvent('invalid url') - - expect(() => processEvent(sourceEvent, getMeta())).toThrowError( - `Unable to normalize invalid URL: "invalid url"` - ) - }) - - it('should log the normalized_url for debugging', () => { - const consoleSpy = jest.spyOn(console, 'debug') - - const sourceEvent = buildPageViewEvent('http://www.GoOGle.com/WhatAreYouThinking') - processEvent(sourceEvent, getMeta()) - - expect(consoleSpy).toHaveBeenCalledWith( - 'event.$current_url: "http://www.GoOGle.com/WhatAreYouThinking" normalized to "http://www.google.com/whatareyouthinking"' - ) - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts deleted file mode 100644 index 77d5854630ba0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { PluginEvent, PluginInput, PluginMeta } from '@posthog/plugin-scaffold' - -function normalizeUrl(url: string): string { - try { - const parsedUrl = new URL(url.toLocaleLowerCase()) - parsedUrl.pathname = parsedUrl.pathname.replace(/\/$/, '') - - return parsedUrl.toString() - } catch (err) { - throw `Unable to normalize invalid URL: "${url}"` - } -} - -export function processEvent(event: PluginEvent, meta: PluginMeta) { - const $current_url = event?.properties?.$current_url - if (event?.properties && $current_url) { - const normalized_url = normalizeUrl($current_url) - event.properties.$current_url = normalized_url - - console.debug(`event.$current_url: "${$current_url}" normalized to "${normalized_url}"`) - } - - return event -} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/plugin.json b/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/plugin.json deleted file mode 100644 index be643ef352e2d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-url-normalizer/plugin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "URL Normalizer", - "url": "https://github.com/MarkBennett/posthog-url-normalizer-plugin", - "description": "A PostHog plugin to normalize the format of urls in your application allowing you to more easily compare them in insights.", - "main": "index.ts", - "posthogVersion": ">= 1.25.0", - "config": [ - { - "markdown": "Normalize the format of urls in your application allowing you to more easily compare them in insights. By default, this converts all urls to lowercase and strips the trailing slash, overrighting the old `current_url` value." - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js deleted file mode 100644 index ae59d171c0aac..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/__tests__/index.js +++ /dev/null @@ -1,57 +0,0 @@ -const { createEvent } = require('@posthog/plugin-scaffold/test/utils.js') -const { processEventBatch } = require('../index') - -const eventNamingOptions = [ - 'helloThereWorld', - 'HelloThereWorld', - 'hello_there_world', - 'hello-there-world', - 'hello there world', -] - -test('converts all event names to camelCase', async () => { - const events = eventNamingOptions.map((option) => createEvent({ event: option })) - - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'camelCase' } }) - for (const event of eventsOutput) { - expect(event).toEqual(createEvent({ event: 'helloThereWorld' })) - } -}) - -test('converts all event names to PascalCase', async () => { - const events = eventNamingOptions.map((option) => createEvent({ event: option })) - - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'PascalCase' } }) - for (const event of eventsOutput) { - expect(event).toEqual(createEvent({ event: 'HelloThereWorld' })) - } -}) - -test('converts all event names to snake_case', async () => { - const events = eventNamingOptions.map((option) => createEvent({ event: option })) - - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'snake_case' } }) - for (const event of eventsOutput) { - expect(event).toEqual(createEvent({ event: 'hello_there_world' })) - } -}) - -test('converts all event names to kebab-case', async () => { - const events = eventNamingOptions.map((option) => createEvent({ event: option })) - - const eventsOutput = await processEventBatch([...events], { config: { defaultNamingConvention: 'kebab-case' } }) - for (const event of eventsOutput) { - expect(event).toEqual(createEvent({ event: 'hello-there-world' })) - } -}) - -test('converts all event names to spaces in between', async () => { - const events = eventNamingOptions.map((option) => createEvent({ event: option })) - - const eventsOutput = await processEventBatch([...events], { - config: { defaultNamingConvention: 'spaces in between' }, - }) - for (const event of eventsOutput) { - expect(event).toEqual(createEvent({ event: 'hello there world' })) - } -}) diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js b/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js deleted file mode 100644 index c59ce7f8ca302..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/index.js +++ /dev/null @@ -1,78 +0,0 @@ -const transformations = [ - { - name: 'camelCase', - matchPattern: /[A-Z]/g, - transform: (str, matchPattern) => - str[0].toLowerCase() + - str.slice(1).replace(matchPattern, (substr) => substr[substr.length - 1].toUpperCase()), - }, - { - name: 'PascalCase', - matchPattern: /[A-Z]/g, - transform: (str, matchPattern) => - str[0].toUpperCase() + - str.slice(1).replace(matchPattern, (substr) => substr[substr.length - 1].toUpperCase()), - }, - { - name: 'snake_case', - matchPattern: /([_])([a-z])/g, - transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '_'), - }, - { - name: 'kebab_case', - matchPattern: /([-])([a-z])/g, - transform: (str, matchPattern) => defaultTransformation(str, matchPattern, '-'), - }, - { - name: 'spaces', - matchPattern: /([\s])([a-z])/g, - transform: (str, matchPattern) => defaultTransformation(str, matchPattern, ' '), - }, -] - -const configSelectionMap = { - camelCase: 0, - PascalCase: 1, - snake_case: 2, - 'kebab-case': 3, - 'spaces in between': 4, -} - -const skippedPostHogEvents = ['survey shown', 'survey sent', 'survey dismissed'] - -async function processEventBatch(events, { config }) { - for (let event of events) { - if (!event.event.startsWith('$') && !skippedPostHogEvents.includes(event.event)) { - event.event = standardizeName( - event.event, - transformations[configSelectionMap[config.defaultNamingConvention]] - ) - } - } - return events -} - -const defaultTransformation = (str, matchPattern, sep) => { - const parsedStr = str.replace( - matchPattern, - (substr) => sep + (substr.length === 1 ? substr.toLowerCase() : substr[1].toLowerCase()) - ) - if (parsedStr[0] === sep) { - return parsedStr.slice(1) // Handle PascalCase - } - return parsedStr -} - -const standardizeName = (name, desiredPattern) => { - for (const transformation of transformations) { - if (transformation.name === desiredPattern.name || name.search(transformation.matchPattern) < 0) { - continue - } - return desiredPattern.transform(name, transformation.matchPattern) - } - return name -} - -module.exports = { - processEventBatch, -} diff --git a/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json b/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json deleted file mode 100644 index 616e5dd911d41..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/taxonomy/plugin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "Taxonomy Plugin", - "url": "https://github.com/PostHog/taxonomy-plugin", - "description": "Standardize your event names into a single pattern.", - "main": "index.js", - "config": [ - { - "key": "defaultNamingConvention", - "hint": "", - "name": "Select your default naming pattern", - "type": "choice", - "choices": ["camelCase", "PascalCase", "snake_case", "kebab-case", "spaces in between"], - "order": 1, - "default": "camelCase", - "required": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js deleted file mode 100644 index 60a32984ae491..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/__tests__/index.js +++ /dev/null @@ -1,53 +0,0 @@ -const { - createEvent, - createIdentify, - createPageview, - createCache, - getMeta, - resetMeta, - clone, -} = require('@posthog/plugin-scaffold/test/utils.js') -const { setupPlugin, processEvent } = require('../index') - -test('processEvent adds the right properties', async () => { - const event0 = createEvent({ - event: 'Monday 27/01/2021', - properties: { $time: 1611772203.557, keepMe: 'nothing changes' }, - }) - - const event1 = await processEvent(clone(event0), getMeta()) - expect(event1).toEqual({ - ...event0, - properties: { - ...event0.properties, - day_of_the_week: 'Wednesday', - day: '27', - month: '01', - year: '2021', - }, - }) - - const event2 = createEvent({ - event: 'Monday 25/01/2021', - properties: { $time: 1611587425.118, keepMe: 'nothing changes' }, - }) - - const event3 = await processEvent(clone(event2), getMeta()) - expect(event3).toEqual({ - ...event2, - properties: { - ...event2.properties, - day_of_the_week: 'Monday', - day: '25', - month: '01', - year: '2021', - }, - }) -}) - -test('processEvent does not crash with identify', async () => { - const event0 = createIdentify() - - const event1 = await processEvent(clone(event0), getMeta()) - expect(event1).toEqual(event0) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js deleted file mode 100644 index d66f13eb90da4..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/index.js +++ /dev/null @@ -1,18 +0,0 @@ -function processEvent(event) { - if (event.properties && event['timestamp'] && !isNaN(event['timestamp'])) { - const eventDate = new Date(event['timestamp']) - event.properties['day_of_the_week'] = eventDate.toLocaleDateString('en-GB', { weekday: 'long' }) - const date = eventDate.toLocaleDateString('en-GB').split('/') - event.properties['day'] = Number(date[0]) - event.properties['month'] = Number(date[1]) - event.properties['year'] = Number(date[2]) - event.properties['hour'] = eventDate.getHours() - event.properties['minute'] = eventDate.getMinutes() - } - - return event -} - -module.exports = { - processEvent, -} diff --git a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json b/plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json deleted file mode 100644 index f5075b6013b5a..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/timestamp-parser/plugin.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Timestamp Parser", - "url": "https://github.com/PostHog/timestamp-parser-plugin", - "description": "Parse your event timestamps into useful date properties.", - "main": "index.js" -} From b756893f82fc54400bc8c9cf74d7c0da27999743 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 12:07:30 +0100 Subject: [PATCH 54/76] fix lint errors --- plugin-server/src/cdp/legacy-plugins/index.ts | 12 ++-- .../cdp/legacy-plugins/posthog-avo/index.ts | 28 ++++---- .../legacy-plugins/posthog-braze-app/index.ts | 6 +- .../tests/export-events.test.ts | 2 - .../posthog-braze-app/tests/index.test.ts | 2 - .../posthog-engage-so/test/index.test.js | 2 - .../cdp/legacy-plugins/posthog-gcs/index.ts | 9 +-- .../posthog-laudspeaker-app/index.ts | 17 ++--- .../posthog-patterns-app/index.test.ts | 15 ++-- .../posthog-patterns-app/index.ts | 12 ++-- .../posthog-plugin-replicator/index.ts | 1 - .../legacy-plugins/property-filter/index.js | 35 --------- .../property-filter/index.test.js | 72 ------------------- .../property-filter/plugin.json | 19 ----- .../src/cdp/legacy-plugins/pubsub/index.ts | 8 +-- .../rudderstack-posthog/index.ts | 16 ++--- .../salesforce/src/eventSinkMapping.test.ts | 3 +- .../salesforce/src/getProperties.test.ts | 1 + .../legacy-plugins/salesforce/src/index.ts | 14 ++-- .../salesforce/src/onEvent.test.ts | 21 +++--- .../src/sendEventToSalesforce.test.ts | 7 +- .../sendgrid/__tests__/index.js | 4 +- .../src/cdp/legacy-plugins/sendgrid/index.ts | 8 +-- 23 files changed, 88 insertions(+), 226 deletions(-) delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/index.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index 54677575a48d0..f57ffca1bf4fc 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -1,16 +1,16 @@ import { customerioPlugin } from './customerio' import { hubspotPlugin } from './hubspot' import { intercomPlugin } from './intercom' -import { rudderstackPlugin } from './rudderstack-posthog' -import { engagePlugin } from './posthog-engage-so' import { avoPlugin } from './posthog-avo' -import { patternsPlugin } from './posthog-patterns-app' import { brazePlugin } from './posthog-braze-app' -import { pubsubPlugin } from './pubsub' -import { sendgridPlugin } from './sendgrid' +import { engagePlugin } from './posthog-engage-so' import { gcsPlugin } from './posthog-gcs' -import { salesforcePlugin } from './salesforce/src' import { laudspeakerPlugin } from './posthog-laudspeaker-app' +import { patternsPlugin } from './posthog-patterns-app' +import { pubsubPlugin } from './pubsub' +import { rudderstackPlugin } from './rudderstack-posthog' +import { salesforcePlugin } from './salesforce/src' +import { sendgridPlugin } from './sendgrid' export const PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts index c8a2bdbf64408..9dfd1d9a80cd3 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts @@ -1,19 +1,16 @@ -import { ProcessedPluginEvent, Plugin } from '@posthog/plugin-scaffold' -import { RetryError } from '@posthog/plugin-scaffold' - -import { Response } from '~/src/utils/fetch' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { randomUUID } from 'crypto' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -import { randomUUID } from 'crypto' -interface AvoInspectorMeta { +type AvoPluginMeta = LegacyPluginMeta & { global: { defaultHeaders: Record - excludeEvents: Set - includeEvents: Set - excludeProperties: Set - includeProperties: Set + excludeEvents: Set + includeEvents: Set + excludeProperties: Set + includeProperties: Set } config: { appName: string @@ -25,9 +22,7 @@ interface AvoInspectorMeta { includeProperties: string } } -type AvoInspectorPlugin = Plugin - -export const setupPlugin: AvoInspectorPlugin['setupPlugin'] = async ({ config, global }) => { +export const setupPlugin = ({ config, global }: AvoPluginMeta): Promise => { global.defaultHeaders = { env: config.environment, 'api-key': config.avoApiKey, @@ -47,6 +42,7 @@ export const setupPlugin: AvoInspectorPlugin['setupPlugin'] = async ({ config, g global.includeProperties = new Set( config.includeProperties ? config.includeProperties.split(',').map((event) => event.trim()) : null ) + return Promise.resolve() } const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { @@ -91,8 +87,8 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L const convertPosthogPropsToAvoProps = ( properties: Record, - excludeProperties: Set, - includeProperties: Set + excludeProperties: Set, + includeProperties: Set ): Record[] => { const avoProps = [] @@ -111,7 +107,7 @@ const convertPosthogPropsToAvoProps = ( // Compatible with the Avo Rudderstack integration const getPropValueType = (propValue: any): string => { - let propType = typeof propValue + const propType = typeof propValue if (propValue == null) { return 'null' } else if (propType === 'string') { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts index 04257aa630808..de4d61d1a065b 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -1,10 +1,10 @@ -// @ts-nocheck import { ProcessedPluginEvent, Properties, RetryError } from '@posthog/plugin-scaffold' +import crypto from 'crypto' import { Response } from '~/src/utils/fetch' + import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -import crypto from 'crypto' export type FetchBraze = ( endpoint: string, @@ -112,7 +112,7 @@ const _generateBrazeRequestBody = (pluginEvent: ProcessedPluginEvent, meta: Braz // If we have an event name in the exportEvents config option then we // should export the event to Braze. - // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { $set: _set, ...eventProperties } = properties ?? {} const events: Array = meta.config.eventsToExport?.split(',').includes(event) ? [ diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts index 671ebcfdc71f3..b4b1391189dd1 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts @@ -435,7 +435,6 @@ test('Braze offline error (500 response)', async () => { throw new Error('Should not reach here') } catch (e) { expect(e instanceof RetryError).toBeTruthy() - // @ts-ignore expect(e.message).toMatch('Service is down, retry later. Request ID: ') } }) @@ -486,7 +485,6 @@ test('Braze offline error (network error)', async () => { throw new Error('Should not reach here') } catch (e) { expect(e instanceof RetryError).toBeTruthy() - // @ts-ignore expect(e.message).toMatch('Fetch failed, retrying.') } }) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts index 83729f9f20371..2a5294079c2ee 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts @@ -1,7 +1,5 @@ import { ISODateString } from '../index' -// eslint-disable-next-line @typescript-eslint/no-unused-vars - test('ISODateString', () => { expect(ISODateString(new Date(1648458820359))).toEqual('2022-03-28T09:13:40.359Z') }) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js index 55d1d878ada9f..a9634bc437bef 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js @@ -134,8 +134,6 @@ test('composeWebhook to send the correct data to track group event', async () => }) test('composeWebhook should not track non-custom events besides $identify and $groupidentify', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - const event = { event: '$pageview', properties: { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts index 2ce9c8875452d..bf2849088f73e 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts @@ -1,7 +1,8 @@ +import { Bucket, Storage } from '@google-cloud/storage' import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' -import { Storage, Bucket } from '@google-cloud/storage' -import { PassThrough } from 'stream' import { randomBytes } from 'crypto' +import { PassThrough } from 'stream' + import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' @@ -41,8 +42,7 @@ interface TableRow { } function transformEventToRow(fullEvent: ProcessedPluginEvent): TableRow { - const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid, ...rest } = - fullEvent + const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid } = fullEvent const ip = properties?.['$ip'] || fullEvent.ip const timestamp = fullEvent.timestamp || properties?.timestamp || now || sent_at let ingestedProperties = properties @@ -92,6 +92,7 @@ const setupPlugin = async ({ attachments, global, config }: gcsMeta): Promise((config.exportEventsToIgnore || '').split(',').map((event) => event.trim())) + return Promise.resolve() } const onEvent = async (event: ProcessedPluginEvent, { global, logger }: gcsMeta) => { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts index 464bbfb3daea2..d0dd215b4b516 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts @@ -1,5 +1,5 @@ -// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' @@ -83,11 +83,11 @@ const eventToMapping = { } function set(target, path, value) { - let keys = path.split('.') - let len = keys.length + const keys = path.split('.') + const len = keys.length for (let i = 0; i < len; i++) { - let prop = keys[i] + const prop = keys[i] if (!isObject(target[prop])) { target[prop] = {} @@ -137,8 +137,8 @@ function get(target, path, options) { return isValid(path, target, options) ? target[path] : options.default } - let segs = isArray ? path : split(path, splitChar, options) - let len = segs.length + const segs = isArray ? path : split(path, splitChar, options) + const len = segs.length let idx = 0 do { @@ -221,6 +221,7 @@ export async function setupPlugin({ config, global }) { } global.writeKey = config.writeKey global.dataPlaneUrl = config.dataPlaneUrl + return Promise.resolve() } function getElementByOrderZero(json) { @@ -231,7 +232,7 @@ function getElementByOrderZero(json) { } const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { - let laudspeakerPayload = {} + const laudspeakerPayload = {} // add const value props constructPayload(laudspeakerPayload, event, constants, true) @@ -318,7 +319,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L function constructPayload(outPayload, inPayload, mapping, direct = false) { Object.keys(mapping).forEach((laudKeyPath) => { - let pHKeyPath = mapping[laudKeyPath] + const pHKeyPath = mapping[laudKeyPath] let pHKeyVal = undefined if (direct) { pHKeyVal = pHKeyPath diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts index d35251e641aca..b06e37765ed72 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts @@ -3,7 +3,7 @@ import fetchMock from 'jest-fetch-mock' fetchMock.enableMocks() -import { PatternsMeta, onEvent, setupPlugin } from './index' +import { onEvent, PatternsMeta, setupPlugin } from './index' const testWebhookUrl = 'https://api-staging.patterns.app/api/app/webhooks/wh1234' @@ -12,17 +12,16 @@ beforeEach(() => { }) test('onEvent called for event', async () => { - let meta = { + const meta = { config: { webhookUrl: testWebhookUrl, }, global: {}, fetch: fetchMock as unknown, } as PatternsMeta - setupPlugin(meta) + void setupPlugin(meta) const event1 = createEvent({ event: '$pageView' }) - // @ts-ignore await onEvent(event1, meta) expect(fetchMock.mock.calls.length).toEqual(1) @@ -35,7 +34,7 @@ test('onEvent called for event', async () => { }) test('onEvent called for allowed event', async () => { - let meta = { + const meta = { config: { webhookUrl: testWebhookUrl, allowedEventTypes: '$pageView, $autoCapture, $customEvent1', @@ -43,11 +42,10 @@ test('onEvent called for allowed event', async () => { global: {}, fetch: fetchMock as unknown, } as PatternsMeta - setupPlugin(meta) + void setupPlugin(meta) const event = createEvent({ event: '$pageView' }) - // @ts-ignore - await onEvent(event, meta) + void (await onEvent(event, meta)) expect(fetchMock.mock.calls.length).toEqual(1) expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) expect(fetchMock.mock.calls[0][1]).toEqual({ @@ -57,7 +55,6 @@ test('onEvent called for allowed event', async () => { }) const event2 = createEvent({ event: '$pageLeave' }) - // @ts-ignore await onEvent(event2, meta) expect(fetchMock.mock.calls.length).toEqual(1) }) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts index a5fbb7f9228c8..f93956e4ffd7d 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts @@ -1,11 +1,10 @@ -import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' + +import { Response } from '~/src/utils/fetch' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -import { PluginInput, RetryError } from '@posthog/plugin-scaffold' -import { Response } from '~/src/utils/fetch' - export type PatternsMeta = LegacyPluginMeta & { config: { webhookUrl: string @@ -17,13 +16,13 @@ export type PatternsMeta = LegacyPluginMeta & { } // Plugin method that runs on plugin load -//@ts-ignore export async function setupPlugin({ config, global }: PatternsMeta): Promise { if (config.allowedEventTypes) { let allowedEventTypes = config.allowedEventTypes.split(',') allowedEventTypes = allowedEventTypes.map((eventType: string) => eventType.trim()) global.allowedEventTypesSet = new Set(allowedEventTypes) } + return Promise.resolve() } // Plugin method to export events @@ -34,8 +33,7 @@ export const onEvent = async (event: ProcessedPluginEvent, { config, global, fet } } - let response: Response - response = await fetch(config.webhookUrl, { + const response: Response = await fetch(config.webhookUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify([event]), diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts index 96f6c07e32cd0..03f30bbc5ff62 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts @@ -56,7 +56,6 @@ const plugin: Plugin = { return } - // eslint-disable-next-line @typescript-eslint/no-unused-vars const { team_id, person: _, ...sendableEvent } = { ...event, token: config.project_api_key } if (config.disable_geoip === 'Yes') { diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/index.js b/plugin-server/src/cdp/legacy-plugins/property-filter/index.js deleted file mode 100644 index 066227a1fcff0..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/property-filter/index.js +++ /dev/null @@ -1,35 +0,0 @@ -async function setupPlugin({ config, global }) { - global.propertiesToFilter = config.properties.split(',') -} - -function recursiveRemoveFilterObject(properties, propertyToFilterParts) { - // if we've reached the final filter part, then we can remove the key if it exists - // otherwise recursively go down the properties object with the remaining filter parts - const currentKey = propertyToFilterParts.shift() - if (currentKey != undefined && currentKey in properties) { - if (propertyToFilterParts.length == 0) { - delete properties[currentKey] - } else { - recursiveRemoveFilterObject(properties[currentKey], propertyToFilterParts) - } - } -} - -async function processEvent(event, { global }) { - let propertiesCopy = event.properties ? { ...event.properties } : {} - - for (const propertyToFilter of global.propertiesToFilter) { - if (propertyToFilter === '$ip') { - delete event.ip - } - - recursiveRemoveFilterObject(propertiesCopy, propertyToFilter.split('.')) - } - - return { ...event, properties: propertiesCopy } -} - -module.exports = { - setupPlugin, - processEvent, -} diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js b/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js deleted file mode 100644 index 31bee7b6b21f2..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/property-filter/index.test.js +++ /dev/null @@ -1,72 +0,0 @@ -const { createEvent } = require('@posthog/plugin-scaffold/test/utils') -const { processEvent } = require('.') - -const global = { - propertiesToFilter: [ - 'gender', - '$set.gender', - '$set.age', - 'foo.bar.baz.one', - 'nonExisting', - '$set.$not_in_props', - 'no-such.with-dot', - ], -} - -const properties = { - properties: { - name: 'Mr. Hog', - gender: 'male', - age: 12, - $set: { - age: 35, - pet: 'dog', - firstName: 'Post', - gender: 'female', - }, - foo: { - bar: { - baz: { - one: 'one', - two: 'two', - }, - }, - }, - }, -} - -test('event properties are filtered', async () => { - const event = await processEvent(createEvent(properties), { global }) - expect(event.properties).not.toHaveProperty('gender') - expect(event.properties.$set).not.toHaveProperty('age') - expect(event.properties.foo.bar.baz).not.toHaveProperty('one') - expect(event.properties).toHaveProperty('name') - expect(event.properties).toHaveProperty('$set') - expect(event.properties).toHaveProperty('foo') - expect(event.properties.$set).toHaveProperty('firstName', 'Post') - expect(event.properties.foo.bar.baz).toHaveProperty('two', 'two') - expect(event.properties).toEqual({ - name: 'Mr. Hog', - age: 12, - $set: { - pet: 'dog', - firstName: 'Post', - }, - foo: { - bar: { - baz: { - two: 'two', - }, - }, - }, - }) -}) - -const emptyProperties = {} - -test('event properties are empty when no properties are given', async () => { - const event = await processEvent(createEvent(emptyProperties), { global }) - - expect(event.properties).not.toHaveProperty('$set') - expect(event.properties).not.toHaveProperty('foo') -}) diff --git a/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json b/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json deleted file mode 100644 index a7b3e49f4b98e..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/property-filter/plugin.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Property Filter", - "url": "https://github.com/witty-works/posthog-property-filter-plugin", - "description": "This plugin will set all configured properties to null inside an ingested event.", - "main": "index.js", - "config": [ - { - "markdown": "\n\n# Important!\nThis plugin will only work on events ingested **after** the plugin was enabled. This means it **will** register events as being the first if there were events that occured **before** it was enabled. To mitigate this, you could consider renaming the relevant events and creating an [action](https://posthog.com/docs/features/actions) that matches both the old event name and the new one.\n" - }, - { - "key": "properties", - "name": "List of properties to filter out:", - "type": "string", - "default": "", - "hint": "Separate properties with commas, without using spaces, like so: `foo,bar,baz`", - "required": true - } - ] -} diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts index 1e5ffa4a9f603..aa6b34321ce95 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -1,10 +1,9 @@ -// @ts-nocheck +import { PubSub, Topic } from '@google-cloud/pubsub' import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { RetryError } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -import { RetryError } from '@posthog/plugin-scaffold' -import { PubSub, Topic } from '@google-cloud/pubsub' type PubSubMeta = LegacyPluginMeta & { global: { @@ -59,8 +58,7 @@ export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config throw new Error('No PubSub client initialized!') } try { - const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid, ...rest } = - fullEvent + const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid } = fullEvent const ip = properties?.['$ip'] || fullEvent.ip const timestamp = fullEvent.timestamp || properties?.timestamp || now || sent_at let ingestedProperties = properties diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts index 4c2f280a3a474..b7976ede0c961 100644 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' @@ -83,11 +82,11 @@ const eventToMapping = { } function set(target, path, value) { - let keys = path.split('.') - let len = keys.length + const keys = path.split('.') + const len = keys.length for (let i = 0; i < len; i++) { - let prop = keys[i] + const prop = keys[i] if (!isObject(target[prop])) { target[prop] = {} @@ -137,8 +136,8 @@ function get(target, path, options) { return isValid(path, target, options) ? target[path] : options.default } - let segs = isArray ? path : split(path, splitChar, options) - let len = segs.length + const segs = isArray ? path : split(path, splitChar, options) + const len = segs.length let idx = 0 do { @@ -235,6 +234,7 @@ export async function setupPlugin({ config, global }: RudderstackMeta) { } global.writeKey = config.writeKey global.dataPlaneUrl = config.dataPlaneUrl + return Promise.resolve() } export async function onEvent(event: ProcessedPluginEvent, { global, fetch }: RudderstackMeta) { @@ -254,7 +254,7 @@ export async function onEvent(event: ProcessedPluginEvent, { global, fetch }: Ru } function constructRudderPayload(event: ProcessedPluginEvent) { - let rudderPayload = {} + const rudderPayload = {} // add const value props constructPayload(rudderPayload, event, constants, true) @@ -283,7 +283,7 @@ function constructRudderPayload(event: ProcessedPluginEvent) { function constructPayload(outPayload, inPayload, mapping, direct = false) { Object.keys(mapping).forEach((rudderKeyPath) => { - let pHKeyPath = mapping[rudderKeyPath] + const pHKeyPath = mapping[rudderKeyPath] let pHKeyVal = undefined if (direct) { pHKeyVal = pHKeyPath diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts index 7104b80c3c646..0dca1d9a3b199 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts @@ -1,4 +1,5 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + import { EventSink, EventToSinkMapping, @@ -10,7 +11,7 @@ import { } from '.' const mockFetch = jest.fn() -// eslint-disable-next-line @typescript-eslint/no-explicit-any + ;(global as any).fetch = mockFetch describe('event sink mapping', () => { diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts index 4719984402548..e2fe1ba4a36fa 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts @@ -1,4 +1,5 @@ import { PluginEvent } from '@posthog/plugin-scaffold' + import { getProperties } from '.' describe('filtering by property allow list', () => { diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts index 150b6b566fc0a..ae94454adfadf 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts @@ -1,10 +1,10 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' +import { CacheExtension, Properties, RetryError } from '@posthog/plugin-scaffold' +import type { Response } from 'node-fetch' +import { URL } from 'url' import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from '../plugin.json' -import { CacheExtension, RetryError, Properties } from '@posthog/plugin-scaffold' -import type { Response } from 'node-fetch' -import { URL } from 'url' export interface EventSink { salesforcePath: string @@ -128,7 +128,7 @@ const callSalesforce = async ({ body: JSON.stringify(getProperties(event, sink.propertiesToInclude, sink.fieldMappings)), }) - const isOk = await statusOk(response, meta.logger) + const isOk = statusOk(response, meta.logger) if (!isOk) { throw new Error(`Not a 200 response from event hook ${response.status}. Response: ${JSON.stringify(response)}`) } @@ -222,7 +222,7 @@ async function generateAndSetToken({ config, cache, logger, fetch }: SalesforceM throw new Error(`Got bad response getting the token ${response.status}`) } const body = await response.json() - cache.set(CACHE_TOKEN, body.access_token, CACHE_TTL) + void cache.set(CACHE_TOKEN, body.access_token, CACHE_TTL) return body.access_token } @@ -262,13 +262,13 @@ export async function onEvent(event: ProcessedPluginEvent, meta: SalesforceMeta) await sendEventToSalesforce(event, meta, await getToken(meta)) } -async function statusOk(res: Response, logger: SalesforceMeta['logger']): Promise { +function statusOk(res: Response, logger: SalesforceMeta['logger']): boolean { logger.debug('testing response for whether it is "ok". has status: ', res.status, ' debug: ', JSON.stringify(res)) return String(res.status)[0] === '2' } // we allow `any` since we don't know what type the properties are, and `unknown` is too restrictive here -// eslint-disable-next-line @typescript-eslint/no-explicit-any + function getNestedProperty(properties: Record, path: string): any { return path.split('.').reduce((acc, part) => acc[part], properties) } diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts index 76d919faf26ec..ffc4f34653db8 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts @@ -1,5 +1,6 @@ -import { PluginEvent } from '@posthog/plugin-scaffold' -import { shouldSendEvent, SalesforcePluginConfig, SalesforcePluginGlobal, SalesforcePluginMeta } from '.' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { SalesforceMeta, SalesforcePluginConfig, shouldSendEvent } from '.' describe('onEvent', () => { let config: SalesforcePluginConfig @@ -20,35 +21,35 @@ describe('onEvent', () => { } }) - it('adds the event with v1 mapping that matches', async () => { + it('adds the event with v1 mapping that matches', () => { config.eventsToInclude = 'test' - const res = await shouldSendEvent({ event: 'test' } as PluginEvent, { config } as SalesforcePluginMeta) + const res = shouldSendEvent({ event: 'test' } as ProcessedPluginEvent, { config } as SalesforceMeta) expect(res).toBeTruthy() }) - it('skips the event with v1 mapping that does not match', async () => { + it('skips the event with v1 mapping that does not match', () => { config.eventsToInclude = 'to match' - const res = await shouldSendEvent({ event: 'not to match' } as PluginEvent, { config } as SalesforcePluginMeta) + const res = shouldSendEvent({ event: 'not to match' } as ProcessedPluginEvent, { config } as SalesforceMeta) expect(res).toBeFalsy() }) - it('adds the event with v2 mapping that matches', async () => { + it('adds the event with v2 mapping that matches', () => { config.eventsToInclude = '' config.eventPath = '' config.eventEndpointMapping = JSON.stringify({ test: { salesforcePath: '/test', method: 'POST' } }) - const res = await shouldSendEvent({ event: 'test' } as PluginEvent, { config } as SalesforcePluginMeta) + const res = shouldSendEvent({ event: 'test' } as ProcessedPluginEvent, { config } as SalesforceMeta) expect(res).toBeTruthy() }) - it('skips the event with v2 mapping that does not match', async () => { + it('skips the event with v2 mapping that does not match', () => { config.eventsToInclude = '' config.eventPath = '' config.eventEndpointMapping = JSON.stringify({ 'to match': { salesforcePath: '/test', method: 'POST' } }) - const res = await shouldSendEvent({ event: 'not to match' } as PluginEvent, { config } as SalesforcePluginMeta) + const res = shouldSendEvent({ event: 'not to match' } as ProcessedPluginEvent, { config } as SalesforceMeta) expect(res).toBeFalsy() }) }) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts index 39d4ef9945ac9..7ceab22b51b01 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts @@ -1,8 +1,9 @@ -import { PluginEvent, ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { SalesforcePluginConfig, SalesforceMeta, sendEventToSalesforce } from '.' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + +import { SalesforceMeta, SalesforcePluginConfig, sendEventToSalesforce } from '.' const mockFetch = jest.fn() -// eslint-disable-next-line @typescript-eslint/no-explicit-any + ;(global as any).fetch = mockFetch describe('sendEventsToSalesforce', () => { diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js index 5e067f9c79aeb..c872bf4d398ec 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js @@ -1,8 +1,8 @@ const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils.js') const { setupPlugin, onEvent } = require('../index') -global.fetch = jest.fn(async (url) => ({ - json: async () => +global.fetch = jest.fn((url) => ({ + json: () => url.includes('/field_definitions') ? { custom_fields: [ diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts index 3409f42d74f36..c495824cb29a4 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts @@ -1,5 +1,5 @@ -// @ts-nocheck import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' + import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' @@ -52,13 +52,13 @@ const onEvent = async ( if (event.event !== '$identify') { return } - let contacts = [] + const contacts = [] const customFieldsMap = global.customFieldsMap const email = getEmailFromIdentifyEvent(event) if (email) { - let sendgridFilteredProps = {} - let customFields = {} + const sendgridFilteredProps = {} + const customFields = {} for (const [key, val] of Object.entries(event['$set'] ?? {})) { if (sendgridPropsMap[key]) { sendgridFilteredProps[sendgridPropsMap[key]] = val From 0f92c48f2b8cd1f3a7371c97ed719ac0973a786a Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:35:41 +0100 Subject: [PATCH 55/76] update test snap --- .../cdp-cyclotron-plugins-worker.test.ts.snap | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap index 1211a43ef7591..30b6af30bb8e5 100644 --- a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap +++ b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap @@ -44,6 +44,32 @@ exports[`CdpCyclotronWorkerPlugins onEvent should handle and collect errors 3`] ] `; +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'avo', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin avo", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'braze', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin braze", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; + exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'customer-io', plugin: [Object] } 1`] = ` [ { @@ -73,6 +99,49 @@ exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'c ] `; +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'engage', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin engage", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'gcs', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin gcs", + }, + { + "level": "error", + "message": "Plugin gcs setup failed: Cannot read properties of undefined (reading 'googleCloudKeyJson')", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'hubspot', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin hubspot", + }, + { + "level": "info", + "message": "Created Hubspot Contact for test@posthog.com", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; + exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'intercom', plugin: [Object] } 1`] = ` [ { @@ -89,3 +158,81 @@ exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'i }, ] `; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'laudspeaker', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin laudspeaker", + }, + { + "level": "error", + "message": "Plugin errored: Cannot read properties of undefined (reading 'headers')", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'patterns', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin patterns", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'pubsub', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin pubsub", + }, + { + "level": "error", + "message": "Plugin pubsub setup failed: Cannot read properties of undefined (reading 'googleCloudKeyJson')", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'rudderstack', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin rudderstack", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'salesforce', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin salesforce", + }, + { + "level": "error", + "message": "Plugin salesforce setup failed: If you are not providing an eventEndpointMapping then you must provide events to include.", + }, +] +`; + +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'sendgrid', plugin: [Object] } 1`] = ` +[ + { + "level": "debug", + "message": "Executing plugin sendgrid", + }, + { + "level": "debug", + "message": "Execution successful", + }, +] +`; From 27e12ab65ab46bf1b7fd4f1a6963971f0de9eca1 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:29:04 +0100 Subject: [PATCH 56/76] fix typescript errors --- .../src/cdp/legacy-plugins/hubspot/index.ts | 24 ++++---- .../test/test.test.ts | 4 +- .../legacy-plugins/posthog-braze-app/index.ts | 10 +++- .../tests/export-events.test.ts | 35 ++++++------ .../legacy-plugins/posthog-engage-so/index.ts | 6 +- .../cdp/legacy-plugins/posthog-gcs/index.ts | 23 ++------ .../posthog-laudspeaker-app/index.ts | 56 +++++++++++-------- .../src/cdp/legacy-plugins/pubsub/index.ts | 5 +- .../rudderstack-posthog/index.ts | 22 ++++---- .../salesforce/src/configValidation.test.ts | 12 ++-- .../salesforce/src/getProperties.test.ts | 26 +++++---- .../src/cdp/legacy-plugins/sendgrid/index.ts | 28 +++++----- 12 files changed, 131 insertions(+), 120 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts index b9c46a281fbfc..4a4cf026c2fdb 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts @@ -1,5 +1,7 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' +import { Response } from '~/src/utils/fetch' + import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' @@ -73,16 +75,16 @@ export async function onEvent(event: ProcessedPluginEvent, meta: LegacyPluginMet async function createHubspotContact( meta: LegacyPluginMeta, - email, - properties, - accessToken, - additionalPropertyMappings, - eventSendTime + email: string, + properties: Record, + accessToken: string, + additionalPropertyMappings: string, + eventSendTime: string ) { - const hubspotFilteredProps = {} + const hubspotFilteredProps: Record = {} for (const [key, val] of Object.entries(properties)) { - if (hubspotPropsMap[key]) { - hubspotFilteredProps[hubspotPropsMap[key]] = val + if (key in hubspotPropsMap) { + hubspotFilteredProps[hubspotPropsMap[key as keyof typeof hubspotPropsMap]] = val } } @@ -151,17 +153,17 @@ async function createHubspotContact( } } -function statusOk(res) { +function statusOk(res: Response): boolean { return String(res.status)[0] === '2' } -function isEmail(email) { +function isEmail(email: string): boolean { const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return re.test(String(email).toLowerCase()) } -function getEmailFromEvent(event) { +function getEmailFromEvent(event: ProcessedPluginEvent): string | null { if (isEmail(event.distinct_id)) { return event.distinct_id } else if (event['$set'] && Object.keys(event['$set']).includes('email')) { diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts index a5b848596f8a5..481791031a5d3 100644 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts @@ -14,7 +14,8 @@ const mockEvent: ProcessedPluginEvent = { team_id: 1, distinct_id: '1234', event: 'my-event', - timestamp: new Date(), + timestamp: new Date().toISOString(), + ip: '127.0.0.1', properties: { $ip: '127.0.0.1', $elements_chain: 'div:nth-child="1"nth-of-type="2"text="text"', @@ -54,6 +55,7 @@ test('all expected endpoint', async () => { distinct_id: '1234', event: 'my-event', timestamp: mockEvent.timestamp, + ip: '127.0.0.1', properties: { foo: 'bar', }, diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts index de4d61d1a065b..bef8c861f2201 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts @@ -131,7 +131,13 @@ const _generateBrazeRequestBody = (pluginEvent: ProcessedPluginEvent, meta: Braz } } -const fetchBraze = async (meta, endpoint, options = {}, method = 'GET', requestId = '') => { +const fetchBraze = async ( + meta: BrazePluginMeta, + endpoint: string, + options: any = {}, + method = 'GET', + requestId = '' +) => { const headers = { Accept: 'application/json', 'Content-Type': 'application/json', @@ -168,7 +174,7 @@ const fetchBraze = async (meta, endpoint, options = {}, method = 'GET', requestI let responseJson: Record | null = null try { - responseJson = await response.json() + responseJson = await response?.json() } catch (e) { meta.logger.error('Error parsing Braze response as JSON: ', e, endpoint, options.body, requestId) } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts index b4b1391189dd1..c593e9debb6ba 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts @@ -44,9 +44,9 @@ test('onEvent sends $set attributes and events to Braze', async () => { }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), + uuid: 'test-uuid', + elements: [], }, meta ) @@ -118,9 +118,9 @@ test('onEvent user properties not sent on empty userPropertiesToExport', async ( }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), + uuid: 'test-uuid', + elements: [], }, meta ) @@ -185,9 +185,9 @@ test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), + uuid: 'test-uuid', + elements: [], }, meta ) @@ -252,9 +252,9 @@ test('onEvent user properties are passed for $identify event even if $identify i }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), + uuid: 'test-uuid', + elements: [], }, meta ) @@ -315,9 +315,9 @@ test('onEvent user properties are not passed for non-whitelisted events', async }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), + uuid: 'test-uuid', + elements: [], }, meta ) @@ -372,10 +372,9 @@ test('Braze API error (e.g. 400) are not retried', async () => { }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), - uuid: 'event_123', + uuid: 'test-uuid', + elements: [], }, meta ) @@ -425,10 +424,9 @@ test('Braze offline error (500 response)', async () => { }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), - uuid: 'id_123', + uuid: 'test-uuid', + elements: [], }, meta ) @@ -475,10 +473,9 @@ test('Braze offline error (network error)', async () => { }, distinct_id: 'test', ip: '', - site_url: '', team_id: 0, - now: new Date().toISOString(), - uuid: 'id_123', + uuid: 'test-uuid', + elements: [], }, meta ) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts index 9fbb27a86bd97..3b86d742c4a4a 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts @@ -3,7 +3,11 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyPlugin, LegacyPluginMeta } from '../types' import metadata from './plugin.json' -const onEvent = async (_event: ProcessedPluginEvent, { config, fetch }: LegacyPluginMeta): Promise => { +type EngagePluginEvent = ProcessedPluginEvent & { + config?: any +} + +const onEvent = async (_event: EngagePluginEvent, { config, fetch }: LegacyPluginMeta): Promise => { const event = _event.event if (event.startsWith('$')) { // only process a specific set of custom events diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts index bf2849088f73e..0c2b7b3484d63 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts @@ -37,14 +37,13 @@ interface TableRow { distinct_id: string team_id: number ip: string - site_url: string timestamp: string } function transformEventToRow(fullEvent: ProcessedPluginEvent): TableRow { - const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid } = fullEvent + const { event, properties, $set, $set_once, distinct_id, team_id, uuid } = fullEvent const ip = properties?.['$ip'] || fullEvent.ip - const timestamp = fullEvent.timestamp || properties?.timestamp || now || sent_at + const timestamp = fullEvent.timestamp || properties?.timestamp let ingestedProperties = properties let elements = [] @@ -60,7 +59,6 @@ function transformEventToRow(fullEvent: ProcessedPluginEvent): TableRow { distinct_id, team_id, ip, - site_url, timestamp, uuid: uuid!, properties: JSON.stringify(ingestedProperties || {}), @@ -105,22 +103,11 @@ const onEvent = async (event: ProcessedPluginEvent, { global, logger }: gcsMeta) 'uuid,event,properties,elements,people_set,people_set_once,distinct_id,team_id,ip,site_url,timestamp\n' for (let i = 0; i < rows.length; ++i) { - const { - uuid, - event, - properties, - elements, - people_set, - people_set_once, - distinct_id, - team_id, - ip, - site_url, - timestamp, - } = rows[i] + const { uuid, event, properties, elements, people_set, people_set_once, distinct_id, team_id, ip, timestamp } = + rows[i] // order is important - csvString += `${uuid},${event},${properties},${elements},${people_set},${people_set_once},${distinct_id},${team_id},${ip},${site_url},${timestamp}` + csvString += `${uuid},${event},${properties},${elements},${people_set},${people_set_once},${distinct_id},${team_id},${ip},${timestamp}` if (i !== rows.length - 1) { csvString += '\n' diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts index d0dd215b4b516..5c7ec15791bf8 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts @@ -82,7 +82,7 @@ const eventToMapping = { default: { type: 'track', mapping: track }, } -function set(target, path, value) { +function set(target: any, path: any, value: any) { const keys = path.split('.') const len = keys.length @@ -102,16 +102,16 @@ function set(target, path, value) { } } -function result(target, path, value) { +function result(target: any, path: any, value: any) { target[path] = value } -function isObject(val) { +function isObject(val: any) { return val !== null && (typeof val === 'object' || typeof val === 'function') } // Ref: https://github.com/jonschlinkert/get-value -function get(target, path, options) { +function get(target: any, path: any, options: any = {}) { if (!isObject(options)) { options = { default: options } } @@ -188,32 +188,32 @@ function get(target, path, options) { return options.default } -function join(segs, joinChar, options) { +function join(segs: any, joinChar: any, options: any) { if (typeof options.join === 'function') { return options.join(segs) } return segs[0] + joinChar + segs[1] } -function split(path, splitChar, options) { +function split(path: any, splitChar: any, options: any) { if (typeof options.split === 'function') { return options.split(path) } return path.split(splitChar) } -function isValid(key, target, options) { +function isValid(key: any, target: any, options: any) { if (typeof options.isValid === 'function') { return options.isValid(key, target) } return true } -function isValidObject(val) { +function isValidObject(val: any) { return isObject(val) || Array.isArray(val) || typeof val === 'function' } -export async function setupPlugin({ config, global }) { +export async function setupPlugin({ config, global }: { config: any; global: any }) { global.laudAuthHeader = { headers: { Authorization: `Api-Key ${config.writeKey}`, @@ -224,15 +224,26 @@ export async function setupPlugin({ config, global }) { return Promise.resolve() } -function getElementByOrderZero(json) { +function getElementByOrderZero(json: any) { if (!json.elements || !Array.isArray(json.elements)) { return null // or whatever default value you'd like to return } - return json.elements.find((x) => x.order === 0) || null + return json.elements.find((x: any) => x.order === 0) || null +} + +interface LaudspeakerPayload { + [key: string]: any + messageId?: string + event?: string + context?: { + elements?: any[] + [key: string]: any + } + type?: string } const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { - const laudspeakerPayload = {} + const laudspeakerPayload: LaudspeakerPayload = {} // add const value props constructPayload(laudspeakerPayload, event, constants, true) @@ -241,7 +252,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L // get specific event props const eventName = get(event, 'event') - const { type, mapping } = eventToMapping[eventName] ? eventToMapping[eventName] : eventToMapping['default'] + const { type, mapping } = eventToMapping[eventName as keyof typeof eventToMapping] || eventToMapping['default'] //set laud payload type set(laudspeakerPayload, 'type', type) @@ -260,27 +271,24 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L //add if not if (!('messageId' in laudspeakerPayload)) { if ('$insert_id' in event.properties) { - laudspeakerPayload['messageId'] = event.properties['$insert_id'] + laudspeakerPayload.messageId = event.properties['$insert_id'] } - //else { - - //} } //check for event name //add if not if (!('event' in laudspeakerPayload)) { if ('event' in event) { - laudspeakerPayload['event'] = event['event'] + laudspeakerPayload.event = event['event'] } - //else { - - //} } // add top level element if there is a click, change, or submit - if (['click', 'change', 'submit'].includes(laudspeakerPayload['event'])) { - laudspeakerPayload['context']['elements'] = [getElementByOrderZero(event)] + if (['click', 'change', 'submit'].includes(laudspeakerPayload.event || '')) { + if (!laudspeakerPayload.context) { + laudspeakerPayload.context = {} + } + laudspeakerPayload.context.elements = [getElementByOrderZero(event)] } const userSet = get(event, 'properties.$set') @@ -317,7 +325,7 @@ const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: L }) } -function constructPayload(outPayload, inPayload, mapping, direct = false) { +function constructPayload(outPayload: any, inPayload: any, mapping: any, direct = false) { Object.keys(mapping).forEach((laudKeyPath) => { const pHKeyPath = mapping[laudKeyPath] let pHKeyVal = undefined diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts index aa6b34321ce95..ab85c2ad4b4a7 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -58,9 +58,9 @@ export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config throw new Error('No PubSub client initialized!') } try { - const { event, properties, $set, $set_once, distinct_id, team_id, site_url, now, sent_at, uuid } = fullEvent + const { event, properties, $set, $set_once, distinct_id, team_id, uuid } = fullEvent const ip = properties?.['$ip'] || fullEvent.ip - const timestamp = fullEvent.timestamp || properties?.timestamp || now || sent_at + const timestamp = fullEvent.timestamp || properties?.timestamp let ingestedProperties = properties let elements = [] @@ -76,7 +76,6 @@ export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config distinct_id, team_id, ip, - site_url, timestamp, uuid: uuid!, properties: ingestedProperties || {}, diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts index b7976ede0c961..999f2096e833a 100644 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts @@ -81,7 +81,7 @@ const eventToMapping = { default: { type: 'track', mapping: track }, } -function set(target, path, value) { +function set(target: any, path: any, value: any) { const keys = path.split('.') const len = keys.length @@ -101,16 +101,16 @@ function set(target, path, value) { } } -function result(target, path, value) { +function result(target: any, path: any, value: any) { target[path] = value } -function isObject(val) { +function isObject(val: any) { return val !== null && (typeof val === 'object' || typeof val === 'function') } // Ref: https://github.com/jonschlinkert/get-value -function get(target, path, options) { +function get(target: any, path: any, options?: any) { if (!isObject(options)) { options = { default: options } } @@ -187,28 +187,28 @@ function get(target, path, options) { return options.default } -function join(segs, joinChar, options) { +function join(segs: any, joinChar: any, options: any) { if (typeof options.join === 'function') { return options.join(segs) } return segs[0] + joinChar + segs[1] } -function split(path, splitChar, options) { +function split(path: any, splitChar: any, options: any) { if (typeof options.split === 'function') { return options.split(path) } return path.split(splitChar) } -function isValid(key, target, options) { +function isValid(key: any, target: any, options: any) { if (typeof options.isValid === 'function') { return options.isValid(key, target) } return true } -function isValidObject(val) { +function isValidObject(val: any) { return isObject(val) || Array.isArray(val) || typeof val === 'function' } @@ -263,7 +263,9 @@ function constructRudderPayload(event: ProcessedPluginEvent) { // get specific event props const eventName = get(event, 'event') - const { type, mapping } = eventToMapping[eventName] ? eventToMapping[eventName] : eventToMapping['default'] + const { type, mapping } = eventToMapping[eventName as keyof typeof eventToMapping] + ? eventToMapping[eventName as keyof typeof eventToMapping] + : eventToMapping['default'] //set Rudder payload type set(rudderPayload, 'type', type) @@ -281,7 +283,7 @@ function constructRudderPayload(event: ProcessedPluginEvent) { return rudderPayload } -function constructPayload(outPayload, inPayload, mapping, direct = false) { +function constructPayload(outPayload: any, inPayload: any, mapping: any, direct = false) { Object.keys(mapping).forEach((rudderKeyPath) => { const pHKeyPath = mapping[rudderKeyPath] let pHKeyVal = undefined diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts index e700d8398c92f..b8e82a4620f21 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts @@ -1,4 +1,4 @@ -import { SalesforcePluginConfig, SalesforcePluginMeta, verifyConfig } from '.' +import { SalesforceMeta, SalesforcePluginConfig, verifyConfig } from '.' describe('config validation', () => { let config: SalesforcePluginConfig @@ -21,30 +21,30 @@ describe('config validation', () => { it('rejects an invalid URL', () => { config.salesforceHost = 'not a url' - expect(() => verifyConfig({ config } as SalesforcePluginMeta)).toThrowError('host not a valid URL!') + expect(() => verifyConfig({ config } as SalesforceMeta)).toThrowError('host not a valid URL!') }) it('accepts a valid URL', () => { config.salesforceHost = 'http://bbc.co.uk' - expect(() => verifyConfig({ config } as SalesforcePluginMeta)).not.toThrowError('host not a valid URL!') + expect(() => verifyConfig({ config } as SalesforceMeta)).not.toThrowError('host not a valid URL!') }) it('rejects an FTP URL', () => { config.salesforceHost = 'ftp://bbc.co.uk' - expect(() => verifyConfig({ config } as SalesforcePluginMeta)).toThrowError('host not a valid URL!') + expect(() => verifyConfig({ config } as SalesforceMeta)).toThrowError('host not a valid URL!') }) it('allows empty eventPath when v2 mapping is present', () => { config.eventsToInclude = '' config.eventEndpointMapping = JSON.stringify({ pageview: { salesforcePath: '/test', method: 'POST' } }) - expect(() => verifyConfig({ config } as SalesforcePluginMeta)).not.toThrowError() + expect(() => verifyConfig({ config } as SalesforceMeta)).not.toThrowError() }) it('requires eventPath when v2 mapping is not present', () => { config.eventsToInclude = '$pageview' config.eventPath = '' config.eventEndpointMapping = '' - expect(() => verifyConfig({ config } as SalesforcePluginMeta)).toThrowError( + expect(() => verifyConfig({ config } as SalesforceMeta)).toThrowError( 'If you are not providing an eventEndpointMapping then you must provide the salesforce path.' ) }) diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts index e2fe1ba4a36fa..3a3b4b424bfa6 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts @@ -1,4 +1,4 @@ -import { PluginEvent } from '@posthog/plugin-scaffold' +import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { getProperties } from '.' @@ -6,35 +6,39 @@ describe('filtering by property allow list', () => { describe('filtering', () => { it('does not filter if there is no allow list', () => { const properties = { a: 'a', b: 'b' } - const filteredProperties = getProperties({ properties } as unknown as PluginEvent, '') + const filteredProperties = getProperties({ properties } as unknown as ProcessedPluginEvent, '') expect(filteredProperties).toEqual(properties) }) it('does filter if there is an allow list', () => { const properties = { a: 'a', b: 'b', c: 'c' } - const filteredProperties = getProperties({ properties } as unknown as PluginEvent, 'a,c') + const filteredProperties = getProperties({ properties } as unknown as ProcessedPluginEvent, 'a,c') expect(filteredProperties).toEqual({ a: 'a', c: 'c' }) }) it('copes with spaces in the config', () => { const properties = { a: 'a', b: 'b', c: 'c' } - const filteredProperties = getProperties({ properties } as unknown as PluginEvent, 'a, c') + const filteredProperties = getProperties({ properties } as unknown as ProcessedPluginEvent, 'a, c') expect(filteredProperties).toEqual({ a: 'a', c: 'c' }) }) it('converts properties using field mappings', () => { const properties = { email: 'a', b: 'b', surname: 'c', d: 'e' } - const filteredProperties = getProperties({ properties } as unknown as PluginEvent, 'email,surname,d', { - email: 'Email', - surname: 'LastName', - }) + const filteredProperties = getProperties( + { properties } as unknown as ProcessedPluginEvent, + 'email,surname,d', + { + email: 'Email', + surname: 'LastName', + } + ) expect(filteredProperties).toEqual({ Email: 'a', LastName: 'c', d: 'e' }) }) it('can handle nested properties', () => { const properties = { name: 'a@b.com', person_properties: { middle: { bottom: 'val' }, surname: 'Smith' } } const filteredProperties = getProperties( - { properties } as unknown as PluginEvent, + { properties } as unknown as ProcessedPluginEvent, 'person_properties.surname,name', { name: 'Name', @@ -51,7 +55,7 @@ describe('filtering by property allow list', () => { it('can handle deeply nested properties', () => { const properties = { name: 'a@b.com', person_properties: { middle: { bottom: 'val' }, surname: 'Smith' } } const filteredProperties = getProperties( - { properties } as unknown as PluginEvent, + { properties } as unknown as ProcessedPluginEvent, 'person_properties.middle.bottom,name', { name: 'Name', @@ -68,7 +72,7 @@ describe('filtering by property allow list', () => { it('maps fields when there are no properties to include provided', () => { const properties = { name: 'a@b.com', another: 'value' } - const filteredProperties = getProperties({ properties } as unknown as PluginEvent, ' ', { + const filteredProperties = getProperties({ properties } as unknown as ProcessedPluginEvent, ' ', { name: 'Name', // redundant mapping is safely ignored 'person_properties.surname': 'LastName', diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts index c495824cb29a4..3f69c82ed835b 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts @@ -23,7 +23,7 @@ const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): // In the config of this plugin, users configure the map between PostHog prop names and Sendgrid custom fields names. // Here we resolve the relation and calculate a map between PostHog prop names and Sendgrid custom field IDs. - let posthogPropsToSendgridCustomFieldNamesMap = {} + let posthogPropsToSendgridCustomFieldNamesMap: any = {} try { posthogPropsToSendgridCustomFieldNamesMap = parseCustomFieldsMap(config.customFields) } catch (e) { @@ -31,9 +31,9 @@ const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): throw new Error('Invalid format for custom fields') } - const posthogPropsToSendgridCustomFieldIDsMap = {} + const posthogPropsToSendgridCustomFieldIDsMap: any = {} for (const [posthogProp, sendgridCustomFieldName] of Object.entries(posthogPropsToSendgridCustomFieldNamesMap)) { - const cfIndex = Object.keys(fieldsDef.custom_fields || {}).filter( + const cfIndex: any = Object.keys(fieldsDef.custom_fields || {}).filter( (key) => fieldsDef.custom_fields[key].name === sendgridCustomFieldName ) if (cfIndex.length !== 1) { @@ -57,12 +57,12 @@ const onEvent = async ( const email = getEmailFromIdentifyEvent(event) if (email) { - const sendgridFilteredProps = {} - const customFields = {} + const sendgridFilteredProps: any = {} + const customFields: any = {} for (const [key, val] of Object.entries(event['$set'] ?? {})) { - if (sendgridPropsMap[key]) { - sendgridFilteredProps[sendgridPropsMap[key]] = val - } else if (customFieldsMap[key]) { + if (key in sendgridPropsMap) { + sendgridFilteredProps[sendgridPropsMap[key as keyof typeof sendgridPropsMap]] = val + } else if (key in customFieldsMap) { customFields[customFieldsMap[key]] = val } } @@ -97,13 +97,13 @@ const onEvent = async ( } } -function isEmail(email) { +function isEmail(email: any): boolean { const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return re.test(String(email).toLowerCase()) } -function getEmailFromIdentifyEvent(event) { +function getEmailFromIdentifyEvent(event: any): string { return isEmail(event.distinct_id) ? event.distinct_id : !!event['$set'] && Object.keys(event['$set']).includes('email') @@ -111,7 +111,7 @@ function getEmailFromIdentifyEvent(event) { : '' } -function statusOk(res) { +function statusOk(res: any): boolean { return String(res.status)[0] === '2' } @@ -131,10 +131,10 @@ const sendgridPropsMap = { } // parseCustomFieldsMap parses custom properties in a format like "myProp1=my_prop1,my_prop2". -function parseCustomFieldsMap(customProps) { - const result = {} +function parseCustomFieldsMap(customProps: any): any { + const result: any = {} if (customProps) { - customProps.split(',').forEach((prop) => { + customProps.split(',').forEach((prop: string) => { const parts = prop.split('=') if (parts.length == 1) { result[parts[0]] = parts[0] From 095ea95a6d340247640fd2d56c0821e5ca903d50 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:25:19 +0100 Subject: [PATCH 57/76] fix additional tests and add replicator plugin --- plugin-server/src/cdp/legacy-plugins/index.ts | 2 + .../posthog-engage-so/test/index.test.js | 12 +- .../posthog-plugin-replicator/index.ts | 140 +++---- .../test/test.test.ts | 310 +++++++++++++++ .../posthog-plugin-replicator/test/test.ts | 353 ------------------ 5 files changed, 389 insertions(+), 428 deletions(-) create mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.test.ts delete mode 100644 plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index f57ffca1bf4fc..ded16b725e9ab 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -7,6 +7,7 @@ import { engagePlugin } from './posthog-engage-so' import { gcsPlugin } from './posthog-gcs' import { laudspeakerPlugin } from './posthog-laudspeaker-app' import { patternsPlugin } from './posthog-patterns-app' +import { replicatorPlugin } from './posthog-plugin-replicator' import { pubsubPlugin } from './pubsub' import { rudderstackPlugin } from './rudderstack-posthog' import { salesforcePlugin } from './salesforce/src' @@ -26,4 +27,5 @@ export const PLUGINS_BY_ID = { [gcsPlugin.id]: gcsPlugin, [salesforcePlugin.id]: salesforcePlugin, [laudspeakerPlugin.id]: laudspeakerPlugin, + [replicatorPlugin.id]: replicatorPlugin, } diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js index a9634bc437bef..164e4ce8bc094 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js +++ b/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js @@ -1,5 +1,5 @@ const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils') -const { composeWebhook } = require('../index') +const { engagePlugin } = require('../index') const config = { publicKey: 'ENGAGE_PUBLIC_KEY', secret: 'ENGAGE_SEECRET', @@ -31,7 +31,7 @@ test('composeWebhook to send the correct data for $identify event (user)', async }, } - const response = await composeWebhook(event, getMeta()) + const response = await engagePlugin.onEvent(event, getMeta()) expect(response).toEqual( expect.objectContaining({ url: 'https://api.engage.so/posthog', @@ -60,7 +60,7 @@ test('composeWebhook to send the correct data for $identify event (group)', asyn }, } - const response = await composeWebhook(event, getMeta()) + const response = await engagePlugin.onEvent(event, getMeta()) expect(response).toEqual( expect.objectContaining({ url: 'https://api.engage.so/posthog', @@ -90,7 +90,7 @@ test('composeWebhook to send the correct data to track user event', async () => }, } - const response = await composeWebhook(event, getMeta()) + const response = await engagePlugin.onEvent(event, getMeta()) expect(response).toEqual( expect.objectContaining({ url: 'https://api.engage.so/posthog', @@ -119,7 +119,7 @@ test('composeWebhook to send the correct data to track group event', async () => }, } - const response = await composeWebhook(event, getMeta()) + const response = await engagePlugin.onEvent(event, getMeta()) expect(response).toEqual( expect.objectContaining({ url: 'https://api.engage.so/posthog', @@ -161,6 +161,6 @@ test('composeWebhook should not track non-custom events besides $identify and $g }, } - const response = await composeWebhook(event, getMeta()) + const response = await engagePlugin.onEvent(event, getMeta()) expect(response).toBe(null) }) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts index 03f30bbc5ff62..5bf146d7bc97d 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts @@ -1,5 +1,7 @@ -import { Plugin, ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' -import fetch from 'node-fetch' +import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' + +import { LegacyPlugin, LegacyPluginMeta } from '../types' +import metadata from './plugin.json' export interface ReplicatorMetaInput { config: { @@ -39,80 +41,80 @@ const reverseAutocaptureEvent = (autocaptureEvent: StrippedEvent) => { } } -const plugin: Plugin = { - onEvent: async (event, { config }) => { - const replication = parseInt(config.replication) || 1 - if (replication > 1) { - // This is a quick fix to make sure we don't become a spam bot - throw Error('Replication factor > 1 is not allowed') - } +const onEvent = async (event: ProcessedPluginEvent, { config, fetch, logger }: LegacyPluginMeta): Promise => { + const replication = parseInt(config.replication) || 1 + if (replication > 1) { + // This is a quick fix to make sure we don't become a spam bot + throw Error('Replication factor > 1 is not allowed') + } - const eventsToIgnore = new Set( - config.events_to_ignore && config.events_to_ignore.trim() !== '' - ? config.events_to_ignore.split(',').map((event) => event.trim()) - : null - ) - if (eventsToIgnore.has(event.event)) { - return - } + const eventsToIgnore = new Set( + config.events_to_ignore && config.events_to_ignore.trim() !== '' + ? config.events_to_ignore.split(',').map((event: string) => event.trim()) + : null + ) + if (eventsToIgnore.has(event.event)) { + return + } - const { team_id, person: _, ...sendableEvent } = { ...event, token: config.project_api_key } + const { team_id, person: _, ...sendableEvent } = { ...event, token: config.project_api_key } - if (config.disable_geoip === 'Yes') { - sendableEvent.properties.$geoip_disable = true - } + if (config.disable_geoip === 'Yes') { + sendableEvent.properties.$geoip_disable = true + } - const finalSendableEvent = - sendableEvent.event === '$autocapture' ? reverseAutocaptureEvent(sendableEvent) : sendableEvent + const finalSendableEvent = + sendableEvent.event === '$autocapture' ? reverseAutocaptureEvent(sendableEvent) : sendableEvent - const batch = [] - for (let i = 0; i < replication; i++) { - batch.push(finalSendableEvent) - } + const batch = [] + for (let i = 0; i < replication; i++) { + batch.push(finalSendableEvent) + } - if (batch.length > 0) { - const batchDescription = `${batch.length} event${batch.length > 1 ? 's' : ''}` + if (batch.length > 0) { + const batchDescription = `${batch.length} event${batch.length > 1 ? 's' : ''}` - await fetch(`https://${config.host.replace(/\/$/, '')}/e`, { - method: 'POST', - body: JSON.stringify(batch), - headers: { 'Content-Type': 'application/json' }, - // TODO: add a timeout signal to make sure we retry if capture is slow, instead of failing the export - }).then( - (res) => { - if (res.ok) { - console.log(`Flushed ${batchDescription} to ${config.host}`) - } else if (res.status >= 500) { - // Server error, retry the batch later - console.error( - `Failed to submit ${batchDescription} to ${config.host} due to server error: ${res.status} ${res.statusText}` - ) - throw new RetryError(`Server error: ${res.status} ${res.statusText}`) - } else { - // node-fetch handles 300s internaly, so we're left with 400s here: skip the batch and move forward - // We might have old events in ClickHouse that don't pass new stricter checks, don't fail the whole export if that happens - console.warn( - `Skipping ${batchDescription}, rejected by ${config.host}: ${res.status} ${res.statusText}` - ) - } - }, - (err) => { - if (err.name === 'AbortError' || err.name === 'FetchError') { - // Network / timeout error, retry the batch later - // See https://github.com/node-fetch/node-fetch/blob/2.x/ERROR-HANDLING.md - console.error( - `Failed to submit ${batchDescription} to ${config.host} due to network error`, - err - ) - throw new RetryError(`Target is unreachable: ${(err as Error).message}`) - } - // Other errors are rethrown to stop the export - console.error(`Failed to submit ${batchDescription} to ${config.host} due to unexpected error`, err) - throw err + await fetch(`https://${config.host.replace(/\/$/, '')}/e`, { + method: 'POST', + body: JSON.stringify(batch), + headers: { 'Content-Type': 'application/json' }, + // TODO: add a timeout signal to make sure we retry if capture is slow, instead of failing the export + }).then( + (res) => { + if (res.ok) { + logger.log(`Flushed ${batchDescription} to ${config.host}`) + } else if (res.status >= 500) { + // Server error, retry the batch later + logger.error( + `Failed to submit ${batchDescription} to ${config.host} due to server error: ${res.status} ${res.statusText}` + ) + throw new RetryError(`Server error: ${res.status} ${res.statusText}`) + } else { + // node-fetch handles 300s internaly, so we're left with 400s here: skip the batch and move forward + // We might have old events in ClickHouse that don't pass new stricter checks, don't fail the whole export if that happens + logger.warn( + `Skipping ${batchDescription}, rejected by ${config.host}: ${res.status} ${res.statusText}` + ) } - ) - } - }, + }, + (err) => { + if (err.name === 'AbortError' || err.name === 'FetchError') { + // Network / timeout error, retry the batch later + // See https://github.com/node-fetch/node-fetch/blob/2.x/ERROR-HANDLING.md + logger.error(`Failed to submit ${batchDescription} to ${config.host} due to network error`, err) + throw new RetryError(`Target is unreachable: ${(err as Error).message}`) + } + // Other errors are rethrown to stop the export + logger.error(`Failed to submit ${batchDescription} to ${config.host} due to unexpected error`, err) + throw err + } + ) + } } -module.exports = plugin +export const replicatorPlugin: LegacyPlugin = { + id: 'replicator', + metadata: metadata as any, + setupPlugin: () => Promise.resolve(), + onEvent, +} diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.test.ts new file mode 100644 index 0000000000000..5295689adb348 --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.test.ts @@ -0,0 +1,310 @@ +import { RetryError } from '@posthog/plugin-scaffold' +import fetchMock from 'jest-fetch-mock' + +import { replicatorPlugin } from '../index' + +fetchMock.enableMocks() + +const captureHost = 'localhost:8000' + +const config = { + host: captureHost, + project_api_key: 'test', + replication: 1, + events_to_ignore: 'my-event-alpha, my-event-beta, my-event-gamma', +} + +const mockEvent = require('./data/event.json') +const mockAutocaptureEvent = require('./data/autocapture-event.json') +const mockEventsToIgnore = require('./data/events-to-ignore.json') + +const logger = { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), +} + +describe('payload contents', () => { + beforeEach(() => { + fetchMock.resetMocks() + }) + + describe('event pre-processing', () => { + it('should handle a single event', async () => { + fetchMock.mockResponses([JSON.stringify({}), { status: 1 }]) + await replicatorPlugin.onEvent(mockEvent, { config, logger, fetch: fetchMock } as any) + + expect(fetchMock.mock.calls[0][1]).toEqual({ + body: JSON.stringify([ + { + distinct_id: '1234', + event: 'my-event', + properties: { + $ip: '127.0.0.1', + foo: 'bar', + }, + token: 'test', + }, + ]), + headers: { + 'Content-Type': 'application/json', + }, + method: 'POST', + }) + }) + + it('should skip ignored events', async () => { + fetchMock.mockResponses([JSON.stringify({}), { status: 1 }]) + for (const event of mockEventsToIgnore) { + await replicatorPlugin.onEvent(event, { config, logger, fetch: fetchMock } as any) + } + expect(fetchMock.mock.calls.length).toBe(0) + await replicatorPlugin.onEvent(mockEvent, { config, logger, fetch: fetchMock } as any) + expect(fetchMock.mock.calls.length).toBe(1) + }) + + it('should reuse the values for timestamp, event, uuid', async () => { + // This is important to ensure that we end up sending the correct + // values for the properties that we dedup. + // NOTE: we should be reasonably confident that these are the + // values we'd receive as per the functional test here: + // https://github.com/PostHog/posthog/blob/771691e8bdd6bf4465887b88d0a6019c9b4b91d6/plugin-server/functional_tests/exports-v2.test.ts#L151 + + await replicatorPlugin.onEvent( + { distinct_id: '1234', event: 'my-event', uuid: 'asdf-zxcv' } as any, + { config, logger, fetch: fetchMock } as any + ) + + expect(fetchMock.mock.calls[0][1]).toEqual({ + body: JSON.stringify([ + { + distinct_id: '1234', + event: 'my-event', + uuid: 'asdf-zxcv', + token: 'test', + }, + ]), + headers: { + 'Content-Type': 'application/json', + }, + method: 'POST', + }) + }) + + it('should correctly reverse the autocapture format', async () => { + await replicatorPlugin.onEvent(mockAutocaptureEvent, { config, logger, fetch: fetchMock } as any) + expect(fetchMock.mock.calls[0][1]).toEqual({ + body: JSON.stringify([ + { + distinct_id: '12345', + event: '$autocapture', + timestamp: '2022-12-06T12:54:30.810Z', + uuid: '0184e780-8f2b-0000-9e00-4cdcba315fe9', + token: 'test', + properties: { + $ip: '127.0.0.1', + $os: 'Mac OS X', + $browser: 'Firefox', + $elements: [ + { + order: 0, + tag_name: 'div', + attr_class: 'view-line', + nth_child: 18, + nth_of_type: 18, + attr__class: 'view-line', + attr__style: 'top:396px;height:18px;', + }, + { + order: 1, + tag_name: 'div', + attr_class: 'view-lines monaco-mouse-cursor-text', + nth_child: 4, + nth_of_type: 4, + 'attr__aria-hidden': 'true', + attr__class: 'view-lines monaco-mouse-cursor-text', + 'attr__data-mprt': '7', + attr__role: 'presentation', + attr__style: + 'position: absolute; font-family: Menlo, Monaco, \\"Courier New\\", monospace; font-weight: normal; font-size: 12px; font-feature-settings: \\"liga\\" 0, \\"calt\\" 0; line-height: 18px; letter-spacing: 0px; width: 899px; height: 1438px;', + }, + { + order: 2, + tag_name: 'div', + attr_class: 'lines-content monaco-editor-background', + nth_child: 1, + nth_of_type: 1, + attr__class: 'lines-content monaco-editor-background', + attr__style: + 'position: absolute; overflow: hidden; width: 1000000px; height: 1000000px; transform: translate3d(0px, 0px, 0px); contain: strict; top: -93px; left: 0px;', + }, + { + order: 3, + tag_name: 'div', + attr_class: 'monaco-scrollable-element editor-scrollable vs-dark mac', + nth_child: 2, + nth_of_type: 2, + attr__class: 'monaco-scrollable-element editor-scrollable vs-dark mac', + 'attr__data-mprt': '5', + attr__role: 'presentation', + attr__style: + 'position: absolute; overflow: hidden; left: 62px; width: 899px; height: 700px;', + }, + { + order: 4, + tag_name: 'div', + attr_class: 'overflow-guard', + nth_child: 1, + nth_of_type: 1, + attr__class: 'overflow-guard', + 'attr__data-mprt': '3', + attr__style: 'width: 961px; height: 700px;', + }, + { + order: 5, + tag_name: 'div', + attr_class: + 'monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused', + nth_child: 1, + nth_of_type: 1, + attr__class: + 'monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused', + 'attr__data-uri': 'file:///index.ts', + attr__role: 'code', + attr__style: 'width: 961px; height: 700px;', + }, + { + order: 6, + tag_name: 'div', + nth_child: 1, + nth_of_type: 1, + 'attr__data-keybinding-context': '2', + 'attr__data-mode-id': 'typescript', + attr__style: 'width: 100%;', + }, + { + order: 7, + tag_name: 'section', + nth_child: 1, + nth_of_type: 1, + attr__style: + 'display: flex; position: relative; text-align: initial; width: 100%; height: 700px;', + }, + { + order: 8, + tag_name: 'div', + attr_class: 'Field flex gap-2 flex-col', + nth_child: 3, + nth_of_type: 2, + attr__class: 'Field flex gap-2 flex-col', + }, + { + order: 9, + tag_name: 'form', + attr_class: 'PluginSource', + nth_child: 1, + nth_of_type: 1, + attr__class: 'PluginSource', + }, + { + order: 10, + tag_name: 'div', + attr_class: 'ant-drawer-body', + nth_child: 2, + nth_of_type: 2, + attr__class: 'ant-drawer-body', + }, + { + order: 11, + tag_name: 'div', + attr_class: 'ant-drawer-wrapper-body', + nth_child: 1, + nth_of_type: 1, + attr__class: 'ant-drawer-wrapper-body', + }, + { + order: 12, + tag_name: 'div', + attr_class: 'ant-drawer-content', + nth_child: 1, + nth_of_type: 1, + attr__class: 'ant-drawer-content', + }, + { + order: 13, + tag_name: 'div', + attr_class: 'ant-drawer-content-wrapper', + nth_child: 2, + nth_of_type: 2, + attr__class: 'ant-drawer-content-wrapper', + attr__style: 'width: min(90vw, 64rem);', + }, + { + order: 14, + tag_name: 'div', + attr_class: 'ant-drawer ant-drawer-left ant-drawer-open', + nth_child: 1, + nth_of_type: 1, + attr__class: 'ant-drawer ant-drawer-left ant-drawer-open', + attr__style: 'z-index: 950;', + attr__tabindex: '-1', + }, + { order: 15, tag_name: 'div', nth_child: 12, nth_of_type: 7 }, + { + order: 16, + tag_name: 'body', + attr_class: 'ant-scrolling-effect', + nth_child: 7, + nth_of_type: 1, + attr__class: 'ant-scrolling-effect', + attr__style: 'touch-action: none; width: calc(100% - 15px); overflow: hidden;', + }, + ], + }, + }, + ]), + headers: { + 'Content-Type': 'application/json', + }, + method: 'POST', + }) + }) + }) + + describe('error management', () => { + it('succeeds and logs on 200', async () => { + fetchMock.mockResponses([JSON.stringify({}), { status: 200 }]) + await replicatorPlugin.onEvent(mockEvent, { + config, + fetch: fetchMock, + logger, + } as any) + expect(logger.log).toHaveBeenCalledWith('Flushed 1 event to localhost:8000') + }) + + it('skips and warns without throwing on 400s', async () => { + fetchMock.mockResponses([JSON.stringify({}), { status: 400 }]) + await replicatorPlugin.onEvent(mockEvent, { + config, + fetch: fetchMock, + logger, + } as any) + expect(logger.warn).toHaveBeenCalledWith('Skipping 1 event, rejected by localhost:8000: 400 Bad Request') + }) + + it('throws RetryError on 500s', async () => { + fetchMock.mockResponses([JSON.stringify({}), { status: 500 }]) + await expect( + replicatorPlugin.onEvent(mockEvent, { + config, + fetch: fetchMock, + logger, + } as any) + ).rejects.toThrow(RetryError) + expect(logger.error).toHaveBeenCalledWith( + 'Failed to submit 1 event to localhost:8000 due to server error: 500 Internal Server Error' + ) + }) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts b/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts deleted file mode 100644 index 0ebe52ba221d3..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.ts +++ /dev/null @@ -1,353 +0,0 @@ -import { RetryError } from '@posthog/plugin-scaffold' -import { MockedRequest, rest } from 'msw' -import { setupServer } from 'msw/node' -import { FetchError } from 'node-fetch' - -const plugin = require('../index') - -const captureHost = 'localhost:8000' -const captureUrl = `https://${captureHost}/e` - -const config = { - host: captureHost, - project_api_key: 'test', - replication: 1, - events_to_ignore: 'my-event-alpha, my-event-beta, my-event-gamma', -} - -const mockEvent = require('./data/event.json') -const mockAutocaptureEvent = require('./data/autocapture-event.json') -const mockEventsToIgnore = require('./data/events-to-ignore.json') - -describe('payload contents', () => { - const mswServer = setupServer() - - beforeAll(() => { - mswServer.listen() - }) - - afterAll(() => { - mswServer.events.removeAllListeners() - mswServer.resetHandlers() - mswServer.close() - }) - - describe('event pre-processing', () => { - // Helper handler to accept one single request to the capture endpoint, return a 200 and capture the incoming request. - const acceptAndCaptureRequest = () => { - return new Promise((resolve, reject) => { - mswServer.use( - rest.post(captureUrl, (req, res, ctx) => { - if (req.headers.get('Content-Type') != 'application/json') { - return res(ctx.status(400), ctx.json({ errorMessage: 'Bad content type' })) - } - resolve(req) - return res.once(ctx.json({ status: 1 })) - }) - ) - mswServer.events.on('request:unhandled', (req) => { - reject(new Error(`The ${req.method} ${req.url.href} request was unhandled.`)) - }) - }) - } - - it('should handle a single event', async () => { - const req = acceptAndCaptureRequest() - await plugin.onEvent(mockEvent, { config }) - const body = await req.then((res) => res.json()) - - expect(body).toEqual([ - { - distinct_id: '1234', - event: 'my-event', - properties: { foo: 'bar', $ip: '127.0.0.1' }, - token: 'test', - }, - ]) - }) - - it('should skip ignored events', async () => { - let requestHandled = false - - mswServer.use( - rest.post(captureUrl, (_req, res, ctx) => { - requestHandled = true - return res.once(ctx.json({ status: 1 })) - }) - ) - for (const event of mockEventsToIgnore) { - await plugin.onEvent(event, { config }) - } - expect(requestHandled).toBe(false) - await plugin.onEvent(mockEvent, { config }) - expect(requestHandled).toBe(true) - }) - - it('should reuse the values for timestamp, event, uuid', async () => { - // This is important to ensure that we end up sending the correct - // values for the properties that we dedup. - // NOTE: we should be reasonably confident that these are the - // values we'd receive as per the functional test here: - // https://github.com/PostHog/posthog/blob/771691e8bdd6bf4465887b88d0a6019c9b4b91d6/plugin-server/functional_tests/exports-v2.test.ts#L151 - - const req = acceptAndCaptureRequest() - await plugin.onEvent( - { distinct_id: '1234', event: 'my-event', sent_at: 'asdf', uuid: 'asdf-zxcv' }, - { config } - ) - const body = await req.then((res) => res.json()) - - expect(body).toEqual([ - { - distinct_id: '1234', - event: 'my-event', - sent_at: 'asdf', - uuid: 'asdf-zxcv', - token: 'test', - }, - ]) - }) - - it('should correctly reverse the autocapture format', async () => { - const req = acceptAndCaptureRequest() - await plugin.onEvent(mockAutocaptureEvent, { config }) - const body = await req.then((res) => res.json()) - expect(body).toEqual([ - { - distinct_id: '12345', - event: '$autocapture', - - timestamp: '2022-12-06T12:54:30.810Z', - token: 'test', - uuid: '0184e780-8f2b-0000-9e00-4cdcba315fe9', - properties: { - $browser: 'Firefox', - $os: 'Mac OS X', - $ip: '127.0.0.1', - $elements: [ - { - order: 0, - tag_name: 'div', - attr_class: 'view-line', - nth_child: 18, - nth_of_type: 18, - attr__class: 'view-line', - attr__style: 'top:396px;height:18px;', - }, - { - order: 1, - tag_name: 'div', - attr_class: 'view-lines monaco-mouse-cursor-text', - nth_child: 4, - nth_of_type: 4, - 'attr__aria-hidden': 'true', - attr__class: 'view-lines monaco-mouse-cursor-text', - 'attr__data-mprt': '7', - attr__role: 'presentation', - attr__style: - 'position: absolute; font-family: Menlo, Monaco, \\"Courier New\\", monospace; font-weight: normal; font-size: 12px; font-feature-settings: \\"liga\\" 0, \\"calt\\" 0; line-height: 18px; letter-spacing: 0px; width: 899px; height: 1438px;', - }, - { - order: 2, - tag_name: 'div', - attr_class: 'lines-content monaco-editor-background', - nth_child: 1, - nth_of_type: 1, - attr__class: 'lines-content monaco-editor-background', - attr__style: - 'position: absolute; overflow: hidden; width: 1000000px; height: 1000000px; transform: translate3d(0px, 0px, 0px); contain: strict; top: -93px; left: 0px;', - }, - { - order: 3, - tag_name: 'div', - attr_class: 'monaco-scrollable-element editor-scrollable vs-dark mac', - nth_child: 2, - nth_of_type: 2, - attr__class: 'monaco-scrollable-element editor-scrollable vs-dark mac', - 'attr__data-mprt': '5', - attr__role: 'presentation', - attr__style: - 'position: absolute; overflow: hidden; left: 62px; width: 899px; height: 700px;', - }, - { - order: 4, - tag_name: 'div', - attr_class: 'overflow-guard', - nth_child: 1, - nth_of_type: 1, - attr__class: 'overflow-guard', - 'attr__data-mprt': '3', - attr__style: 'width: 961px; height: 700px;', - }, - { - order: 5, - tag_name: 'div', - attr_class: - 'monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused', - nth_child: 1, - nth_of_type: 1, - attr__class: - 'monaco-editor no-user-select mac showUnused showDeprecated vs-dark focused', - 'attr__data-uri': 'file:///index.ts', - attr__role: 'code', - attr__style: 'width: 961px; height: 700px;', - }, - { - order: 6, - tag_name: 'div', - nth_child: 1, - nth_of_type: 1, - 'attr__data-keybinding-context': '2', - 'attr__data-mode-id': 'typescript', - attr__style: 'width: 100%;', - }, - { - order: 7, - tag_name: 'section', - nth_child: 1, - nth_of_type: 1, - attr__style: - 'display: flex; position: relative; text-align: initial; width: 100%; height: 700px;', - }, - { - order: 8, - tag_name: 'div', - attr_class: 'Field flex gap-2 flex-col', - nth_child: 3, - nth_of_type: 2, - attr__class: 'Field flex gap-2 flex-col', - }, - { - order: 9, - tag_name: 'form', - attr_class: 'PluginSource', - nth_child: 1, - nth_of_type: 1, - attr__class: 'PluginSource', - }, - { - order: 10, - tag_name: 'div', - attr_class: 'ant-drawer-body', - nth_child: 2, - nth_of_type: 2, - attr__class: 'ant-drawer-body', - }, - { - order: 11, - tag_name: 'div', - attr_class: 'ant-drawer-wrapper-body', - nth_child: 1, - nth_of_type: 1, - attr__class: 'ant-drawer-wrapper-body', - }, - { - order: 12, - tag_name: 'div', - attr_class: 'ant-drawer-content', - nth_child: 1, - nth_of_type: 1, - attr__class: 'ant-drawer-content', - }, - { - order: 13, - tag_name: 'div', - attr_class: 'ant-drawer-content-wrapper', - nth_child: 2, - nth_of_type: 2, - attr__class: 'ant-drawer-content-wrapper', - attr__style: 'width: min(90vw, 64rem);', - }, - { - order: 14, - tag_name: 'div', - attr_class: 'ant-drawer ant-drawer-left ant-drawer-open', - nth_child: 1, - nth_of_type: 1, - attr__class: 'ant-drawer ant-drawer-left ant-drawer-open', - attr__style: 'z-index: 950;', - attr__tabindex: '-1', - }, - { order: 15, tag_name: 'div', nth_child: 12, nth_of_type: 7 }, - { - order: 16, - tag_name: 'body', - attr_class: 'ant-scrolling-effect', - nth_child: 7, - nth_of_type: 1, - attr__class: 'ant-scrolling-effect', - attr__style: 'touch-action: none; width: calc(100% - 15px); overflow: hidden;', - }, - ], - }, - }, - ]) - }) - }) - - describe('error management', () => { - it('succeeds and logs on 200', async () => { - const logSpy = jest.spyOn(console, 'log') - mswServer.use( - rest.post(captureUrl, (_, res, ctx) => { - return res(ctx.status(200)) - }) - ) - await plugin.onEvent(mockEvent, { config }) - expect(logSpy).toHaveBeenCalledWith('Flushed 1 event to localhost:8000') - logSpy.mockReset() - }) - - it('skips and warns without throwing on 400s', async () => { - const logSpy = jest.spyOn(console, 'warn') - mswServer.use( - rest.post(captureUrl, (_, res, ctx) => { - return res(ctx.status(400)) - }) - ) - await plugin.onEvent(mockEvent, { config }) - expect(logSpy).toHaveBeenCalledWith('Skipping 1 event, rejected by localhost:8000: 400 Bad Request') - logSpy.mockReset() - }) - - it('throws RetryError on 500s', async () => { - const logSpy = jest.spyOn(console, 'error') - mswServer.use( - rest.post(captureUrl, (_, res, ctx) => { - return res(ctx.status(500)) - }) - ) - await expect(plugin.onEvent(mockEvent, { config })).rejects.toThrow(RetryError) - expect(logSpy).toHaveBeenCalledWith( - 'Failed to submit 1 event to localhost:8000 due to server error: 500 Internal Server Error' - ) - logSpy.mockReset() - }) - - it('throws RetryError on ECONNREFUSED', async () => { - const logSpy = jest.spyOn(console, 'error') - mswServer.close() - await expect(plugin.onEvent(mockEvent, { config })).rejects.toThrow(RetryError) - expect(logSpy).toHaveBeenCalledWith( - 'Failed to submit 1 event to localhost:8000 due to network error', - expect.any(FetchError) - ) - logSpy.mockReset() - }) - - it('rethrows other fetch errors unhandled', async () => { - const badConfig = { - host: '/invalid', - project_api_key: 'test', - replication: 1, - events_to_ignore: '', - } - const logSpy = jest.spyOn(console, 'error') - await expect(plugin.onEvent(mockEvent, { config: badConfig })).rejects.toThrow( - TypeError('Only absolute URLs are supported') - ) - expect(logSpy).toHaveBeenCalledTimes(1) - logSpy.mockReset() - }) - }) -}) From 36e8087032f60004adff5a3a2f2a1e16349bff2b Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 13:11:02 +0100 Subject: [PATCH 58/76] Fixes --- plugin-server/src/cdp/legacy-plugins/pubsub/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts index ab85c2ad4b4a7..b437e55f1fdb3 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts @@ -53,7 +53,7 @@ export const setupPlugin = async (meta: PubSubMeta): Promise => { } } -export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config }: PubSubMeta) { +export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config, logger }: PubSubMeta) { if (!global.pubSubClient) { throw new Error('No PubSub client initialized!') } @@ -89,7 +89,7 @@ export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config return messageId }) } catch (error) { - console.error(`Error publishing ${fullEvent.uuid} to ${config.topicId}: `, error) + logger.error(`Error publishing ${fullEvent.uuid} to ${config.topicId}: `, error) throw new RetryError(`Error publishing to Pub/Sub! ${JSON.stringify(error.errors)}`) } } From 776e99ac0daaba092876eb32d84e3b8115fb23c0 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 13:12:57 +0100 Subject: [PATCH 59/76] Fixes --- .../{ => _destinations}/hubspot/index.ts | 2 +- .../{ => _destinations}/hubspot/plugin.json | 0 .../pace-posthog-integration/index.ts | 2 +- .../pace-posthog-integration/plugin.json | 0 .../test/test.test.ts | 0 .../{ => _destinations}/posthog-avo/index.ts | 2 +- .../posthog-avo/plugin.json | 0 .../posthog-braze-app/babel.config.js | 0 .../posthog-braze-app/index.ts | 2 +- .../posthog-braze-app/plugin.json | 0 .../tests/export-events.test.ts | 0 .../posthog-braze-app/tests/index.test.ts | 0 .../posthog-engage-so/index.ts | 2 +- .../posthog-engage-so/plugin.json | 0 .../posthog-engage-so/test/index.test.js | 0 .../{ => _destinations}/posthog-gcs/index.ts | 2 +- .../posthog-gcs/plugin.json | 0 .../posthog-laudspeaker-app/index.ts | 2 +- .../posthog-laudspeaker-app/plugin.json | 0 .../posthog-patterns-app/babel.config.js | 0 .../posthog-patterns-app/index.test.ts | 0 .../posthog-patterns-app/index.ts | 2 +- .../posthog-patterns-app/package-lock.json | 0 .../posthog-patterns-app/plugin.json | 0 .../posthog-patterns-app/types.d.ts | 0 .../posthog-plugin-replicator/index.ts | 2 +- .../posthog-plugin-replicator/plugin.json | 0 .../test/data/autocapture-event.json | 0 .../test/data/event.json | 0 .../test/data/events-to-ignore.json | 0 .../test/test.test.ts | 0 .../{ => _destinations}/pubsub/index.ts | 2 +- .../pubsub/package-lock.json | 0 .../{ => _destinations}/pubsub/plugin.json | 0 .../rudderstack-posthog/index.ts | 2 +- .../rudderstack-posthog/plugin.json | 0 .../salesforce/package-lock.json | 0 .../salesforce/plugin.json | 0 .../salesforce/src/configValidation.test.ts | 0 .../salesforce/src/eventSinkMapping.test.ts | 0 .../salesforce/src/getProperties.test.ts | 0 .../salesforce/src/index.ts | 2 +- .../salesforce/src/onEvent.test.ts | 0 .../src/sendEventToSalesforce.test.ts | 0 .../sendgrid/__tests__/index.js | 0 .../{ => _destinations}/sendgrid/index.ts | 2 +- .../{ => _destinations}/sendgrid/plugin.json | 0 plugin-server/src/cdp/legacy-plugins/index.ts | 36 ++++++++++++------- 48 files changed, 37 insertions(+), 25 deletions(-) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/hubspot/index.ts (99%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/hubspot/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/pace-posthog-integration/index.ts (93%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/pace-posthog-integration/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/pace-posthog-integration/test/test.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-avo/index.ts (98%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-avo/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-braze-app/babel.config.js (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-braze-app/index.ts (99%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-braze-app/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-braze-app/tests/export-events.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-braze-app/tests/index.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-engage-so/index.ts (95%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-engage-so/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-engage-so/test/index.test.js (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-gcs/index.ts (98%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-gcs/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-laudspeaker-app/index.ts (99%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-laudspeaker-app/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-patterns-app/babel.config.js (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-patterns-app/index.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-patterns-app/index.ts (96%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-patterns-app/package-lock.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-patterns-app/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-patterns-app/types.d.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-plugin-replicator/index.ts (98%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-plugin-replicator/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-plugin-replicator/test/data/autocapture-event.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-plugin-replicator/test/data/event.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-plugin-replicator/test/data/events-to-ignore.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/posthog-plugin-replicator/test/test.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/pubsub/index.ts (98%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/pubsub/package-lock.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/pubsub/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/rudderstack-posthog/index.ts (99%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/rudderstack-posthog/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/package-lock.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/plugin.json (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/src/configValidation.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/src/eventSinkMapping.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/src/getProperties.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/src/index.ts (99%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/src/onEvent.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/salesforce/src/sendEventToSalesforce.test.ts (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/sendgrid/__tests__/index.js (100%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/sendgrid/index.ts (98%) rename plugin-server/src/cdp/legacy-plugins/{ => _destinations}/sendgrid/plugin.json (100%) diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/hubspot/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts index b519276acf694..06887e27b8158 100644 --- a/plugin-server/src/cdp/legacy-plugins/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts @@ -2,7 +2,7 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { Response } from '~/src/utils/fetch' -import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' const hubspotPropsMap = { diff --git a/plugin-server/src/cdp/legacy-plugins/hubspot/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/hubspot/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts similarity index 93% rename from plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts index 003cfd4220d8a..11f4ccf34acd7 100644 --- a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' export type PaceMetaInput = LegacyPluginMeta & { diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/test/test.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/pace-posthog-integration/test/test.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/test/test.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts index 9dfd1d9a80cd3..9e11d49d441de 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-avo/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts @@ -1,7 +1,7 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { randomUUID } from 'crypto' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' type AvoPluginMeta = LegacyPluginMeta & { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-avo/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-avo/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/babel.config.js similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-braze-app/babel.config.js rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/babel.config.js diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts index bef8c861f2201..56a5891cfffaa 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts @@ -3,7 +3,7 @@ import crypto from 'crypto' import { Response } from '~/src/utils/fetch' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' export type FetchBraze = ( diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-braze-app/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/export-events.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/index.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-braze-app/tests/index.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/index.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts similarity index 95% rename from plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts index 3b86d742c4a4a..78f3f899b47c7 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' type EngagePluginEvent = ProcessedPluginEvent & { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-engage-so/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.js similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-engage-so/test/index.test.js rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.js diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts index 0c2b7b3484d63..00c93c488c779 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts @@ -3,7 +3,7 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { randomBytes } from 'crypto' import { PassThrough } from 'stream' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' type gcsMeta = LegacyPluginMeta & { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-gcs/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts index 5c7ec15791bf8..243c2909b9d48 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' const alias = { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-laudspeaker-app/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/babel.config.js similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/babel.config.js rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/babel.config.js diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts similarity index 96% rename from plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts index f93956e4ffd7d..76a60bf5bb60d 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts @@ -2,7 +2,7 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { Response } from '~/src/utils/fetch' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' export type PatternsMeta = LegacyPluginMeta & { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/package-lock.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/package-lock.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/package-lock.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/types.d.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-patterns-app/types.d.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/types.d.ts diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts index 5bf146d7bc97d..ef3f44b53128f 100644 --- a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' export interface ReplicatorMetaInput { diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/autocapture-event.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/data/autocapture-event.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/autocapture-event.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/data/autocapture-event.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/event.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/data/event.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/event.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/data/event.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/events-to-ignore.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/data/events-to-ignore.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/data/events-to-ignore.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/data/events-to-ignore.json diff --git a/plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/posthog-plugin-replicator/test/test.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/pubsub/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts index b437e55f1fdb3..11d53897c06a1 100644 --- a/plugin-server/src/cdp/legacy-plugins/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts @@ -2,7 +2,7 @@ import { PubSub, Topic } from '@google-cloud/pubsub' import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { RetryError } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' type PubSubMeta = LegacyPluginMeta & { diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/package-lock.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/pubsub/package-lock.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/package-lock.json diff --git a/plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/pubsub/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts index 999f2096e833a..322b3e05dea90 100644 --- a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' const alias = { diff --git a/plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/rudderstack-posthog/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/package-lock.json b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/package-lock.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/package-lock.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/package-lock.json diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/configValidation.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/src/configValidation.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/configValidation.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/eventSinkMapping.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/src/eventSinkMapping.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/eventSinkMapping.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/getProperties.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/src/getProperties.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/getProperties.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts index ae94454adfadf..26b07122cc853 100644 --- a/plugin-server/src/cdp/legacy-plugins/salesforce/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts @@ -3,7 +3,7 @@ import { CacheExtension, Properties, RetryError } from '@posthog/plugin-scaffold import type { Response } from 'node-fetch' import { URL } from 'url' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../../types' import metadata from '../plugin.json' export interface EventSink { diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/onEvent.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/src/onEvent.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/onEvent.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/sendEventToSalesforce.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/salesforce/src/sendEventToSalesforce.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/sendEventToSalesforce.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/__tests__/index.js similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/sendgrid/__tests__/index.js rename to plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/__tests__/index.js diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts index 3f69c82ed835b..f9ae449bcb3a3 100644 --- a/plugin-server/src/cdp/legacy-plugins/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../types' +import { LegacyPlugin, LegacyPluginMeta } from '../../types' import metadata from './plugin.json' const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): Promise => { diff --git a/plugin-server/src/cdp/legacy-plugins/sendgrid/plugin.json b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/plugin.json similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/sendgrid/plugin.json rename to plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/plugin.json diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index ff6db17bee2d1..5b04ab5b9ce52 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -1,5 +1,17 @@ import { customerioPlugin } from './_destinations/customerio' +import { hubspotPlugin } from './_destinations/hubspot' import { intercomPlugin } from './_destinations/intercom' +import { avoPlugin } from './_destinations/posthog-avo' +import { brazePlugin } from './_destinations/posthog-braze-app' +import { engagePlugin } from './_destinations/posthog-engage-so' +import { gcsPlugin } from './_destinations/posthog-gcs' +import { laudspeakerPlugin } from './_destinations/posthog-laudspeaker-app' +import { patternsPlugin } from './_destinations/posthog-patterns-app' +import { replicatorPlugin } from './_destinations/posthog-plugin-replicator' +import { pubsubPlugin } from './_destinations/pubsub' +import { rudderstackPlugin } from './_destinations/rudderstack-posthog' +import { salesforcePlugin } from './_destinations/salesforce/src' +import { sendgridPlugin } from './_destinations/sendgrid' import { downsamplingPlugin } from './_transformations/downsampling-plugin' import { languageUrlSplitterApp } from './_transformations/language-url-splitter-app' import { posthogAppUrlParametersToEventPropertiesPlugin } from './_transformations/posthog-app-url-parameters-to-event-properties' @@ -14,18 +26,18 @@ import { userAgentPlugin } from './_transformations/user-agent-plugin' export const DESTINATION_PLUGINS_BY_ID = { [customerioPlugin.id]: customerioPlugin, [intercomPlugin.id]: intercomPlugin, - // [rudderstackPlugin.id]: rudderstackPlugin, - // [hubspotPlugin.id]: hubspotPlugin, - // [engagePlugin.id]: engagePlugin, - // [avoPlugin.id]: avoPlugin, - // [patternsPlugin.id]: patternsPlugin, - // [brazePlugin.id]: brazePlugin, - // [pubsubPlugin.id]: pubsubPlugin, - // [sendgridPlugin.id]: sendgridPlugin, - // [gcsPlugin.id]: gcsPlugin, - // [salesforcePlugin.id]: salesforcePlugin, - // [laudspeakerPlugin.id]: laudspeakerPlugin, - // [replicatorPlugin.id]: replicatorPlugin, + [rudderstackPlugin.id]: rudderstackPlugin, + [hubspotPlugin.id]: hubspotPlugin, + [engagePlugin.id]: engagePlugin, + [avoPlugin.id]: avoPlugin, + [patternsPlugin.id]: patternsPlugin, + [brazePlugin.id]: brazePlugin, + [pubsubPlugin.id]: pubsubPlugin, + [sendgridPlugin.id]: sendgridPlugin, + [gcsPlugin.id]: gcsPlugin, + [salesforcePlugin.id]: salesforcePlugin, + [laudspeakerPlugin.id]: laudspeakerPlugin, + [replicatorPlugin.id]: replicatorPlugin, } export const TRANSFORMATION_PLUGINS_BY_ID = { From a31f37aba62dd27707db0378b59e6caaa396b866 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Fri, 31 Jan 2025 15:36:42 +0100 Subject: [PATCH 60/76] fixes --- .../cdp-cyclotron-plugins-worker.test.ts.snap | 28 +- .../_destinations/hubspot/index.ts | 2 +- .../pace-posthog-integration/index.ts | 8 +- .../_destinations/posthog-avo/index.ts | 13 +- .../posthog-braze-app/babel.config.js | 12 - .../_destinations/posthog-braze-app/index.ts | 8 +- .../_destinations/posthog-engage-so/index.ts | 8 +- .../_destinations/posthog-gcs/index.ts | 8 +- .../posthog-laudspeaker-app/index.ts | 11 +- .../posthog-patterns-app/babel.config.js | 12 - .../posthog-patterns-app/index.ts | 8 +- .../posthog-patterns-app/package-lock.json | 13464 ------------- .../posthog-plugin-replicator/index.ts | 11 +- .../_destinations/pubsub/index.ts | 8 +- .../_destinations/pubsub/package-lock.json | 725 - .../rudderstack-posthog/index.ts | 8 +- .../salesforce/package-lock.json | 16614 ---------------- .../_destinations/salesforce/src/index.ts | 8 +- .../_destinations/sendgrid/index.ts | 10 +- .../legacy-plugin-executor.test.ts.snap | 93 + 20 files changed, 167 insertions(+), 30892 deletions(-) delete mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/babel.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/babel.config.js delete mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/package-lock.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/package-lock.json delete mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/package-lock.json diff --git a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap index 07ccc3ef3d67d..3fd61a52e3bf4 100644 --- a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap +++ b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap @@ -73,41 +73,41 @@ exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'c ] `; -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'posthog-intercom-plugin', plugin: [Object] } 1`] = ` +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'laudspeaker', plugin: [Object] } 1`] = ` [ { "level": "debug", - "message": "Executing plugin posthog-intercom-plugin", - }, - { - "level": "info", - "message": "Contact test@posthog.com in Intercom not found", + "message": "Executing plugin laudspeaker", }, { - "level": "debug", - "message": "Execution successful", + "level": "error", + "message": "Plugin errored: Cannot read properties of undefined (reading 'headers')", }, ] `; -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'laudspeaker', plugin: [Object] } 1`] = ` +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'patterns', plugin: [Object] } 1`] = ` [ { "level": "debug", - "message": "Executing plugin laudspeaker", + "message": "Executing plugin patterns", }, { - "level": "error", - "message": "Plugin errored: Cannot read properties of undefined (reading 'headers')", + "level": "debug", + "message": "Execution successful", }, ] `; -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'patterns', plugin: [Object] } 1`] = ` +exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'posthog-intercom-plugin', plugin: [Object] } 1`] = ` [ { "level": "debug", - "message": "Executing plugin patterns", + "message": "Executing plugin posthog-intercom-plugin", + }, + { + "level": "info", + "message": "Contact test@posthog.com in Intercom not found", }, { "level": "debug", diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts index 06887e27b8158..32164c8a06399 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/hubspot/index.ts @@ -180,7 +180,7 @@ function getEmailFromEvent(event: ProcessedPluginEvent): string | null { } export const hubspotPlugin: LegacyDestinationPlugin = { - id: 'hubspot', + id: 'hubspot-plugin', metadata: metadata as any, setupPlugin, onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts index 11f4ccf34acd7..37b5a83a0b139 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts @@ -1,9 +1,9 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -export type PaceMetaInput = LegacyPluginMeta & { +export type PaceMetaInput = LegacyDestinationPluginMeta & { config: { api_key: string } @@ -27,8 +27,8 @@ export const onEvent = async (event: ProcessedPluginEvent, { config, fetch }: Pa }) } -export const pacePlugin: LegacyPlugin = { - id: 'pace', +export const pacePlugin: LegacyDestinationPlugin = { + id: 'pace-posthog-integration', metadata: metadata as any, setupPlugin: () => Promise.resolve(), onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts index 9e11d49d441de..505c049be4792 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-avo/index.ts @@ -1,10 +1,10 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { randomUUID } from 'crypto' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -type AvoPluginMeta = LegacyPluginMeta & { +type AvoPluginMeta = LegacyDestinationPluginMeta & { global: { defaultHeaders: Record excludeEvents: Set @@ -45,7 +45,10 @@ export const setupPlugin = ({ config, global }: AvoPluginMeta): Promise => return Promise.resolve() } -const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { +const onEvent = async ( + event: ProcessedPluginEvent, + { config, global, fetch }: LegacyDestinationPluginMeta +): Promise => { const isIncluded = global.includeEvents.length > 0 ? global.includeEvents.has(event.event) : true const isExcluded = global.excludeEvents.has(event.event) @@ -131,8 +134,8 @@ const getPropValueType = (propValue: any): string => { } } -export const avoPlugin: LegacyPlugin = { - id: 'avo', +export const avoPlugin: LegacyDestinationPlugin = { + id: 'posthog-avo-plugin', metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/babel.config.js deleted file mode 100644 index 3e375eadd0fff..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/babel.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - presets: [ - [ - '@babel/preset-env', - { - targets: { - node: 'current', - }, - }, - ], - ], -} diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts index 56a5891cfffaa..d894547f90824 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts @@ -3,7 +3,7 @@ import crypto from 'crypto' import { Response } from '~/src/utils/fetch' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' export type FetchBraze = ( @@ -13,7 +13,7 @@ export type FetchBraze = ( requestId?: string ) => Promise | null> -export type BrazePluginMeta = LegacyPluginMeta & { +export type BrazePluginMeta = LegacyDestinationPluginMeta & { config: { brazeEndpoint: 'US-01' | 'US-02' | 'US-03' | 'US-04' | 'US-05' | 'US-06' | 'US-08' | 'EU-01' | 'EU-02' apiKey: string @@ -209,8 +209,8 @@ export const onEvent = async (pluginEvent: ProcessedPluginEvent, meta: BrazePlug meta.logger.log(`🚀 Exported 1 event to Braze in ${elapsedTime} seconds.`) } -export const brazePlugin: LegacyPlugin = { - id: 'braze', +export const brazePlugin: LegacyDestinationPlugin = { + id: 'posthog-braze-app', metadata: metadata as any, setupPlugin: () => Promise.resolve(), onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts index 78f3f899b47c7..c8fe6f178ad38 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts @@ -1,13 +1,13 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' type EngagePluginEvent = ProcessedPluginEvent & { config?: any } -const onEvent = async (_event: EngagePluginEvent, { config, fetch }: LegacyPluginMeta): Promise => { +const onEvent = async (_event: EngagePluginEvent, { config, fetch }: LegacyDestinationPluginMeta): Promise => { const event = _event.event if (event.startsWith('$')) { // only process a specific set of custom events @@ -35,8 +35,8 @@ const onEvent = async (_event: EngagePluginEvent, { config, fetch }: LegacyPlugi }) } -export const engagePlugin: LegacyPlugin = { - id: 'engage', +export const engagePlugin: LegacyDestinationPlugin = { + id: 'posthog-engage-so-plugin', metadata: metadata as any, setupPlugin: () => Promise.resolve(), onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts index 00c93c488c779..aba3e57192956 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-gcs/index.ts @@ -3,10 +3,10 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { randomBytes } from 'crypto' import { PassThrough } from 'stream' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -type gcsMeta = LegacyPluginMeta & { +type gcsMeta = LegacyDestinationPluginMeta & { global: { bucket: Bucket eventsToIgnore: Set @@ -149,8 +149,8 @@ const onEvent = async (event: ProcessedPluginEvent, { global, logger }: gcsMeta) } } -export const gcsPlugin: LegacyPlugin = { - id: 'gcs', +export const gcsPlugin: LegacyDestinationPlugin = { + id: 'posthog-gcs-plugin', metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts index 243c2909b9d48..d56c4abae54fd 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' const alias = { @@ -242,7 +242,10 @@ interface LaudspeakerPayload { type?: string } -const onEvent = async (event: ProcessedPluginEvent, { config, global, fetch }: LegacyPluginMeta): Promise => { +const onEvent = async ( + event: ProcessedPluginEvent, + { config, global, fetch }: LegacyDestinationPluginMeta +): Promise => { const laudspeakerPayload: LaudspeakerPayload = {} // add const value props constructPayload(laudspeakerPayload, event, constants, true) @@ -347,8 +350,8 @@ function constructPayload(outPayload: any, inPayload: any, mapping: any, direct }) } -export const laudspeakerPlugin: LegacyPlugin = { - id: 'laudspeaker', +export const laudspeakerPlugin: LegacyDestinationPlugin = { + id: 'posthog-laudspeaker-app', metadata: metadata as any, setupPlugin: () => Promise.resolve(), onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/babel.config.js b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/babel.config.js deleted file mode 100644 index 3e375eadd0fff..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/babel.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - presets: [ - [ - '@babel/preset-env', - { - targets: { - node: 'current', - }, - }, - ], - ], -} diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts index 76a60bf5bb60d..e4bac278f14da 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.ts @@ -2,10 +2,10 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' import { Response } from '~/src/utils/fetch' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -export type PatternsMeta = LegacyPluginMeta & { +export type PatternsMeta = LegacyDestinationPluginMeta & { config: { webhookUrl: string allowedEventTypes: string @@ -45,8 +45,8 @@ export const onEvent = async (event: ProcessedPluginEvent, { config, global, fet } } -export const patternsPlugin: LegacyPlugin = { - id: 'patterns', +export const patternsPlugin: LegacyDestinationPlugin = { + id: 'posthog-patterns-app', metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/package-lock.json b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/package-lock.json deleted file mode 100644 index f3d87c77e864d..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/package-lock.json +++ /dev/null @@ -1,13464 +0,0 @@ -{ - "name": "posthog-patterns-app", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "posthog-patterns-app", - "dependencies": { - "node-fetch": "^3.2.6" - }, - "devDependencies": { - "@babel/preset-env": "^7.18.10", - "@posthog/plugin-scaffold": "^1.2.0", - "@types/jest": "^28.1.6", - "@types/node": "^18.0.3", - "jest": "^27.5.1", - "jest-fetch-mock": "^3.0.3", - "ts-jest": "^28.0.7", - "typescript": "^4.7.4" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", - "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.10", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", - "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", - "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", - "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@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-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@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-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@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-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "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, - "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, - "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, - "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, - "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-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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "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, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "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, - "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, - "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, - "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, - "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, - "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, - "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, - "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.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.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.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "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-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", - "dev": true, - "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-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "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-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", - "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.10", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.18.6", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.10", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", - "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "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 - }, - "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, - "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/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/console/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/core/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@jest/core/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@jest/core/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/fake-timers/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/reporters/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@jest/reporters/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@jest/reporters/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/@jest/test-sequencer/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@maxmind/geoip2-node": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", - "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", - "dev": true, - "dependencies": { - "camelcase-keys": "^7.0.0", - "ip6addr": "^0.2.5", - "lodash.set": "^4.3.2", - "maxmind": "^4.2.0" - } - }, - "node_modules/@posthog/plugin-scaffold": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", - "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", - "dev": true, - "dependencies": { - "@maxmind/geoip2-node": "^3.0.0" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.26", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", - "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "28.1.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", - "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", - "dev": true, - "dependencies": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" - } - }, - "node_modules/@types/jest/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/@types/jest/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/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==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.6.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", - "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", - "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": 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 - }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.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==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "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, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.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, - "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-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.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, - "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/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - }, - "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, - "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, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "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 - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001373", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", - "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/core-js-compat": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", - "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.3", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/cross-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/cross-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==", - "dev": true - }, - "node_modules/cross-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==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "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, - "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 - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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 - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.209", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", - "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "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, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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/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": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/expect/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/expect/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.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 - }, - "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 - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "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==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "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, - "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==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "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, - "engines": { - "node": ">=8.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "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/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "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 - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "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, - "engines": { - "node": ">=0.8.19" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/ip6addr": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", - "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2" - } - }, - "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==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.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 - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", - "dev": true, - "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/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "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.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-circus/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-config/node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/jest-config/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-config/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-config/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-node/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-fetch-mock": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", - "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", - "dev": true, - "dependencies": { - "cross-fetch": "^3.0.4", - "promise-polyfill": "^8.1.3" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-resolve/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-resolve/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-resolve/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-runner/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-runner/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-runner/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-runtime/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-runtime/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-runtime/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-snapshot/node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-snapshot/node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watcher/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "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==", - "dev": true - }, - "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, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "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, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.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, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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 - }, - "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 - }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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 - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/maxmind": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", - "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", - "dev": true, - "dependencies": { - "mmdb-lib": "2.0.2", - "tiny-lru": "8.0.2" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "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==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mmdb-lib": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", - "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", - "dev": true, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "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==", - "dev": true - }, - "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 - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", - "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "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 - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "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, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", - "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "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/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/promise-polyfill": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", - "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", - "dev": true - }, - "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, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "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 - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/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 - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "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/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.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-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, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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 - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.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==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "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, - "engines": { - "node": ">=8" - } - }, - "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, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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 - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/tiny-lru": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", - "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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 - }, - "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, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-jest": { - "version": "28.0.7", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", - "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^28.0.0", - "babel-jest": "^28.0.0", - "jest": "^28.0.0", - "typescript": ">=4.3" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "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, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "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, - "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, - "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.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/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, - "engines": { - "node": ">= 8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "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 - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", - "dev": true - }, - "@babel/core": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", - "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.10", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz", - "integrity": "sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.10", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", - "dev": true, - "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz", - "integrity": "sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", - "dev": true, - "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "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==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz", - "integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", - "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", - "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.10", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.18.6", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.10", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz", - "integrity": "sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - } - }, - "@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 - }, - "@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, - "requires": { - "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" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "@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 - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@maxmind/geoip2-node": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.4.0.tgz", - "integrity": "sha512-XBB+IJSXQRXXHBvwULZu2nOYAPuC0pc77xw/xkDo0cWkBO/L2rUMr+xKGZwj47mFBEiG6tnTMBzxJajEJTrKAg==", - "dev": true, - "requires": { - "camelcase-keys": "^7.0.0", - "ip6addr": "^0.2.5", - "lodash.set": "^4.3.2", - "maxmind": "^4.2.0" - } - }, - "@posthog/plugin-scaffold": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.2.0.tgz", - "integrity": "sha512-z2LWsMsdRZXiN1wEy0yGE+lL2RaGnDgvVrqqAt2MDXSQ70LUTshYlfzcowWhQcrOvN3f+zyNfQ9S8p3Y9znj+A==", - "dev": true, - "requires": { - "@maxmind/geoip2-node": "^3.0.0" - } - }, - "@sinclair/typebox": { - "version": "0.24.26", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.26.tgz", - "integrity": "sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "28.1.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", - "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", - "dev": true, - "requires": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" - }, - "dependencies": { - "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 - }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true - }, - "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true - }, - "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - } - } - }, - "@types/node": { - "version": "18.6.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz", - "integrity": "sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==", - "dev": true - }, - "@types/prettier": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.4.tgz", - "integrity": "sha512-fOwvpvQYStpb/zHMx0Cauwywu9yLDmzWiiQBC7gJyq5tYLUXFZvDG7VK1B7WBxxjBJNKFOZ0zLoOQn8vmATbhw==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "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, - "requires": { - "type-fest": "^0.21.3" - } - }, - "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 - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "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, - "requires": { - "@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-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2" - } - }, - "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, - "requires": { - "@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" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, - "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, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "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, - "requires": { - "node-int64": "^0.4.0" - } - }, - "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 - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "requires": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "caniuse-lite": { - "version": "1.0.30001373", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz", - "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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 - }, - "ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js-compat": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", - "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", - "dev": true, - "requires": { - "browserslist": "^4.21.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "requires": { - "node-fetch": "2.6.7" - }, - "dependencies": { - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "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==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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 - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "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 - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "electron-to-chromium": { - "version": "1.4.209", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.209.tgz", - "integrity": "sha512-SfWI9G/e3rxGIUalHbUCH9yEsTpO+72y+cD1Sw0tYtuTrdOPaFAgZKXM1crWVJwTNmj6KIPbbx0NIoV8a2cFJw==", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "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==", - "dev": true - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "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 - }, - "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 - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "requires": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - } - }, - "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==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "requires": { - "fetch-blob": "^3.1.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "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 - }, - "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==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "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 - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "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==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "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==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ip6addr": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", - "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "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==", - "dev": true - }, - "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 - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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 - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", - "dev": true, - "requires": { - "@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-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dev": true, - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dev": true, - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-fetch-mock": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", - "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", - "dev": true, - "requires": { - "cross-fetch": "^3.0.4", - "promise-polyfill": "^8.1.3" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - } - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dev": true, - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "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 - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "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==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "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 - }, - "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 - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "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 - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "maxmind": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.6.tgz", - "integrity": "sha512-CwnEZqJX0T6b2rWrc0/V3n9hL/hWAMEn7fY09077YJUHiHx7cn/esA2ZIz8BpYLSJUf7cGVel0oUJa9jMwyQpg==", - "dev": true, - "requires": { - "mmdb-lib": "2.0.2", - "tiny-lru": "8.0.2" - } - }, - "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==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mmdb-lib": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", - "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - }, - "node-fetch": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", - "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", - "requires": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - } - }, - "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 - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", - "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "@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" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "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==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "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, - "requires": { - "find-up": "^4.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "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, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "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 - } - } - }, - "promise-polyfill": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz", - "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==", - "dev": true - }, - "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, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "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 - }, - "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 - }, - "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 - }, - "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "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, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "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 - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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 - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "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==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "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, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "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 - }, - "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==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "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==", - "dev": true - }, - "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 - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "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, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "tiny-lru": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-8.0.2.tgz", - "integrity": "sha512-ApGvZ6vVvTNdsmt676grvCkUCGwzG9IqXma5Z07xJgiC5L7akUMof5U8G2JTI9Rz/ovtVhJBlY6mNhEvtjzOIg==", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "ts-jest": { - "version": "28.0.7", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.7.tgz", - "integrity": "sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true - } - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "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 - }, - "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 - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - } - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "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==", - "dev": true - } - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts index ef3f44b53128f..a92045f7bace9 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent, RetryError } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' export interface ReplicatorMetaInput { @@ -41,7 +41,10 @@ const reverseAutocaptureEvent = (autocaptureEvent: StrippedEvent) => { } } -const onEvent = async (event: ProcessedPluginEvent, { config, fetch, logger }: LegacyPluginMeta): Promise => { +const onEvent = async ( + event: ProcessedPluginEvent, + { config, fetch, logger }: LegacyDestinationPluginMeta +): Promise => { const replication = parseInt(config.replication) || 1 if (replication > 1) { // This is a quick fix to make sure we don't become a spam bot @@ -112,8 +115,8 @@ const onEvent = async (event: ProcessedPluginEvent, { config, fetch, logger }: L } } -export const replicatorPlugin: LegacyPlugin = { - id: 'replicator', +export const replicatorPlugin: LegacyDestinationPlugin = { + id: 'posthog-plugin-replicator', metadata: metadata as any, setupPlugin: () => Promise.resolve(), onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts index 11d53897c06a1..6690f8afac08b 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/index.ts @@ -2,10 +2,10 @@ import { PubSub, Topic } from '@google-cloud/pubsub' import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { RetryError } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -type PubSubMeta = LegacyPluginMeta & { +type PubSubMeta = LegacyDestinationPluginMeta & { global: { pubSubClient: PubSub pubSubTopic: Topic @@ -94,8 +94,8 @@ export async function onEvent(fullEvent: ProcessedPluginEvent, { global, config, } } -export const pubsubPlugin: LegacyPlugin = { - id: 'pubsub', +export const pubsubPlugin: LegacyDestinationPlugin = { + id: 'pubsub-plugin', metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/package-lock.json b/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/package-lock.json deleted file mode 100644 index abf630c215465..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/pubsub/package-lock.json +++ /dev/null @@ -1,725 +0,0 @@ -{ - "name": "@posthog/pubsub-plugin", - "version": "0.0.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@google-cloud/paginator": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.5.tgz", - "integrity": "sha512-N4Uk4BT1YuskfRhKXBs0n9Lg2YTROZc6IMpkO/8DIHODtm5s3xY8K5vVBo23v/2XulY3azwITQlYWgT4GdLsUw==", - "dev": true, - "requires": { - "arrify": "^2.0.0", - "extend": "^3.0.2" - } - }, - "@google-cloud/precise-date": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-2.0.3.tgz", - "integrity": "sha512-+SDJ3ZvGkF7hzo6BGa8ZqeK3F6Z4+S+KviC9oOK+XCs3tfMyJCh/4j93XIWINgMMDIh9BgEvlw4306VxlXIlYA==", - "dev": true - }, - "@google-cloud/projectify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.0.tgz", - "integrity": "sha512-qbpidP/fOvQNz3nyabaVnZqcED1NNzf7qfeOlgtAZd9knTwY+KtsGRkYpiQzcATABy4gnGP2lousM3S0nuWVzA==", - "dev": true - }, - "@google-cloud/promisify": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-2.0.3.tgz", - "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==", - "dev": true - }, - "@google-cloud/pubsub": { - "version": "2.16.6", - "resolved": "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.16.6.tgz", - "integrity": "sha512-Hsa95pbgUmgxmrAQRePqGfpCx/zEqd+ueZDdi4jjvnew6bAP3r0+i+3a1/qkNonQYcWcf0a2tJnZwVDuMznvog==", - "dev": true, - "requires": { - "@google-cloud/paginator": "^3.0.0", - "@google-cloud/precise-date": "^2.0.0", - "@google-cloud/projectify": "^2.0.0", - "@google-cloud/promisify": "^2.0.0", - "@opentelemetry/api": "^1.0.0", - "@opentelemetry/semantic-conventions": "^0.24.0", - "@types/duplexify": "^3.6.0", - "@types/long": "^4.0.0", - "arrify": "^2.0.0", - "extend": "^3.0.2", - "google-auth-library": "^7.0.0", - "google-gax": "^2.24.1", - "is-stream-ended": "^0.1.4", - "lodash.snakecase": "^4.1.1", - "p-defer": "^3.0.0" - } - }, - "@grpc/grpc-js": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", - "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", - "dev": true, - "requires": { - "@types/node": ">=12.12.47" - } - }, - "@grpc/proto-loader": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz", - "integrity": "sha512-7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==", - "dev": true, - "requires": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^6.10.0", - "yargs": "^16.1.1" - } - }, - "@opentelemetry/api": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.2.tgz", - "integrity": "sha512-DCF9oC89ao8/EJUqrp/beBlDR8Bp2R43jqtzayqCoomIvkwTuPfLcHdVhIGRR69GFlkykFjcDW+V92t0AS7Tww==", - "dev": true - }, - "@opentelemetry/semantic-conventions": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", - "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", - "dev": true - }, - "@posthog/plugin-contrib": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", - "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==", - "dev": true - }, - "@posthog/plugin-scaffold": { - "version": "0.12.8", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-0.12.8.tgz", - "integrity": "sha512-T0ldNkc2maWlfa8XIthnfVzur2pg4+JDXhKm2ohuWmWB7wyP5/Sg7uIWohZ4bI+nW794uU5Uc9iMvpKHjQiX/Q==", - "dev": true - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", - "dev": true - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", - "dev": true - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", - "dev": true - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", - "dev": true - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", - "dev": true - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", - "dev": true - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", - "dev": true - }, - "@types/duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/generic-pool": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.1.10.tgz", - "integrity": "sha512-WRT/9taXh9XJRA9yvrbC02IqGZhK9GbFE/vuP2LeSLrqmDzz5wdXsH0Ige/F+3+rbbZfwH3LEazDsU0JiSV3vA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==", - "dev": true - }, - "@types/node": { - "version": "16.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz", - "integrity": "sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==", - "dev": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "dev": true - }, - "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": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "dev": true, - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "fast-text-encoding": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", - "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==", - "dev": true - }, - "gaxios": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz", - "integrity": "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==", - "dev": true, - "requires": { - "abort-controller": "^3.0.0", - "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", - "is-stream": "^2.0.0", - "node-fetch": "^2.3.0" - } - }, - "gcp-metadata": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.0.tgz", - "integrity": "sha512-L9XQUpvKJCM76YRSmcxrR4mFPzPGsgZUH+GgHMxAET8qc6+BhRJq63RLhWakgEO2KKVgeSDVfyiNjkGSADwNTA==", - "dev": true, - "requires": { - "gaxios": "^4.0.0", - "json-bigint": "^1.0.0" - } - }, - "generic-pool": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz", - "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==", - "dev": true - }, - "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==", - "dev": true - }, - "google-auth-library": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.6.2.tgz", - "integrity": "sha512-yvEnwVsvgH8RXTtpf6e84e7dqIdUEKJhmQvTJwzYP+RDdHjLrDp9sk2u2ZNDJPLKZ7DJicx/+AStcQspJiq+Qw==", - "dev": true, - "requires": { - "arrify": "^2.0.0", - "base64-js": "^1.3.0", - "ecdsa-sig-formatter": "^1.0.11", - "fast-text-encoding": "^1.0.0", - "gaxios": "^4.0.0", - "gcp-metadata": "^4.2.0", - "gtoken": "^5.0.4", - "jws": "^4.0.0", - "lru-cache": "^6.0.0" - } - }, - "google-gax": { - "version": "2.24.2", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.24.2.tgz", - "integrity": "sha512-4OtyEIt/KAXRX5o2W/6DGf8MnMs1lMXwcGoPHR4PwXfTUVKjK7ywRe2/yRIMkYEDzAwu/kppPgfpX+kCG2rWfw==", - "dev": true, - "requires": { - "@grpc/grpc-js": "~1.3.0", - "@grpc/proto-loader": "^0.6.1", - "@types/long": "^4.0.0", - "abort-controller": "^3.0.0", - "duplexify": "^4.0.0", - "fast-text-encoding": "^1.0.3", - "google-auth-library": "^7.6.1", - "is-stream-ended": "^0.1.4", - "node-fetch": "^2.6.1", - "object-hash": "^2.1.1", - "proto3-json-serializer": "^0.1.1", - "protobufjs": "6.11.2", - "retry-request": "^4.0.0" - } - }, - "google-p12-pem": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.2.tgz", - "integrity": "sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "gtoken": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz", - "integrity": "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==", - "dev": true, - "requires": { - "gaxios": "^4.0.0", - "google-p12-pem": "^3.0.3", - "jws": "^4.0.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-stream-ended": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", - "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", - "dev": true - }, - "json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "dev": true, - "requires": { - "bignumber.js": "^9.0.0" - } - }, - "jwa": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", - "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", - "dev": true, - "requires": { - "jwa": "^2.0.0", - "safe-buffer": "^5.0.1" - } - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "dev": true - }, - "proto3-json-serializer": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.3.tgz", - "integrity": "sha512-X0DAtxCBsy1NDn84huVFGOFgBslT2gBmM+85nY6/5SOAaCon1jzVNdvi74foIyFvs5CjtSbQsepsM5TsyNhqQw==", - "dev": true - }, - "protobufjs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", - "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "retry-request": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", - "integrity": "sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "extend": "^3.0.2" - } - }, - "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==", - "dev": true - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "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==", - "dev": true - } - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts index 322b3e05dea90..84f8f20cf82ed 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/rudderstack-posthog/index.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' const alias = { @@ -212,7 +212,7 @@ function isValidObject(val: any) { return isObject(val) || Array.isArray(val) || typeof val === 'function' } -type RudderstackMeta = LegacyPluginMeta & { +type RudderstackMeta = LegacyDestinationPluginMeta & { global: { rudderAuthHeader: { headers: { Authorization: string } } writeKey: string @@ -305,8 +305,8 @@ function constructPayload(outPayload: any, inPayload: any, mapping: any, direct }) } -export const rudderstackPlugin: LegacyPlugin = { - id: 'rudderstack', +export const rudderstackPlugin: LegacyDestinationPlugin = { + id: 'rudderstack-posthog-plugin', metadata: metadata as any, onEvent, setupPlugin: setupPlugin as any, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/package-lock.json b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/package-lock.json deleted file mode 100644 index 802fd12f6d5c6..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/package-lock.json +++ /dev/null @@ -1,16614 +0,0 @@ -{ - "name": "@vinovest/posthog-salesforce", - "version": "2.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@vinovest/posthog-salesforce", - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "@posthog/plugin-contrib": "^0.0.5" - }, - "devDependencies": { - "@posthog/plugin-scaffold": "1.4.2", - "@types/jest": "^26.0.19", - "@types/node-fetch": "^2.5.8", - "@types/qs": "^6.9.6", - "@typescript-eslint/eslint-plugin": "^4.12.0", - "@typescript-eslint/parser": "^4.12.0", - "eslint": "^7.0.0", - "jest": "^26.6.3", - "lint-staged": "~10.5.3", - "prettier": "^2.2.1", - "rimraf": "^3.0.2", - "standard-version": "^9.3.0", - "ts-jest": "^26.4.4", - "typescript": "^4.1.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "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", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "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": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dev": true, - "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" - } - }, - "node_modules/@babel/traverse/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.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 - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "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" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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, - "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/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "dev": true, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "dev": true, - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "node-notifier": "^8.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "dev": true, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@maxmind/geoip2-node": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz", - "integrity": "sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA==", - "dev": true, - "dependencies": { - "camelcase-keys": "^7.0.0", - "ip6addr": "^0.2.5", - "maxmind": "^4.2.0" - } - }, - "node_modules/@maxmind/geoip2-node/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@maxmind/geoip2-node/node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@maxmind/geoip2-node/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@maxmind/geoip2-node/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@posthog/plugin-contrib": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", - "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==" - }, - "node_modules/@posthog/plugin-scaffold": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.4.2.tgz", - "integrity": "sha512-/VsRg3CfhQvYhxM2O9+gBOzj4K1QJZClY+yple0npL1Jd2nRn2nT4z7dlPSidTPZvdpFs0+hrnF+m4Kxf1NFvQ==", - "dev": true, - "dependencies": { - "@maxmind/geoip2-node": "^3.4.0" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", - "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", - "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", - "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", - "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "26.0.20", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", - "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", - "dev": true, - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.14.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", - "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==", - "dev": true - }, - "node_modules/@types/node-fetch": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", - "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/node-fetch/node_modules/form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", - "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.13.0.tgz", - "integrity": "sha512-ygqDUm+BUPvrr0jrXqoteMqmIaZ/bixYOc3A4BRwzEPTZPi6E+n44rzNZWaB0YvtukgP+aoj0i/fyx7FkM2p1w==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.13.0", - "@typescript-eslint/scope-manager": "4.13.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.13.0.tgz", - "integrity": "sha512-/ZsuWmqagOzNkx30VWYV3MNB/Re/CGv/7EzlqZo5RegBN8tMuPaBgNK6vPBCQA8tcYrbsrTdbx3ixMRRKEEGVw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.13.0", - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/typescript-estree": "4.13.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.13.0.tgz", - "integrity": "sha512-KO0J5SRF08pMXzq9+abyHnaGQgUJZ3Z3ax+pmqz9vl81JxmTTOUfQmq7/4awVfq09b6C4owNlOgOwp61pYRBSg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.13.0", - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/typescript-estree": "4.13.0", - "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.13.0.tgz", - "integrity": "sha512-UpK7YLG2JlTp/9G4CHe7GxOwd93RBf3aHO5L+pfjIrhtBvZjHKbMhBXTIQNkbz7HZ9XOe++yKrXutYm5KmjWgQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/visitor-keys": "4.13.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", - "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz", - "integrity": "sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/visitor-keys": "4.13.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz", - "integrity": "sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.13.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "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" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "dev": true, - "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "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, - "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" - } - }, - "node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "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, - "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, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", - "dev": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "engines": [ - "node >= 6.0" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/conventional-changelog": { - "version": "3.1.24", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", - "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", - "dev": true, - "dependencies": { - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-atom": "^2.0.8", - "conventional-changelog-codemirror": "^2.0.8", - "conventional-changelog-conventionalcommits": "^4.5.0", - "conventional-changelog-core": "^4.2.1", - "conventional-changelog-ember": "^2.0.9", - "conventional-changelog-eslint": "^3.0.9", - "conventional-changelog-express": "^2.0.6", - "conventional-changelog-jquery": "^3.0.11", - "conventional-changelog-jshint": "^2.0.9", - "conventional-changelog-preset-loader": "^2.3.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-atom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", - "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-codemirror": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", - "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-config-spec": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", - "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", - "dev": true - }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", - "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", - "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", - "dev": true, - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.18", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "shelljs": "^0.8.3", - "through2": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/conventional-changelog-core/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==", - "dev": true - }, - "node_modules/conventional-changelog-core/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==", - "dev": true, - "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/conventional-changelog-core/node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/conventional-changelog-ember": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", - "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-eslint": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", - "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-express": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", - "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-jquery": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", - "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", - "dev": true, - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-jshint": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", - "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", - "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", - "dev": true, - "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": 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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "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, - "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 - }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } - }, - "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, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dot-prop/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotgitignore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", - "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dotgitignore/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "once": "^1.4.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==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", - "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "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, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "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, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", - "dev": true - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "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==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", - "dev": true - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "dependencies": { - "null-check": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "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, - "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==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "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, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, - "bin": { - "get-pkg-repo": "cli.js" - } - }, - "node_modules/get-pkg-repo/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "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/get-pkg-repo/node_modules/redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/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, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/get-pkg-repo/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-pkg-repo/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/get-pkg-repo/node_modules/trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", - "dev": true, - "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-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", - "dev": true, - "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/git-semver-tags/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "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 - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/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, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "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==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ip6addr": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", - "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2" - } - }, - "node_modules/ip6addr/node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/ip6addr/node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true, - "optional": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "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, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", - "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", - "dev": true - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "dependencies": { - "text-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "dev": true, - "dependencies": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-changed-files/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, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "dev": true, - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "dev": true, - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "dev": true, - "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "dev": true, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "dev": true, - "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dev": true, - "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "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==", - "dev": true - }, - "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, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "acorn": "^7.1.1", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.2.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", - "domexception": "^2.0.1", - "escodegen": "^1.14.1", - "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", - "nwsapi": "^2.2.0", - "parse5": "5.1.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", - "ws": "^7.2.3", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "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 - }, - "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "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==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=6" - } - }, - "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, - "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, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/lint-staged": { - "version": "10.5.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", - "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lint-staged/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, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/listr2": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz", - "integrity": "sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "figures": "^3.2.0", - "indent-string": "^4.0.0", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rxjs": "^6.6.3", - "through": "^2.3.8" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "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 - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maxmind": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.8.tgz", - "integrity": "sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg==", - "dev": true, - "dependencies": { - "mmdb-lib": "2.0.2", - "tiny-lru": "9.0.3" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "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/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true - }, - "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, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "dev": true, - "dependencies": { - "mime-db": "1.45.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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mmdb-lib": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", - "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", - "dev": true, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "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 - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-notifier": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", - "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", - "dev": true, - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - } - }, - "node_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==", - "dev": true, - "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/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "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": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true, - "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": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, - "node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "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" - } - }, - "node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "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 - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "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, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/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==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "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==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/request-promise-native/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "engines": { - "node": ">=0.12" - } - }, - "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, - "engines": { - "iojs": ">=1.0.0", - "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==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "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 - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/sane/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "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, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "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": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard-version": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.3.0.tgz", - "integrity": "sha512-cYxxKXhYfI3S9+CA84HmrJa9B88H56V5FQ302iFF2TNwJukJCNoU8FgWt+11YtwKFXRkQQFpepC2QOF7aDq2Ow==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "conventional-changelog": "3.1.24", - "conventional-changelog-config-spec": "2.1.0", - "conventional-changelog-conventionalcommits": "4.5.0", - "conventional-recommended-bump": "6.1.0", - "detect-indent": "^6.0.0", - "detect-newline": "^3.1.0", - "dotgitignore": "^2.1.0", - "figures": "^3.1.0", - "find-up": "^5.0.0", - "fs-access": "^1.0.1", - "git-semver-tags": "^4.0.0", - "semver": "^7.1.1", - "stringify-package": "^1.0.1", - "yargs": "^16.0.0" - }, - "bin": { - "standard-version": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard-version/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==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard-version/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==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard-version/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/standard-version/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==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/standard-version/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/standard-version/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard-version/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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard-version/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==", - "dev": true, - "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/standard-version/node_modules/wrap-ansi/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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/standard-version/node_modules/wrap-ansi/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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/standard-version/node_modules/wrap-ansi/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==", - "dev": true - }, - "node_modules/standard-version/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard-version/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard-version/node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/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==", - "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" - } - ] - }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", - "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stringify-package": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", - "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", - "dev": true - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "node_modules/table/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==", - "dev": true - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/tiny-lru": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-9.0.3.tgz", - "integrity": "sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", - "dev": true, - "dependencies": { - "@types/jest": "26.x", - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", - "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "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, - "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, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", - "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uglify-js": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", - "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "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, - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", - "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "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 - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true, - "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/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "requires": { - "@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", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dev": true, - "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "dev": true, - "requires": { - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", - "dev": true - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "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 - } - } - }, - "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@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 - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "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" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "@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, - "requires": { - "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" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true - }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - } - }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - } - }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - } - }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "dev": true, - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - } - }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@maxmind/geoip2-node": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@maxmind/geoip2-node/-/geoip2-node-3.5.0.tgz", - "integrity": "sha512-WG2TNxMwDWDOrljLwyZf5bwiEYubaHuICvQRlgz74lE9OZA/z4o+ZT6OisjDBAZh/yRJVNK6mfHqmP5lLlAwsA==", - "dev": true, - "requires": { - "camelcase-keys": "^7.0.0", - "ip6addr": "^0.2.5", - "maxmind": "^4.2.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "requires": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - } - }, - "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 - }, - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@posthog/plugin-contrib": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz", - "integrity": "sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==" - }, - "@posthog/plugin-scaffold": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@posthog/plugin-scaffold/-/plugin-scaffold-1.4.2.tgz", - "integrity": "sha512-/VsRg3CfhQvYhxM2O9+gBOzj4K1QJZClY+yple0npL1Jd2nRn2nT4z7dlPSidTPZvdpFs0+hrnF+m4Kxf1NFvQ==", - "dev": true, - "requires": { - "@maxmind/geoip2-node": "^3.4.0" - } - }, - "@sinonjs/commons": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", - "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@types/babel__core": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", - "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", - "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", - "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "26.0.20", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", - "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", - "dev": true, - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "@types/node": { - "version": "14.14.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", - "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==", - "dev": true - }, - "@types/node-fetch": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", - "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", - "dev": true, - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/prettier": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", - "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", - "dev": true - }, - "@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.13.0.tgz", - "integrity": "sha512-ygqDUm+BUPvrr0jrXqoteMqmIaZ/bixYOc3A4BRwzEPTZPi6E+n44rzNZWaB0YvtukgP+aoj0i/fyx7FkM2p1w==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.13.0", - "@typescript-eslint/scope-manager": "4.13.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.13.0.tgz", - "integrity": "sha512-/ZsuWmqagOzNkx30VWYV3MNB/Re/CGv/7EzlqZo5RegBN8tMuPaBgNK6vPBCQA8tcYrbsrTdbx3ixMRRKEEGVw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.13.0", - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/typescript-estree": "4.13.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.13.0.tgz", - "integrity": "sha512-KO0J5SRF08pMXzq9+abyHnaGQgUJZ3Z3ax+pmqz9vl81JxmTTOUfQmq7/4awVfq09b6C4owNlOgOwp61pYRBSg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.13.0", - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/typescript-estree": "4.13.0", - "debug": "^4.1.1" - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.13.0.tgz", - "integrity": "sha512-UpK7YLG2JlTp/9G4CHe7GxOwd93RBf3aHO5L+pfjIrhtBvZjHKbMhBXTIQNkbz7HZ9XOe++yKrXutYm5KmjWgQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/visitor-keys": "4.13.0" - } - }, - "@typescript-eslint/types": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", - "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz", - "integrity": "sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.13.0", - "@typescript-eslint/visitor-keys": "4.13.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz", - "integrity": "sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.13.0", - "eslint-visitor-keys": "^2.0.0" - } - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "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 - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "dev": true, - "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "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, - "requires": { - "@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": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "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, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "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, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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 - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true - }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "conventional-changelog": { - "version": "3.1.24", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", - "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", - "dev": true, - "requires": { - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-atom": "^2.0.8", - "conventional-changelog-codemirror": "^2.0.8", - "conventional-changelog-conventionalcommits": "^4.5.0", - "conventional-changelog-core": "^4.2.1", - "conventional-changelog-ember": "^2.0.9", - "conventional-changelog-eslint": "^3.0.9", - "conventional-changelog-express": "^2.0.6", - "conventional-changelog-jquery": "^3.0.11", - "conventional-changelog-jshint": "^2.0.9", - "conventional-changelog-preset-loader": "^2.3.4" - } - }, - "conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-atom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", - "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-codemirror": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", - "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-config-spec": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", - "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", - "dev": true - }, - "conventional-changelog-conventionalcommits": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", - "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, - "conventional-changelog-core": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", - "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", - "dev": true, - "requires": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.18", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "shelljs": "^0.8.3", - "through2": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - } - } - }, - "conventional-changelog-ember": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", - "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-eslint": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", - "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-express": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", - "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-jquery": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", - "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", - "dev": true, - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-jshint": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", - "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true - }, - "conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } - }, - "conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", - "dev": true, - "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" - } - }, - "conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - } - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "requires": { - "@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" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true - }, - "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 - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true - }, - "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, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - }, - "dependencies": { - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - } - } - }, - "dotgitignore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", - "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "minimatch": "^3.0.4" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "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==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", - "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "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, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "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, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", - "dev": true - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "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==", - "dev": true - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "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 - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "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==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "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, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "requires": { - "null-check": "^1.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "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 - }, - "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - } - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", - "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", - "dev": true, - "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - } - }, - "git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", - "dev": true, - "requires": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "requires": { - "ini": "^1.3.2" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "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-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "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==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "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 - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "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, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "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==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ip6addr": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.5.tgz", - "integrity": "sha512-9RGGSB6Zc9Ox5DpDGFnJdIeF0AsqXzdH+FspCfPPaU/L/4tI6P+5lIoFUFm9JXs9IrJv1boqAaNCQmoDADTSKQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2" - }, - "dependencies": { - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true, - "optional": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, - "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==", - "dev": true - }, - "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 - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "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, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", - "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", - "dev": true - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "dev": true, - "requires": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "dependencies": { - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dev": true, - "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - } - } - } - }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "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" - } - }, - "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, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - } - } - }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - } - }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - } - }, - "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "dev": true - }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - } - }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "dev": true, - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - } - }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true - }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "dev": true - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - } - }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - } - }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - } - }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - } - }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "dev": true, - "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "acorn": "^7.1.1", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.2.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", - "domexception": "^2.0.1", - "escodegen": "^1.14.1", - "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", - "nwsapi": "^2.2.0", - "parse5": "5.1.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", - "ws": "^7.2.3", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "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==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "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 - }, - "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "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==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "lint-staged": { - "version": "10.5.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", - "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "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" - } - }, - "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, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - } - } - }, - "listr2": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz", - "integrity": "sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "figures": "^3.2.0", - "indent-string": "^4.0.0", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rxjs": "^6.6.3", - "through": "^2.3.8" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "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, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "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 - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "maxmind": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/maxmind/-/maxmind-4.3.8.tgz", - "integrity": "sha512-HrfxEu5yPBPtTy/OT+W5bPQwEfLUX0EHqe2EbJiB47xQMumHqXvSP7PAwzV8Z++NRCmQwy4moQrTSt0+dH+Jmg==", - "dev": true, - "requires": { - "mmdb-lib": "2.0.2", - "tiny-lru": "9.0.3" - } - }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "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==", - "dev": true - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", - "dev": true - }, - "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "dev": true, - "requires": { - "mime-db": "1.45.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "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==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "mmdb-lib": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mmdb-lib/-/mmdb-lib-2.0.2.tgz", - "integrity": "sha512-shi1I+fCPQonhTi7qyb6hr7hi87R7YS69FlfJiMFuJ12+grx0JyL56gLNzGTYXPU7EhAPkMLliGeyHer0K+AVA==", - "dev": true - }, - "modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "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 - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", - "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", - "dev": true, - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - } - }, - "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==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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 - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - } - } - }, - "null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@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" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "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==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "requires": { - "semver-compare": "^1.0.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "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 - }, - "prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "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 - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "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, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, - "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==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "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, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "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 - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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 - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "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, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "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": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "standard-version": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.3.0.tgz", - "integrity": "sha512-cYxxKXhYfI3S9+CA84HmrJa9B88H56V5FQ302iFF2TNwJukJCNoU8FgWt+11YtwKFXRkQQFpepC2QOF7aDq2Ow==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "conventional-changelog": "3.1.24", - "conventional-changelog-config-spec": "2.1.0", - "conventional-changelog-conventionalcommits": "4.5.0", - "conventional-recommended-bump": "6.1.0", - "detect-indent": "^6.0.0", - "detect-newline": "^3.1.0", - "dotgitignore": "^2.1.0", - "figures": "^3.1.0", - "find-up": "^5.0.0", - "fs-access": "^1.0.1", - "git-semver-tags": "^4.0.0", - "semver": "^7.1.1", - "stringify-package": "^1.0.1", - "yargs": "^16.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "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==", - "dev": true - } - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, - "string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true - }, - "string-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", - "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "stringify-package": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", - "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "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 - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "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 - }, - "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "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 - }, - "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==", - "dev": true - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "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, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, - "tiny-lru": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-9.0.3.tgz", - "integrity": "sha512-/i9GruRjXsnDgehxvy6iZ4AFNVxngEFbwzirhdulomMNPGPVV3ECMZOWSw0w4sRMZ9Al9m4jy08GPvRxRUGYlw==", - "dev": true - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", - "dev": true - }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, - "ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", - "dev": true, - "requires": { - "@types/jest": "26.x", - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "dependencies": { - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", - "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "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, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "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 - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", - "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", - "dev": true - }, - "uglify-js": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.6.tgz", - "integrity": "sha512-rRprLwl8RVaS+Qvx3Wh5hPfPBn9++G6xkGlUupya0s5aDmNjI7z3lnRLB3u7sN4OmbB0pWgzhM9BEJyiWAwtAA==", - "dev": true, - "optional": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "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, - "optional": true - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "v8-to-istanbul": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", - "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "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==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "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==", - "dev": true - } - } -} diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts index 26b07122cc853..2e011c8ec78f2 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts @@ -3,7 +3,7 @@ import { CacheExtension, Properties, RetryError } from '@posthog/plugin-scaffold import type { Response } from 'node-fetch' import { URL } from 'url' -import { LegacyPlugin, LegacyPluginMeta } from '../../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../../types' import metadata from '../plugin.json' export interface EventSink { @@ -48,7 +48,7 @@ export interface SalesforcePluginConfig { eventEndpointMapping: string } -export type SalesforceMeta = LegacyPluginMeta & { +export type SalesforceMeta = LegacyDestinationPluginMeta & { cache: CacheExtension config: SalesforcePluginConfig } @@ -300,8 +300,8 @@ export function getProperties( return mappedProperties } -export const salesforcePlugin: LegacyPlugin = { - id: 'salesforce', +export const salesforcePlugin: LegacyDestinationPlugin = { + id: 'salesforce-plugin', metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts index f9ae449bcb3a3..036890530d9a8 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts @@ -1,9 +1,9 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { LegacyPlugin, LegacyPluginMeta } from '../../types' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): Promise => { +const setupPlugin = async ({ config, global, logger, fetch }: LegacyDestinationPluginMeta): Promise => { // With this call we validate the API Key and also we get the list of custom fields, which will be needed // to configure the map between PostHog and Sendgrid. const fieldsDefResponse = await fetch('https://api.sendgrid.com/v3/marketing/field_definitions', { @@ -47,7 +47,7 @@ const setupPlugin = async ({ config, global, logger, fetch }: LegacyPluginMeta): const onEvent = async ( event: ProcessedPluginEvent, - { config, global, logger, fetch }: LegacyPluginMeta + { config, global, logger, fetch }: LegacyDestinationPluginMeta ): Promise => { if (event.event !== '$identify') { return @@ -148,8 +148,8 @@ function parseCustomFieldsMap(customProps: any): any { return result } -export const sendgridPlugin: LegacyPlugin = { - id: 'sendgrid', +export const sendgridPlugin: LegacyDestinationPlugin = { + id: 'sendgrid-plugin', metadata: metadata as any, setupPlugin: setupPlugin as any, onEvent, diff --git a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap index d92a16fa8d060..1f95c85711c94 100644 --- a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap +++ b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap @@ -11,6 +11,50 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug ] `; +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'hubspot', plugin: [Object] } 1`] = ` +[ + "Executing plugin hubspot", + "Created Hubspot Contact for test@posthog.com", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'hubspot-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin hubspot-plugin", + "Created Hubspot Contact for test@posthog.com", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-avo-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-avo-plugin", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-braze-app', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-braze-app", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-engage-so-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-engage-so-plugin", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-gcs-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-gcs-plugin", + "Plugin execution failed: Plugin posthog-gcs-plugin setup failed: Cannot read properties of undefined (reading 'googleCloudKeyJson')", +] +`; + exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-intercom-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin posthog-intercom-plugin", @@ -19,6 +63,55 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug ] `; +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-laudspeaker-app', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-laudspeaker-app", + "Plugin execution failed: Cannot read properties of undefined (reading 'headers')", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-patterns-app', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-patterns-app", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-plugin-replicator', plugin: [Object] } 1`] = ` +[ + "Executing plugin posthog-plugin-replicator", + "Plugin execution failed: Cannot read properties of undefined (reading 'replace')", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'pubsub-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin pubsub-plugin", + "Plugin execution failed: Plugin pubsub-plugin setup failed: Cannot read properties of undefined (reading 'googleCloudKeyJson')", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'rudderstack-posthog-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin rudderstack-posthog-plugin", + "Execution successful", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'salesforce-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin salesforce-plugin", + "Plugin execution failed: Plugin salesforce-plugin setup failed: If you are not providing an eventEndpointMapping then you must provide events to include.", +] +`; + +exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'sendgrid-plugin', plugin: [Object] } 1`] = ` +[ + "Executing plugin sendgrid-plugin", + "Execution successful", +] +`; + exports[`LegacyPluginExecutorService smoke tests should run the transformation plugin: { name: 'posthog-app-url-parameters-to-event-properties', plugin: [Object] From 6da7e45af721c20a23674d529181471fb8d181a2 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 16:31:06 +0100 Subject: [PATCH 61/76] Removed mock lib --- plugin-server/package.json | 1 - .../test/test.test.ts | 107 +-- .../tests/export-events.test.ts | 846 +++++++++--------- .../posthog-patterns-app/index.test.ts | 104 ++- .../test/test.test.ts | 25 +- 5 files changed, 553 insertions(+), 530 deletions(-) diff --git a/plugin-server/package.json b/plugin-server/package.json index f319726e8cc83..5e113a88839b1 100644 --- a/plugin-server/package.json +++ b/plugin-server/package.json @@ -142,7 +142,6 @@ "eslint-plugin-promise": "^6.1.1", "eslint-plugin-simple-import-sort": "^7.0.0", "jest": "^29.7.0", - "jest-fetch-mock": "^3.0.3", "nodemon": "^2.0.22", "parse-prometheus-text-format": "^1.1.1", "pino-pretty": "^9.1.0", diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/test/test.test.ts index 481791031a5d3..baad2604e2210 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/test/test.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/test/test.test.ts @@ -1,65 +1,66 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import fetchMock from 'jest-fetch-mock' import { onEvent, PaceMetaInput } from '../index' -fetchMock.enableMocks() +describe('Pace: onEvent', () => { + const fetchMock = jest.fn() -beforeEach(() => { - fetchMock.resetMocks() -}) - -const mockEvent: ProcessedPluginEvent = { - uuid: '10000000-0000-4000-0000-000000000000', - team_id: 1, - distinct_id: '1234', - event: 'my-event', - timestamp: new Date().toISOString(), - ip: '127.0.0.1', - properties: { - $ip: '127.0.0.1', - $elements_chain: 'div:nth-child="1"nth-of-type="2"text="text"', - foo: 'bar', - }, -} + beforeEach(() => { + fetchMock.mockReset() + }) -test('all expected endpoint', async () => { - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - api_key: 'i-am-an-api-key', + const mockEvent: ProcessedPluginEvent = { + uuid: '10000000-0000-4000-0000-000000000000', + team_id: 1, + distinct_id: '1234', + event: 'my-event', + timestamp: new Date().toISOString(), + ip: '127.0.0.1', + properties: { + $ip: '127.0.0.1', + $elements_chain: 'div:nth-child="1"nth-of-type="2"text="text"', + foo: 'bar', }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as PaceMetaInput + } + + test('all expected endpoint', async () => { + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + api_key: 'i-am-an-api-key', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as PaceMetaInput - await onEvent(mockEvent, meta) + await onEvent(mockEvent, meta) - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'x-api-key': 'i-am-an-api-key', - }, - body: JSON.stringify({ - data: { - uuid: '10000000-0000-4000-0000-000000000000', - team_id: 1, - distinct_id: '1234', - event: 'my-event', - timestamp: mockEvent.timestamp, - ip: '127.0.0.1', - properties: { - foo: 'bar', - }, + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'x-api-key': 'i-am-an-api-key', }, - }), + body: JSON.stringify({ + data: { + uuid: '10000000-0000-4000-0000-000000000000', + team_id: 1, + distinct_id: '1234', + event: 'my-event', + timestamp: mockEvent.timestamp, + ip: '127.0.0.1', + properties: { + foo: 'bar', + }, + }, + }), + }) }) }) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts index c593e9debb6ba..3a36b5e66a98c 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts @@ -1,416 +1,314 @@ import { RetryError } from '@posthog/plugin-scaffold' -import fetchMock from 'jest-fetch-mock' - -fetchMock.enableMocks() import { BrazePluginMeta, onEvent } from '../index' -beforeEach(() => { - fetchMock.resetMocks() -}) +describe('Braze: export-events', () => { + const fetchMock = jest.fn() -test('onEvent sends $set attributes and events to Braze', async () => { - fetchMock.mockResponses([JSON.stringify({ message: 'success', attributes_processed: 1 }), { status: 200 }]) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-03', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email,name', - eventsToExportUserPropertiesFrom: 'account created', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - await onEvent( - { - event: 'account created', - timestamp: '2023-06-16T00:00:00.00Z', - properties: { - $set: { - email: 'test@posthog', - name: 'Test User', - }, - is_a_demo_user: true, + beforeEach(() => { + fetchMock.mockReset() + }) + + const mockResponse = (response: any, status: number = 200) => { + fetchMock.mockResolvedValueOnce({ + status: status, + json: () => Promise.resolve(response), + }) + } + + test('onEvent sends $set attributes and events to Braze', async () => { + mockResponse({ message: 'success', attributes_processed: 1 }) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-03', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email,name', + eventsToExportUserPropertiesFrom: 'account created', }, - distinct_id: 'test', - ip: '', - team_id: 0, - uuid: 'test-uuid', - elements: [], - }, - meta - ) - - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { - Accept: 'application/json', - Authorization: 'Bearer test-api-key', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - attributes: [ - { - email: 'test@posthog', - name: 'Test User', - external_id: 'test', - }, - ], - events: [ - { - // NOTE: $set properties are filtered out - properties: { - is_a_demo_user: true, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta + + await onEvent( + { + event: 'account created', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', }, - external_id: 'test', - name: 'account created', - time: '2023-06-16T00:00:00.00Z', + is_a_demo_user: true, }, - ], - }), - timeout: 5000, - }) -}) + distinct_id: 'test', + ip: '', + team_id: 0, + uuid: 'test-uuid', + elements: [], + }, + meta + ) -test('onEvent user properties not sent on empty userPropertiesToExport', async () => { - fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-01', - apiKey: 'test-api-key', - eventsToExport: 'account created', - eventsToExportUserPropertiesFrom: 'account created', - userPropertiesToExport: '', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - await onEvent( - { - event: 'account created', - timestamp: '2023-06-16T00:00:00.00Z', - properties: { - $set: { - email: 'test@posthog', - name: 'Test User', - }, - is_a_demo_user: true, + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', }, - distinct_id: 'test', - ip: '', - team_id: 0, - uuid: 'test-uuid', - elements: [], - }, - meta - ) - - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { - Accept: 'application/json', - Authorization: 'Bearer test-api-key', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - attributes: [], - events: [ - { - properties: { - is_a_demo_user: true, + body: JSON.stringify({ + attributes: [ + { + email: 'test@posthog', + name: 'Test User', + external_id: 'test', }, - external_id: 'test', - name: 'account created', - time: '2023-06-16T00:00:00.00Z', - }, - ], - }), - timeout: 5000, + ], + events: [ + { + // NOTE: $set properties are filtered out + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }), + timeout: 5000, + }) }) -}) -test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom', async () => { - fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-01', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email,name', - eventsToExportUserPropertiesFrom: '', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - await onEvent( - { - event: 'account created', - timestamp: '2023-06-16T00:00:00.00Z', - properties: { - $set: { - email: 'test@posthog', - name: 'Test User', - }, - is_a_demo_user: true, + test('onEvent user properties not sent on empty userPropertiesToExport', async () => { + mockResponse({ message: 'success', attributes_processed: 1 }) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-01', + apiKey: 'test-api-key', + eventsToExport: 'account created', + eventsToExportUserPropertiesFrom: 'account created', + userPropertiesToExport: '', }, - distinct_id: 'test', - ip: '', - team_id: 0, - uuid: 'test-uuid', - elements: [], - }, - meta - ) - - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { - Accept: 'application/json', - Authorization: 'Bearer test-api-key', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - attributes: [], - events: [ - { - properties: { - is_a_demo_user: true, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta + + await onEvent( + { + event: 'account created', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', }, - external_id: 'test', - name: 'account created', - time: '2023-06-16T00:00:00.00Z', + is_a_demo_user: true, }, - ], - }), - timeout: 5000, - }) -}) + distinct_id: 'test', + ip: '', + team_id: 0, + uuid: 'test-uuid', + elements: [], + }, + meta + ) -test('onEvent user properties are passed for $identify event even if $identify is not reported', async () => { - fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'EU-01', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email', - eventsToExportUserPropertiesFrom: 'account created,$identify', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - await onEvent( - { - event: '$identify', - timestamp: '2023-06-16T00:00:00.00Z', - properties: { - $set: { - email: 'test@posthog', - name: 'Test User', - }, - is_a_demo_user: true, + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', }, - distinct_id: 'test', - ip: '', - team_id: 0, - uuid: 'test-uuid', - elements: [], - }, - meta - ) - - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { - Accept: 'application/json', - Authorization: 'Bearer test-api-key', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - attributes: [ - { - email: 'test@posthog', - external_id: 'test', - }, - ], - events: [], - }), - timeout: 5000, + body: JSON.stringify({ + attributes: [], + events: [ + { + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }), + timeout: 5000, + }) }) -}) -test('onEvent user properties are not passed for non-whitelisted events', async () => { - fetchMock.mockResponseOnce(JSON.stringify({ message: 'success', attributes_processed: 1 })) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-01', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email', - eventsToExportUserPropertiesFrom: 'account created', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - await onEvent( - { - event: '$identify', - timestamp: '2023-06-16T00:00:00.00Z', - properties: { - $set: { - email: 'test@posthog', - name: 'Test User', + test('onEvent user properties not sent on empty eventsToExportUserPropertiesFrom', async () => { + mockResponse({ message: 'success', attributes_processed: 1 }) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-01', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email,name', + eventsToExportUserPropertiesFrom: '', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta + + await onEvent( + { + event: 'account created', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, }, - is_a_demo_user: true, + distinct_id: 'test', + ip: '', + team_id: 0, + uuid: 'test-uuid', + elements: [], }, - distinct_id: 'test', - ip: '', - team_id: 0, - uuid: 'test-uuid', - elements: [], - }, - meta - ) - - expect(fetchMock.mock.calls.length).toEqual(0) -}) + meta + ) -test('Braze API error (e.g. 400) are not retried', async () => { - // NOTE: We only retry intermittent errors (e.g. 5xx), 4xx errors are most likely going to continue failing if retried + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + attributes: [], + events: [ + { + properties: { + is_a_demo_user: true, + }, + external_id: 'test', + name: 'account created', + time: '2023-06-16T00:00:00.00Z', + }, + ], + }), + timeout: 5000, + }) + }) - const errorResponse = { - errors: [ - { - type: "'external_id' or 'braze_id' or 'user_alias' is required", - input_array: 'attributes', - index: 0, + test('onEvent user properties are passed for $identify event even if $identify is not reported', async () => { + mockResponse({ message: 'success', attributes_processed: 1 }) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'EU-01', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', }, - ], - } + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta - fetchMock.mockResponseOnce(JSON.stringify(errorResponse), { status: 400 }) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-02', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email', - eventsToExportUserPropertiesFrom: 'account created,$identify', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - await onEvent( - { - event: '$identify', - timestamp: '2023-06-16T00:00:00.00Z', - properties: { - $set: { - email: 'test@posthog', - name: 'Test User', + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, }, - is_a_demo_user: true, + distinct_id: 'test', + ip: '', + team_id: 0, + uuid: 'test-uuid', + elements: [], }, - distinct_id: 'test', - ip: '', - team_id: 0, - uuid: 'test-uuid', - elements: [], - }, - meta - ) - - expect(meta.logger.error).toHaveBeenCalledWith( - 'Braze API error (not retried): ', - errorResponse, - '/users/track', - expect.anything(), - expect.any(String) - ) -}) + meta + ) + + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { + Accept: 'application/json', + Authorization: 'Bearer test-api-key', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + attributes: [ + { + email: 'test@posthog', + external_id: 'test', + }, + ], + events: [], + }), + timeout: 5000, + }) + }) + + test('onEvent user properties are not passed for non-whitelisted events', async () => { + mockResponse({ message: 'success', attributes_processed: 1 }) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-01', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta -test('Braze offline error (500 response)', async () => { - fetchMock.mockResponseOnce('{}', { status: 500 }) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-02', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email', - eventsToExportUserPropertiesFrom: 'account created,$identify', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - try { await onEvent( { event: '$identify', @@ -430,36 +328,44 @@ test('Braze offline error (500 response)', async () => { }, meta ) - throw new Error('Should not reach here') - } catch (e) { - expect(e instanceof RetryError).toBeTruthy() - expect(e.message).toMatch('Service is down, retry later. Request ID: ') - } -}) -test('Braze offline error (network error)', async () => { - fetchMock.mockRejectOnce(new Error('Failed to connect')) - - // Create a meta object that we can pass into the onEvent - const meta = { - config: { - brazeEndpoint: 'US-02', - apiKey: 'test-api-key', - eventsToExport: 'account created', - userPropertiesToExport: 'email', - eventsToExportUserPropertiesFrom: 'account created,$identify', - }, - global: {}, - logger: { - error: jest.fn(), - log: jest.fn(), - warn: jest.fn(), - debug: jest.fn(), - }, - fetch: fetchMock as unknown, - } as BrazePluginMeta - - try { + expect(fetchMock.mock.calls.length).toEqual(0) + }) + + test('Braze API error (e.g. 400) are not retried', async () => { + // NOTE: We only retry intermittent errors (e.g. 5xx), 4xx errors are most likely going to continue failing if retried + + const errorResponse = { + errors: [ + { + type: "'external_id' or 'braze_id' or 'user_alias' is required", + input_array: 'attributes', + index: 0, + }, + ], + } + + mockResponse(errorResponse, 400) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-02', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta + await onEvent( { event: '$identify', @@ -479,9 +385,113 @@ test('Braze offline error (network error)', async () => { }, meta ) - throw new Error('Should not reach here') - } catch (e) { - expect(e instanceof RetryError).toBeTruthy() - expect(e.message).toMatch('Fetch failed, retrying.') - } + + expect(meta.logger.error).toHaveBeenCalledWith( + 'Braze API error (not retried): ', + errorResponse, + '/users/track', + expect.anything(), + expect.any(String) + ) + }) + + test('Braze offline error (500 response)', async () => { + mockResponse({ message: 'error' }, 500) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-02', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta + + try { + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + team_id: 0, + uuid: 'test-uuid', + elements: [], + }, + meta + ) + throw new Error('Should not reach here') + } catch (e) { + expect(e instanceof RetryError).toBeTruthy() + expect(e.message).toMatch('Service is down, retry later. Request ID: ') + } + }) + + test('Braze offline error (network error)', async () => { + fetchMock.mockImplementationOnce(() => { + throw new Error('Failed to connect') + }) + + // Create a meta object that we can pass into the onEvent + const meta = { + config: { + brazeEndpoint: 'US-02', + apiKey: 'test-api-key', + eventsToExport: 'account created', + userPropertiesToExport: 'email', + eventsToExportUserPropertiesFrom: 'account created,$identify', + }, + global: {}, + logger: { + error: jest.fn(), + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + }, + fetch: fetchMock as unknown, + } as BrazePluginMeta + + try { + await onEvent( + { + event: '$identify', + timestamp: '2023-06-16T00:00:00.00Z', + properties: { + $set: { + email: 'test@posthog', + name: 'Test User', + }, + is_a_demo_user: true, + }, + distinct_id: 'test', + ip: '', + team_id: 0, + uuid: 'test-uuid', + elements: [], + }, + meta + ) + throw new Error('Should not reach here') + } catch (e) { + expect(e instanceof RetryError).toBeTruthy() + expect(e.message).toMatch('Fetch failed, retrying.') + } + }) }) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts index b06e37765ed72..1181656f7c31c 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts @@ -1,60 +1,68 @@ import { createEvent } from '@posthog/plugin-scaffold/test/utils' -import fetchMock from 'jest-fetch-mock' - -fetchMock.enableMocks() import { onEvent, PatternsMeta, setupPlugin } from './index' const testWebhookUrl = 'https://api-staging.patterns.app/api/app/webhooks/wh1234' -beforeEach(() => { - fetchMock.resetMocks() -}) +describe('Patterns: onEvent', () => { + const fetchMock = jest.fn() -test('onEvent called for event', async () => { - const meta = { - config: { - webhookUrl: testWebhookUrl, - }, - global: {}, - fetch: fetchMock as unknown, - } as PatternsMeta - void setupPlugin(meta) - const event1 = createEvent({ event: '$pageView' }) - - await onEvent(event1, meta) - - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify([event1]), + beforeEach(() => { + fetchMock.mockReset() }) -}) -test('onEvent called for allowed event', async () => { - const meta = { - config: { - webhookUrl: testWebhookUrl, - allowedEventTypes: '$pageView, $autoCapture, $customEvent1', - }, - global: {}, - fetch: fetchMock as unknown, - } as PatternsMeta - void setupPlugin(meta) - - const event = createEvent({ event: '$pageView' }) - void (await onEvent(event, meta)) - expect(fetchMock.mock.calls.length).toEqual(1) - expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) - expect(fetchMock.mock.calls[0][1]).toEqual({ - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify([event]), + const mockResponse = (response: any, status: number = 200) => { + fetchMock.mockResolvedValueOnce({ + status: status, + json: () => Promise.resolve(response), + }) + } + + test('onEvent called for event', async () => { + const meta = { + config: { + webhookUrl: testWebhookUrl, + }, + global: {}, + fetch: fetchMock as unknown, + } as PatternsMeta + void setupPlugin(meta) + const event1 = createEvent({ event: '$pageView' }) + + await onEvent(event1, meta) + + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify([event1]), + }) }) - const event2 = createEvent({ event: '$pageLeave' }) - await onEvent(event2, meta) - expect(fetchMock.mock.calls.length).toEqual(1) + test('onEvent called for allowed event', async () => { + const meta = { + config: { + webhookUrl: testWebhookUrl, + allowedEventTypes: '$pageView, $autoCapture, $customEvent1', + }, + global: {}, + fetch: fetchMock as unknown, + } as PatternsMeta + void setupPlugin(meta) + + const event = createEvent({ event: '$pageView' }) + void (await onEvent(event, meta)) + expect(fetchMock.mock.calls.length).toEqual(1) + expect(fetchMock.mock.calls[0][0]).toEqual(testWebhookUrl) + expect(fetchMock.mock.calls[0][1]).toEqual({ + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify([event]), + }) + + const event2 = createEvent({ event: '$pageLeave' }) + await onEvent(event2, meta) + expect(fetchMock.mock.calls.length).toEqual(1) + }) }) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts index 5295689adb348..048be6cf3c118 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts @@ -1,10 +1,7 @@ import { RetryError } from '@posthog/plugin-scaffold' -import fetchMock from 'jest-fetch-mock' import { replicatorPlugin } from '../index' -fetchMock.enableMocks() - const captureHost = 'localhost:8000' const config = { @@ -25,14 +22,22 @@ const logger = { debug: jest.fn(), } -describe('payload contents', () => { +describe('Replicator: onEvent', () => { + const fetchMock = jest.fn() + beforeEach(() => { - fetchMock.resetMocks() + fetchMock.mockReset() }) + const mockResponse = (response: any, status: number = 200) => { + fetchMock.mockResolvedValueOnce({ + status: status, + json: () => Promise.resolve(response), + }) + } describe('event pre-processing', () => { it('should handle a single event', async () => { - fetchMock.mockResponses([JSON.stringify({}), { status: 1 }]) + mockResponse({ message: 'success', attributes_processed: 1 }) await replicatorPlugin.onEvent(mockEvent, { config, logger, fetch: fetchMock } as any) expect(fetchMock.mock.calls[0][1]).toEqual({ @@ -55,7 +60,7 @@ describe('payload contents', () => { }) it('should skip ignored events', async () => { - fetchMock.mockResponses([JSON.stringify({}), { status: 1 }]) + mockResponse({ message: 'success', attributes_processed: 1 }) for (const event of mockEventsToIgnore) { await replicatorPlugin.onEvent(event, { config, logger, fetch: fetchMock } as any) } @@ -274,7 +279,7 @@ describe('payload contents', () => { describe('error management', () => { it('succeeds and logs on 200', async () => { - fetchMock.mockResponses([JSON.stringify({}), { status: 200 }]) + mockResponse({}) await replicatorPlugin.onEvent(mockEvent, { config, fetch: fetchMock, @@ -284,7 +289,7 @@ describe('payload contents', () => { }) it('skips and warns without throwing on 400s', async () => { - fetchMock.mockResponses([JSON.stringify({}), { status: 400 }]) + mockResponse({}, 400) await replicatorPlugin.onEvent(mockEvent, { config, fetch: fetchMock, @@ -294,7 +299,7 @@ describe('payload contents', () => { }) it('throws RetryError on 500s', async () => { - fetchMock.mockResponses([JSON.stringify({}), { status: 500 }]) + mockResponse({}, 500) await expect( replicatorPlugin.onEvent(mockEvent, { config, From 0ca66205a7ee15a4e5880cc569bb79d18cd4a6fd Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 16:57:51 +0100 Subject: [PATCH 62/76] Fixes --- .../tests/export-events.test.ts | 1 + .../posthog-patterns-app/index.test.ts | 10 ++++---- .../posthog-plugin-replicator/index.ts | 1 + .../test/test.test.ts | 23 +++++++++++-------- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts index 3a36b5e66a98c..10e8bf8c84f2c 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/tests/export-events.test.ts @@ -13,6 +13,7 @@ describe('Braze: export-events', () => { fetchMock.mockResolvedValueOnce({ status: status, json: () => Promise.resolve(response), + ok: status >= 200 && status < 300, }) } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts index 1181656f7c31c..64717d3263cc7 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-patterns-app/index.test.ts @@ -9,14 +9,12 @@ describe('Patterns: onEvent', () => { beforeEach(() => { fetchMock.mockReset() - }) - const mockResponse = (response: any, status: number = 200) => { - fetchMock.mockResolvedValueOnce({ - status: status, - json: () => Promise.resolve(response), + fetchMock.mockResolvedValue({ + status: 200, + json: () => Promise.resolve({}), }) - } + }) test('onEvent called for event', async () => { const meta = { diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts index a92045f7bace9..a99fa62864f54 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts @@ -84,6 +84,7 @@ const onEvent = async ( // TODO: add a timeout signal to make sure we retry if capture is slow, instead of failing the export }).then( (res) => { + console.log('res', res) if (res.ok) { logger.log(`Flushed ${batchDescription} to ${config.host}`) } else if (res.status >= 500) { diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts index 048be6cf3c118..b3253df8e681e 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/test/test.test.ts @@ -24,20 +24,23 @@ const logger = { describe('Replicator: onEvent', () => { const fetchMock = jest.fn() - - beforeEach(() => { - fetchMock.mockReset() - }) - const mockResponse = (response: any, status: number = 200) => { - fetchMock.mockResolvedValueOnce({ + fetchMock.mockResolvedValue({ status: status, json: () => Promise.resolve(response), + ok: status >= 200 && status < 300, + statusText: status >= 400 ? 'Bad Request' : 'OK', }) } + + beforeEach(() => { + fetchMock.mockReset() + mockResponse({}) + }) + describe('event pre-processing', () => { it('should handle a single event', async () => { - mockResponse({ message: 'success', attributes_processed: 1 }) + mockResponse({}) await replicatorPlugin.onEvent(mockEvent, { config, logger, fetch: fetchMock } as any) expect(fetchMock.mock.calls[0][1]).toEqual({ @@ -60,7 +63,7 @@ describe('Replicator: onEvent', () => { }) it('should skip ignored events', async () => { - mockResponse({ message: 'success', attributes_processed: 1 }) + mockResponse({}) for (const event of mockEventsToIgnore) { await replicatorPlugin.onEvent(event, { config, logger, fetch: fetchMock } as any) } @@ -279,7 +282,7 @@ describe('Replicator: onEvent', () => { describe('error management', () => { it('succeeds and logs on 200', async () => { - mockResponse({}) + mockResponse({}, 200) await replicatorPlugin.onEvent(mockEvent, { config, fetch: fetchMock, @@ -308,7 +311,7 @@ describe('Replicator: onEvent', () => { } as any) ).rejects.toThrow(RetryError) expect(logger.error).toHaveBeenCalledWith( - 'Failed to submit 1 event to localhost:8000 due to server error: 500 Internal Server Error' + 'Failed to submit 1 event to localhost:8000 due to server error: 500 Bad Request' ) }) }) From 1a561a30a87ea84435d8438f215eaa176b2d08eb Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 16:58:24 +0100 Subject: [PATCH 63/76] reset --- plugin-server/pnpm-lock.yaml | 50 +++++++----------------------------- 1 file changed, 9 insertions(+), 41 deletions(-) diff --git a/plugin-server/pnpm-lock.yaml b/plugin-server/pnpm-lock.yaml index bafa2970b028c..3fe330908d628 100644 --- a/plugin-server/pnpm-lock.yaml +++ b/plugin-server/pnpm-lock.yaml @@ -303,9 +303,6 @@ devDependencies: jest: specifier: ^29.7.0 version: 29.7.0(@types/node@16.18.25)(ts-node@10.9.1) - jest-fetch-mock: - specifier: ^3.0.3 - version: 3.0.3 nodemon: specifier: ^2.0.22 version: 2.0.22 @@ -4396,7 +4393,7 @@ packages: detect-libc: 1.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.7.0 + node-fetch: 2.6.9 node-gyp: 9.3.1 nopt: 5.0.0 npmlog: 5.0.1 @@ -5633,14 +5630,6 @@ packages: luxon: 3.4.4 dev: false - /cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6876,7 +6865,7 @@ packages: extend: 3.0.2 https-proxy-agent: 5.0.1 is-stream: 2.0.1 - node-fetch: 2.7.0 + node-fetch: 2.6.9 transitivePeerDependencies: - encoding - supports-color @@ -6889,7 +6878,7 @@ packages: extend: 3.0.2 https-proxy-agent: 5.0.1 is-stream: 2.0.1 - node-fetch: 2.7.0 + node-fetch: 2.6.9 transitivePeerDependencies: - encoding - supports-color @@ -7084,7 +7073,7 @@ packages: fast-text-encoding: 1.0.6 google-auth-library: 8.7.0 is-stream-ended: 0.1.4 - node-fetch: 2.7.0 + node-fetch: 2.6.9 object-hash: 3.0.0 proto3-json-serializer: 1.1.1 protobufjs: 7.2.3 @@ -7917,15 +7906,6 @@ packages: jest-util: 29.7.0 dev: true - /jest-fetch-mock@3.0.3: - resolution: {integrity: sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==} - dependencies: - cross-fetch: 3.2.0 - promise-polyfill: 8.3.0 - transitivePeerDependencies: - - encoding - dev: true - /jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8969,17 +8949,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -9615,10 +9584,6 @@ packages: optional: true dev: false - /promise-polyfill@8.3.0: - resolution: {integrity: sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==} - dev: true - /promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} @@ -10625,7 +10590,7 @@ packages: dependencies: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 + node-fetch: 2.6.9 stream-events: 1.0.5 uuid: 8.3.2 transitivePeerDependencies: @@ -10735,6 +10700,7 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false /transform-ast@2.4.4: resolution: {integrity: sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==} @@ -11178,12 +11144,14 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + dev: false /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -11370,4 +11338,4 @@ packages: resolution: {directory: ../rust/cyclotron-node, type: directory} name: '@posthog/cyclotron' version: 0.1.7 - dev: false + dev: false \ No newline at end of file From ef1429320d68ba0588a594ba0896ca2aecd18f26 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 17:03:36 +0100 Subject: [PATCH 64/76] Fixes --- .../cdp-cyclotron-plugins-worker.test.ts.snap | 2 +- .../_destinations/posthog-laudspeaker-app/index.ts | 2 +- .../_destinations/salesforce/{src => }/index.ts | 4 ++-- plugin-server/src/cdp/legacy-plugins/index.ts | 2 +- .../__snapshots__/legacy-plugin-executor.test.ts.snap | 10 +--------- 5 files changed, 6 insertions(+), 14 deletions(-) rename plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/{src => }/index.ts (99%) diff --git a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap index 3fd61a52e3bf4..2bc3bcfeb2a27 100644 --- a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap +++ b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap @@ -81,7 +81,7 @@ exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'l }, { "level": "error", - "message": "Plugin errored: Cannot read properties of undefined (reading 'headers')", + "message": "Plugin errored: Cannot read properties ssof undefined (reading 'headers')", }, ] `; diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts index d56c4abae54fd..10b13a9666850 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-laudspeaker-app/index.ts @@ -353,6 +353,6 @@ function constructPayload(outPayload: any, inPayload: any, mapping: any, direct export const laudspeakerPlugin: LegacyDestinationPlugin = { id: 'posthog-laudspeaker-app', metadata: metadata as any, - setupPlugin: () => Promise.resolve(), + setupPlugin, onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts index 2e011c8ec78f2..b6ebd82e9a8af 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts @@ -3,8 +3,8 @@ import { CacheExtension, Properties, RetryError } from '@posthog/plugin-scaffold import type { Response } from 'node-fetch' import { URL } from 'url' -import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../../types' -import metadata from '../plugin.json' +import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' +import metadata from './plugin.json' export interface EventSink { salesforcePath: string diff --git a/plugin-server/src/cdp/legacy-plugins/index.ts b/plugin-server/src/cdp/legacy-plugins/index.ts index 5b04ab5b9ce52..3195145c9ba2c 100644 --- a/plugin-server/src/cdp/legacy-plugins/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/index.ts @@ -10,7 +10,7 @@ import { patternsPlugin } from './_destinations/posthog-patterns-app' import { replicatorPlugin } from './_destinations/posthog-plugin-replicator' import { pubsubPlugin } from './_destinations/pubsub' import { rudderstackPlugin } from './_destinations/rudderstack-posthog' -import { salesforcePlugin } from './_destinations/salesforce/src' +import { salesforcePlugin } from './_destinations/salesforce' import { sendgridPlugin } from './_destinations/sendgrid' import { downsamplingPlugin } from './_transformations/downsampling-plugin' import { languageUrlSplitterApp } from './_transformations/language-url-splitter-app' diff --git a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap index 1f95c85711c94..563b91445d537 100644 --- a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap +++ b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap @@ -11,14 +11,6 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug ] `; -exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'hubspot', plugin: [Object] } 1`] = ` -[ - "Executing plugin hubspot", - "Created Hubspot Contact for test@posthog.com", - "Execution successful", -] -`; - exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'hubspot-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin hubspot-plugin", @@ -66,7 +58,7 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-laudspeaker-app', plugin: [Object] } 1`] = ` [ "Executing plugin posthog-laudspeaker-app", - "Plugin execution failed: Cannot read properties of undefined (reading 'headers')", + "Execution successful", ] `; From 068af96317a7c6536e4bc918b9e70035267e1c02 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 17:05:05 +0100 Subject: [PATCH 65/76] Fixes --- .../_destinations/posthog-plugin-replicator/index.ts | 1 - .../src/cdp/legacy-plugins/_destinations/salesforce/index.ts | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts index a99fa62864f54..a92045f7bace9 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts @@ -84,7 +84,6 @@ const onEvent = async ( // TODO: add a timeout signal to make sure we retry if capture is slow, instead of failing the export }).then( (res) => { - console.log('res', res) if (res.ok) { logger.log(`Flushed ${batchDescription} to ${config.host}`) } else if (res.status >= 500) { diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts index b6ebd82e9a8af..25b0346adb87b 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/index.ts @@ -1,8 +1,9 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { CacheExtension, Properties, RetryError } from '@posthog/plugin-scaffold' -import type { Response } from 'node-fetch' import { URL } from 'url' +import type { Response } from '~/src/utils/fetch' + import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' From 0067fa0710cf60bda4647e0649bc2c0838d63dfb Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 17:12:26 +0100 Subject: [PATCH 66/76] Fixes --- .../_destinations/intercom/index.ts | 1 - .../pace-posthog-integration/index.ts | 1 - .../_destinations/posthog-braze-app/index.ts | 1 - .../_destinations/posthog-engage-so/index.ts | 1 - .../posthog-plugin-replicator/index.ts | 1 - .../_destinations/sendgrid/__tests__/index.js | 144 ----------------- .../_destinations/sendgrid/index.test.ts | 153 ++++++++++++++++++ .../_destinations/sendgrid/index.ts | 4 +- 8 files changed, 155 insertions(+), 151 deletions(-) delete mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/__tests__/index.js create mode 100644 plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.test.ts diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/intercom/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/intercom/index.ts index fd7138cdd8062..86c308cbb88ab 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/intercom/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/intercom/index.ts @@ -193,5 +193,4 @@ export const intercomPlugin: LegacyDestinationPlugin = { id: 'posthog-intercom-plugin', metadata: metadata as any, onEvent, - setupPlugin: () => Promise.resolve(), } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts index 37b5a83a0b139..f3ce422039d2b 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/pace-posthog-integration/index.ts @@ -30,6 +30,5 @@ export const onEvent = async (event: ProcessedPluginEvent, { config, fetch }: Pa export const pacePlugin: LegacyDestinationPlugin = { id: 'pace-posthog-integration', metadata: metadata as any, - setupPlugin: () => Promise.resolve(), onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts index d894547f90824..616f53a721da3 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-braze-app/index.ts @@ -212,6 +212,5 @@ export const onEvent = async (pluginEvent: ProcessedPluginEvent, meta: BrazePlug export const brazePlugin: LegacyDestinationPlugin = { id: 'posthog-braze-app', metadata: metadata as any, - setupPlugin: () => Promise.resolve(), onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts index c8fe6f178ad38..ad2ec4cf6eec9 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/index.ts @@ -38,6 +38,5 @@ const onEvent = async (_event: EngagePluginEvent, { config, fetch }: LegacyDesti export const engagePlugin: LegacyDestinationPlugin = { id: 'posthog-engage-so-plugin', metadata: metadata as any, - setupPlugin: () => Promise.resolve(), onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts index a92045f7bace9..44313d14c1b01 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-plugin-replicator/index.ts @@ -118,6 +118,5 @@ const onEvent = async ( export const replicatorPlugin: LegacyDestinationPlugin = { id: 'posthog-plugin-replicator', metadata: metadata as any, - setupPlugin: () => Promise.resolve(), onEvent, } diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/__tests__/index.js b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/__tests__/index.js deleted file mode 100644 index c872bf4d398ec..0000000000000 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/__tests__/index.js +++ /dev/null @@ -1,144 +0,0 @@ -const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils.js') -const { setupPlugin, onEvent } = require('../index') - -global.fetch = jest.fn((url) => ({ - json: () => - url.includes('/field_definitions') - ? { - custom_fields: [ - { id: 'field1', name: 'my_prop1' }, - { id: 'field2', name: 'my_prop2' }, - ], - } - : {}, - status: 200, -})) - -beforeEach(() => { - fetch.mockClear() - - resetMeta({ - config: { - sendgridApiKey: 'SENDGRID_API_KEY', - }, - global: global, - }) -}) - -test('setupPlugin uses sendgridApiKey', async () => { - expect(fetch).toHaveBeenCalledTimes(0) - - await setupPlugin(getMeta()) - expect(fetch).toHaveBeenCalledTimes(1) - expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/field_definitions', { - method: 'GET', - headers: { - Authorization: 'Bearer SENDGRID_API_KEY', - }, - }) -}) - -test('setupPlugin fails if bad customFields format', async () => { - resetMeta({ - config: { - sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'asf=asdf=asf', - }, - }) - - await expect(setupPlugin(getMeta())).rejects.toThrow() -}) - -test('setupPlugin fails if custom field not defined in Sendgrid', async () => { - resetMeta({ - config: { - sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'not_defined_custom_field', - }, - }) - - await expect(setupPlugin(getMeta())).rejects.toThrow() -}) - -test('setupPlugin to accept valid customFields and parse them correctly', async () => { - resetMeta({ - config: { - sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'myProp1=my_prop1,my_prop2', - }, - }) - - await setupPlugin(getMeta()) - const { global } = getMeta() - expect(global.customFieldsMap).toStrictEqual({ - myProp1: 'field1', - my_prop2: 'field2', - }) -}) - -test('onEvent to send contacts with custom fields', async () => { - resetMeta({ - config: { - sendgridApiKey: 'SENDGRID_API_KEY', - customFields: 'myProp1=my_prop1,my_prop2', - }, - }) - - const event = { - event: '$identify', - distinct_id: 'user0@example.org', - $set: { - lastName: 'User0', - }, - } - const event2 = { - event: '$identify', - $set: { - email: 'user1@example.org', - lastName: 'User1', - myProp1: 'foo', - }, - } - - expect(fetch).toHaveBeenCalledTimes(0) - await setupPlugin(getMeta()) - expect(fetch).toHaveBeenCalledTimes(1) - await onEvent(event, getMeta()) - expect(fetch).toHaveBeenCalledTimes(2) - expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/contacts', { - method: 'PUT', - headers: { - Authorization: 'Bearer SENDGRID_API_KEY', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - contacts: [ - { - email: 'user0@example.org', - last_name: 'User0', - custom_fields: {}, - }, - ], - }), - }) - await onEvent(event2, getMeta()) - expect(fetch).toHaveBeenCalledTimes(3) - expect(fetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/contacts', { - method: 'PUT', - headers: { - Authorization: 'Bearer SENDGRID_API_KEY', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - contacts: [ - { - email: 'user1@example.org', - last_name: 'User1', - custom_fields: { - field1: 'foo', - }, - }, - ], - }), - }) -}) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.test.ts new file mode 100644 index 0000000000000..a63ec2f6b386e --- /dev/null +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.test.ts @@ -0,0 +1,153 @@ +import { getMeta, resetMeta } from '@posthog/plugin-scaffold/test/utils.js' + +import { onEvent, setupPlugin } from './index' + +describe('sendgrid', () => { + const mockFetch = jest.fn() + + beforeEach(() => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + }, + global: global, + fetch: mockFetch, + }) + + mockFetch.mockClear() + mockFetch.mockImplementation((url) => ({ + json: () => + url.includes('/field_definitions') + ? { + custom_fields: [ + { id: 'field1', name: 'my_prop1' }, + { id: 'field2', name: 'my_prop2' }, + ], + } + : {}, + status: 200, + })) + }) + + test('setupPlugin uses sendgridApiKey', async () => { + expect(mockFetch).toHaveBeenCalledTimes(0) + + await setupPlugin(getMeta()) + expect(mockFetch).toHaveBeenCalledTimes(1) + expect(mockFetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/field_definitions', { + method: 'GET', + headers: { + Authorization: 'Bearer SENDGRID_API_KEY', + }, + }) + }) + + test('setupPlugin fails if bad customFields format', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'asf=asdf=asf', + }, + fetch: mockFetch, + }) + + await expect(setupPlugin(getMeta())).rejects.toThrow() + }) + + test('setupPlugin fails if custom field not defined in Sendgrid', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'not_defined_custom_field', + }, + fetch: mockFetch, + }) + + await expect(setupPlugin(getMeta())).rejects.toThrow() + }) + + test('setupPlugin to accept valid customFields and parse them correctly', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'myProp1=my_prop1,my_prop2', + }, + fetch: mockFetch, + }) + + await setupPlugin(getMeta()) + const { global } = getMeta() + expect(global.customFieldsMap).toStrictEqual({ + myProp1: 'field1', + my_prop2: 'field2', + }) + }) + + test('onEvent to send contacts with custom fields', async () => { + resetMeta({ + config: { + sendgridApiKey: 'SENDGRID_API_KEY', + customFields: 'myProp1=my_prop1,my_prop2', + }, + fetch: mockFetch, + }) + + const event = { + event: '$identify', + distinct_id: 'user0@example.org', + $set: { + lastName: 'User0', + }, + } + const event2 = { + event: '$identify', + $set: { + email: 'user1@example.org', + lastName: 'User1', + myProp1: 'foo', + }, + } + + expect(mockFetch).toHaveBeenCalledTimes(0) + await setupPlugin(getMeta()) + expect(mockFetch).toHaveBeenCalledTimes(1) + await onEvent(event as any, getMeta()) + expect(mockFetch).toHaveBeenCalledTimes(2) + expect(mockFetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/contacts', { + method: 'PUT', + headers: { + Authorization: 'Bearer SENDGRID_API_KEY', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + contacts: [ + { + email: 'user0@example.org', + last_name: 'User0', + custom_fields: {}, + }, + ], + }), + }) + await onEvent(event2 as any, getMeta()) + expect(mockFetch).toHaveBeenCalledTimes(3) + expect(mockFetch).toHaveBeenCalledWith('https://api.sendgrid.com/v3/marketing/contacts', { + method: 'PUT', + headers: { + Authorization: 'Bearer SENDGRID_API_KEY', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + contacts: [ + { + email: 'user1@example.org', + last_name: 'User1', + custom_fields: { + field1: 'foo', + }, + }, + ], + }), + }) + }) +}) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts index 036890530d9a8..cdbf96c6c8441 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/sendgrid/index.ts @@ -3,7 +3,7 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' import { LegacyDestinationPlugin, LegacyDestinationPluginMeta } from '../../types' import metadata from './plugin.json' -const setupPlugin = async ({ config, global, logger, fetch }: LegacyDestinationPluginMeta): Promise => { +export const setupPlugin = async ({ config, global, logger, fetch }: LegacyDestinationPluginMeta): Promise => { // With this call we validate the API Key and also we get the list of custom fields, which will be needed // to configure the map between PostHog and Sendgrid. const fieldsDefResponse = await fetch('https://api.sendgrid.com/v3/marketing/field_definitions', { @@ -45,7 +45,7 @@ const setupPlugin = async ({ config, global, logger, fetch }: LegacyDestinationP global.customFieldsMap = posthogPropsToSendgridCustomFieldIDsMap } -const onEvent = async ( +export const onEvent = async ( event: ProcessedPluginEvent, { config, global, logger, fetch }: LegacyDestinationPluginMeta ): Promise => { From 52b8317cd317cc500265547574c146f6c1276b60 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 17:13:37 +0100 Subject: [PATCH 67/76] Fixes --- .../salesforce/{src => tests}/configValidation.test.ts | 2 +- .../salesforce/{src => tests}/eventSinkMapping.test.ts | 2 +- .../salesforce/{src => tests}/getProperties.test.ts | 2 +- .../_destinations/salesforce/{src => tests}/onEvent.test.ts | 2 +- .../salesforce/{src => tests}/sendEventToSalesforce.test.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/{src => tests}/configValidation.test.ts (99%) rename plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/{src => tests}/eventSinkMapping.test.ts (99%) rename plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/{src => tests}/getProperties.test.ts (98%) rename plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/{src => tests}/onEvent.test.ts (99%) rename plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/{src => tests}/sendEventToSalesforce.test.ts (98%) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/configValidation.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/configValidation.test.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/configValidation.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/configValidation.test.ts index b8e82a4620f21..3a54d4147ec74 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/configValidation.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/configValidation.test.ts @@ -1,4 +1,4 @@ -import { SalesforceMeta, SalesforcePluginConfig, verifyConfig } from '.' +import { SalesforceMeta, SalesforcePluginConfig, verifyConfig } from '../index' describe('config validation', () => { let config: SalesforcePluginConfig diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/eventSinkMapping.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/eventSinkMapping.test.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/eventSinkMapping.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/eventSinkMapping.test.ts index 0dca1d9a3b199..ff78a9af5052c 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/eventSinkMapping.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/eventSinkMapping.test.ts @@ -8,7 +8,7 @@ import { SalesforcePluginConfig, sendEventToSalesforce, verifyConfig, -} from '.' +} from '../index' const mockFetch = jest.fn() diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/getProperties.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/getProperties.test.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/getProperties.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/getProperties.test.ts index 3a3b4b424bfa6..db0543bd578b3 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/getProperties.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/getProperties.test.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { getProperties } from '.' +import { getProperties } from '../index' describe('filtering by property allow list', () => { describe('filtering', () => { diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/onEvent.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/onEvent.test.ts similarity index 99% rename from plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/onEvent.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/onEvent.test.ts index ffc4f34653db8..a893099c144f1 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/onEvent.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/onEvent.test.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { SalesforceMeta, SalesforcePluginConfig, shouldSendEvent } from '.' +import { SalesforceMeta, SalesforcePluginConfig, shouldSendEvent } from '../index' describe('onEvent', () => { let config: SalesforcePluginConfig diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/sendEventToSalesforce.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/sendEventToSalesforce.test.ts similarity index 98% rename from plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/sendEventToSalesforce.test.ts rename to plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/sendEventToSalesforce.test.ts index 7ceab22b51b01..54c50783608b5 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/src/sendEventToSalesforce.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/salesforce/tests/sendEventToSalesforce.test.ts @@ -1,6 +1,6 @@ import { ProcessedPluginEvent } from '@posthog/plugin-scaffold' -import { SalesforceMeta, SalesforcePluginConfig, sendEventToSalesforce } from '.' +import { SalesforceMeta, SalesforcePluginConfig, sendEventToSalesforce } from '../index' const mockFetch = jest.fn() From 595565f29b30bcd2ddfed787db12cef72fa93e68 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 17:20:14 +0100 Subject: [PATCH 68/76] Fix some tests --- .../cdp-cyclotron-plugins-worker.test.ts.snap | 124 ------------------ .../cdp-cyclotron-plugins-worker.test.ts | 79 ----------- .../hog-transformer.service.test.ts | 28 +++- 3 files changed, 22 insertions(+), 209 deletions(-) diff --git a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap index 2bc3bcfeb2a27..0ed6315e3c7fb 100644 --- a/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap +++ b/plugin-server/src/cdp/consumers/__snapshots__/cdp-cyclotron-plugins-worker.test.ts.snap @@ -43,127 +43,3 @@ exports[`CdpCyclotronWorkerPlugins onEvent should handle and collect errors 3`] }, ] `; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'customerio-plugin', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin customerio-plugin", - }, - { - "level": "info", - "message": "Successfully authenticated with Customer.io. Completing setupPlugin.", - }, - { - "level": "debug", - "message": "Detected email:, test@posthog.com", - }, - { - "level": "debug", - "message": "{"status":{},"email":"test@posthog.com"}", - }, - { - "level": "debug", - "message": "Should customer be tracked:, true", - }, - { - "level": "debug", - "message": "Execution successful", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'laudspeaker', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin laudspeaker", - }, - { - "level": "error", - "message": "Plugin errored: Cannot read properties ssof undefined (reading 'headers')", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'patterns', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin patterns", - }, - { - "level": "debug", - "message": "Execution successful", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'posthog-intercom-plugin', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin posthog-intercom-plugin", - }, - { - "level": "info", - "message": "Contact test@posthog.com in Intercom not found", - }, - { - "level": "debug", - "message": "Execution successful", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'pubsub', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin pubsub", - }, - { - "level": "error", - "message": "Plugin pubsub setup failed: Cannot read properties of undefined (reading 'googleCloudKeyJson')", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'rudderstack', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin rudderstack", - }, - { - "level": "debug", - "message": "Execution successful", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'salesforce', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin salesforce", - }, - { - "level": "error", - "message": "Plugin salesforce setup failed: If you are not providing an eventEndpointMapping then you must provide events to include.", - }, -] -`; - -exports[`CdpCyclotronWorkerPlugins smoke tests should run the plugin: { name: 'sendgrid', plugin: [Object] } 1`] = ` -[ - { - "level": "debug", - "message": "Executing plugin sendgrid", - }, - { - "level": "debug", - "message": "Execution successful", - }, -] -`; diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index 7d9a3743a76ba..17ac9503cd1b5 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -105,40 +105,6 @@ describe('CdpCyclotronWorkerPlugins', () => { jest.useRealTimers() }) - describe('setupPlugin', () => { - it('should setup a plugin on first call', async () => { - jest.spyOn(intercomPlugin, 'setupPlugin') - - const results = processor.processBatch([ - createInvocation(fn, globals), - createInvocation(fn, globals), - createInvocation(fn, globals), - ]) - - expect(await results).toMatchObject([{ finished: true }, { finished: true }, { finished: true }]) - - expect(intercomPlugin.setupPlugin).toHaveBeenCalledTimes(1) - expect(jest.mocked(intercomPlugin.setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` - { - "config": { - "ignoredEmailDomains": "dev.posthog.com", - "intercomApiKey": "1234567890", - "triggeringEvents": "$identify,mycustomevent", - "useEuropeanDataStorage": "No", - }, - "fetch": [Function], - "global": {}, - "logger": { - "debug": [Function], - "error": [Function], - "log": [Function], - "warn": [Function], - }, - } - `) - }) - }) - describe('onEvent', () => { it('should call the plugin onEvent method', async () => { jest.spyOn(intercomPlugin as any, 'onEvent') @@ -276,49 +242,4 @@ describe('CdpCyclotronWorkerPlugins', () => { expect(forSnapshot(getProducedKafkaMessages())).toMatchSnapshot() }) }) - - describe('smoke tests', () => { - const testCases = Object.entries(DESTINATION_PLUGINS_BY_ID).map(([pluginId, plugin]) => ({ - name: pluginId, - plugin, - })) - - it.each(testCases)('should run the plugin: %s', async ({ name, plugin }) => { - globals.event.event = '$identify' // Many plugins filter for this - const invocation = createInvocation(fn, globals) - - invocation.hogFunction.template_id = `plugin-${plugin.id}` - - const inputs: Record = {} - - for (const input of plugin.metadata.config) { - if (!input.key) { - continue - } - - if (input.default) { - inputs[input.key] = input.default - continue - } - - if (input.type === 'choice') { - inputs[input.key] = input.choices[0] - } else if (input.type === 'string') { - inputs[input.key] = 'test' - } - } - - invocation.hogFunction.name = name - await processor.processBatch([invocation]) - - expect( - forSnapshot( - getProducedKafkaMessagesForTopic('log_entries_test').map((m) => ({ - message: m.value.message, - level: m.value.level, - })) - ) - ).toMatchSnapshot() - }) - }) }) diff --git a/plugin-server/src/cdp/hog-transformations/hog-transformer.service.test.ts b/plugin-server/src/cdp/hog-transformations/hog-transformer.service.test.ts index c6ac1925eb6dd..2d25ead7942c8 100644 --- a/plugin-server/src/cdp/hog-transformations/hog-transformer.service.test.ts +++ b/plugin-server/src/cdp/hog-transformations/hog-transformer.service.test.ts @@ -429,8 +429,16 @@ describe('HogTransformer', () => { { "event": null, "messagePromises": [ - Promise {}, - Promise {}, + Promise { + Symbol(async_id_symbol): 13875, + Symbol(trigger_async_id_symbol): 13865, + Symbol(kResourceStore): undefined, + }, + Promise { + Symbol(async_id_symbol): 13891, + Symbol(trigger_async_id_symbol): 13876, + Symbol(kResourceStore): undefined, + }, ], } `) @@ -441,7 +449,7 @@ describe('HogTransformer', () => { const result = await hogTransformer.transformEvent(event) expect(executeSpy).toHaveBeenCalledTimes(1) - expect(result).toMatchInlineSnapshot(` + expect(result.event).toMatchInlineSnapshot(` { "event": { "distinct_id": "distinct-id", @@ -453,13 +461,21 @@ describe('HogTransformer', () => { "$ip": "89.160.20.129", }, "site_url": "http://localhost", - "team_id": ${teamId}, + "team_id": 918643523, "timestamp": "2024-01-01T00:00:00Z", "uuid": "event-id", }, "messagePromises": [ - Promise {}, - Promise {}, + Promise { + Symbol(async_id_symbol): 14765, + Symbol(trigger_async_id_symbol): 14755, + Symbol(kResourceStore): undefined, + }, + Promise { + Symbol(async_id_symbol): 14781, + Symbol(trigger_async_id_symbol): 14766, + Symbol(kResourceStore): undefined, + }, ], } `) From 72fe624e61e40152979252c2508ea9944a32df29 Mon Sep 17 00:00:00 2001 From: Ben White Date: Fri, 31 Jan 2025 17:33:00 +0100 Subject: [PATCH 69/76] Fixes --- .../legacy-plugin-executor.service.ts | 3 +- .../services/legacy-plugin-executor.test.ts | 147 +++++++++++------- 2 files changed, 93 insertions(+), 57 deletions(-) diff --git a/plugin-server/src/cdp/services/legacy-plugin-executor.service.ts b/plugin-server/src/cdp/services/legacy-plugin-executor.service.ts index c98e59a23978a..03537fe0a4e74 100644 --- a/plugin-server/src/cdp/services/legacy-plugin-executor.service.ts +++ b/plugin-server/src/cdp/services/legacy-plugin-executor.service.ts @@ -120,7 +120,8 @@ export class LegacyPluginExecutorService { // Destination plugin can use fetch and is async setupPromise = plugin.setupPlugin({ ...meta, - fetch, + // Setup receives the real fetch always + fetch: this.fetch, }) } } diff --git a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts index c6b05bb58ee85..b58531ed8590b 100644 --- a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts +++ b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts @@ -28,7 +28,7 @@ describe('LegacyPluginExecutorService', () => { let fn: HogFunctionType let mockFetch: jest.Mock - const intercomPlugin = DESTINATION_PLUGINS_BY_ID['posthog-intercom-plugin'] + const customerIoPlugin = DESTINATION_PLUGINS_BY_ID['customerio-plugin'] beforeEach(async () => { hub = await createHub() @@ -38,7 +38,7 @@ describe('LegacyPluginExecutorService', () => { fn = createHogFunction({ name: 'Plugin test', - template_id: `plugin-${intercomPlugin.id}`, + template_id: `plugin-${customerIoPlugin.id}`, }) const fixedTime = DateTime.fromObject({ year: 2025, month: 1, day: 1 }, { zone: 'UTC' }) @@ -75,10 +75,9 @@ describe('LegacyPluginExecutorService', () => { } as any, }), inputs: { - intercomApiKey: '1234567890', - triggeringEvents: '$identify,mycustomevent', - ignoredEmailDomains: 'dev.posthog.com', - useEuropeanDataStorage: 'No', + customerioSiteId: '1234567890', + customerioToken: 'cio-token', + email: 'test@posthog.com', }, } }) @@ -93,7 +92,7 @@ describe('LegacyPluginExecutorService', () => { describe('setupPlugin', () => { it('should setup a plugin on first call', async () => { - jest.spyOn(intercomPlugin, 'setupPlugin') + jest.spyOn(customerIoPlugin, 'setupPlugin') await service.execute(createInvocation(fn, globals)) @@ -107,17 +106,21 @@ describe('LegacyPluginExecutorService', () => { expect(await results).toMatchObject([{ finished: true }, { finished: true }, { finished: true }]) - expect(intercomPlugin.setupPlugin).toHaveBeenCalledTimes(1) - expect(jest.mocked(intercomPlugin.setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` + expect(customerIoPlugin.setupPlugin).toHaveBeenCalledTimes(1) + expect(jest.mocked(customerIoPlugin.setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` { "config": { - "ignoredEmailDomains": "dev.posthog.com", - "intercomApiKey": "1234567890", - "triggeringEvents": "$identify,mycustomevent", - "useEuropeanDataStorage": "No", + "customerioSiteId": "1234567890", + "customerioToken": "cio-token", + "email": "test@posthog.com", }, "fetch": [Function], - "global": {}, + "global": { + "authorizationHeader": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "eventNames": [], + "eventsConfig": "1", + "identifyByEmail": false, + }, "logger": { "debug": [Function], "error": [Function], @@ -131,7 +134,7 @@ describe('LegacyPluginExecutorService', () => { describe('onEvent', () => { it('should call the plugin onEvent method', async () => { - jest.spyOn(intercomPlugin, 'onEvent') + jest.spyOn(customerIoPlugin, 'onEvent') const invocation = createInvocation(fn, globals) invocation.globals.event.event = 'mycustomevent' @@ -146,8 +149,8 @@ describe('LegacyPluginExecutorService', () => { const res = await service.execute(invocation) - expect(intercomPlugin.onEvent).toHaveBeenCalledTimes(1) - expect(forSnapshot(jest.mocked(intercomPlugin.onEvent!).mock.calls[0][0])).toMatchInlineSnapshot(` + expect(customerIoPlugin.onEvent).toHaveBeenCalledTimes(1) + expect(forSnapshot(jest.mocked(customerIoPlugin.onEvent!).mock.calls[0][0])).toMatchInlineSnapshot(` { "distinct_id": "distinct_id", "event": "mycustomevent", @@ -169,49 +172,62 @@ describe('LegacyPluginExecutorService', () => { } `) - expect(mockFetch).toHaveBeenCalledTimes(2) - expect(forSnapshot(mockFetch.mock.calls[0])).toMatchInlineSnapshot(` + // One for setup and then two calls + expect(mockFetch).toHaveBeenCalledTimes(3) + expect(forSnapshot(mockFetch.mock.calls)).toMatchInlineSnapshot(` [ - "https://api.intercom.io/contacts/search", - { - "body": "{"query":{"field":"email","operator":"=","value":"test@posthog.com"}}", - "headers": { - "Accept": "application/json", - "Authorization": "Bearer 1234567890", - "Content-Type": "application/json", + [ + "https://api.customer.io/v1/api/info/ip_addresses", + { + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "User-Agent": "PostHog Customer.io App", + }, + "method": "GET", }, - "method": "POST", - }, - ] - `) - expect(forSnapshot(mockFetch.mock.calls[1])).toMatchInlineSnapshot(` - [ - "https://api.intercom.io/events", - { - "body": "{"event_name":"mycustomevent","created_at":null,"email":"test@posthog.com","id":"distinct_id"}", - "headers": { - "Accept": "application/json", - "Authorization": "Bearer 1234567890", - "Content-Type": "application/json", + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id", + { + "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "PUT", }, - "method": "POST", - }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id/events", + { + "body": "{"name":"mycustomevent","type":"event","timestamp":1735689600,"data":{"email":"test@posthog.com"}}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "POST", + }, + ], ] `) expect(res.finished).toBe(true) expect(res.logs.map((l) => l.message)).toMatchInlineSnapshot(` [ - "Executing plugin posthog-intercom-plugin", - "Contact test@posthog.com in Intercom found", - "Sent event mycustomevent for test@posthog.com to Intercom", + "Executing plugin customerio-plugin", + "Successfully authenticated with Customer.io. Completing setupPlugin.", + "Detected email:, test@posthog.com", + "{"status":{},"email":"test@posthog.com"}", + "Should customer be tracked:, true", "Execution successful", ] `) }) it('should mock out fetch if it is a test function', async () => { - jest.spyOn(intercomPlugin, 'onEvent') + jest.spyOn(customerIoPlugin, 'onEvent') const invocation = createInvocation(fn, globals) invocation.hogFunction.name = 'My function [CDP-TEST-HIDDEN]' @@ -222,22 +238,26 @@ describe('LegacyPluginExecutorService', () => { const res = await service.execute(invocation) - expect(mockFetch).toHaveBeenCalledTimes(0) + // NOTE: Setup call is not mocked + expect(mockFetch).toHaveBeenCalledTimes(1) - expect(intercomPlugin.onEvent).toHaveBeenCalledTimes(1) + expect(customerIoPlugin.onEvent).toHaveBeenCalledTimes(1) expect(forSnapshot(res.logs.map((l) => l.message))).toMatchInlineSnapshot(` [ - "Executing plugin posthog-intercom-plugin", + "Executing plugin customerio-plugin", + "Successfully authenticated with Customer.io. Completing setupPlugin.", + "Detected email:, test@posthog.com", + "{"status":{},"email":"test@posthog.com"}", + "Should customer be tracked:, true", "Fetch called but mocked due to test function", - "Unable to search contact test@posthog.com in Intercom. Status Code: undefined. Error message: ", - "Execution successful", + "Plugin execution failed: Received a potentially intermittent error from the Customer.io API. Response 500: {"message":"Test function"}", ] `) }) it('should handle and collect errors', async () => { - jest.spyOn(intercomPlugin, 'onEvent') + jest.spyOn(customerIoPlugin, 'onEvent') const invocation = createInvocation(fn, globals) invocation.globals.event.event = 'mycustomevent' @@ -245,21 +265,36 @@ describe('LegacyPluginExecutorService', () => { email: 'test@posthog.com', } - mockFetch.mockRejectedValue(new Error('Test error')) + // First fetch is successful (setup) + // Second one not + + mockFetch.mockImplementation((url) => { + if (url.includes('customers')) { + return Promise.resolve({ status: 500, json: () => Promise.resolve({}) }) + } + + return Promise.resolve({ status: 200 }) + }) const res = await service.execute(invocation) - expect(intercomPlugin.onEvent).toHaveBeenCalledTimes(1) + expect(customerIoPlugin.onEvent).toHaveBeenCalledTimes(1) expect(res.error).toBeInstanceOf(Error) expect(forSnapshot(res.logs.map((l) => l.message))).toMatchInlineSnapshot(` [ - "Executing plugin posthog-intercom-plugin", - "Plugin execution failed: Service is down, retry later", + "Executing plugin customerio-plugin", + "Successfully authenticated with Customer.io. Completing setupPlugin.", + "Detected email:, test@posthog.com", + "{"status":{},"email":"test@posthog.com"}", + "Should customer be tracked:, true", + "Plugin execution failed: Received a potentially intermittent error from the Customer.io API. Response 500: {}", ] `) - expect(res.error).toEqual(new Error('Service is down, retry later')) + expect(res.error).toMatchInlineSnapshot( + `[RetryError: Received a potentially intermittent error from the Customer.io API. Response 500: {}]` + ) }) }) From 7ba9bf5e76ee486ef732939098405ff7fd353102 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:45:30 +0100 Subject: [PATCH 70/76] change test file to ts --- .../posthog-engage-so/test/{index.test.js => index.test.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/{index.test.js => index.test.ts} (100%) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.js b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.ts similarity index 100% rename from plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.js rename to plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.ts From 15dc2bc12deafc8f238d3f511be9735015396a4e Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Mon, 3 Feb 2025 11:25:42 +0100 Subject: [PATCH 71/76] fix engage tests --- .../posthog-engage-so/test/index.test.ts | 307 +++++++++--------- 1 file changed, 159 insertions(+), 148 deletions(-) diff --git a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.ts b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.ts index 164e4ce8bc094..0c9a178259043 100644 --- a/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.ts +++ b/plugin-server/src/cdp/legacy-plugins/_destinations/posthog-engage-so/test/index.test.ts @@ -1,166 +1,177 @@ const { getMeta, resetMeta } = require('@posthog/plugin-scaffold/test/utils') const { engagePlugin } = require('../index') -const config = { - publicKey: 'ENGAGE_PUBLIC_KEY', - secret: 'ENGAGE_SEECRET', - filter: 'Send events for all users', -} - -beforeEach(() => { - resetMeta({ - config, - }) -}) -test('composeWebhook to send the correct data for $identify event (user)', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') +describe('sendgrid', () => { + const mockFetch = jest.fn() - const event = { - event: '$identify', - distinct_id: 'user01', - properties: { - $set: { - first_name: 'User', - plan: 'Pro', - }, - $set_once: { - last_name: '01', - }, - token: '[some token]', - distinct_id: '[distinct_id]', - }, - } - - const response = await engagePlugin.onEvent(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth, + beforeEach(() => { + resetMeta({ + config: { + publicKey: 'ENGAGE_PUBLIC_KEY', + secret: 'ENGAGE_SEECRET', + filter: 'Send events for all users', }, - method: 'POST', + global: global, + fetch: mockFetch, }) - ) -}) -test('composeWebhook to send the correct data for $identify event (group)', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') - - const event = { - event: '$groupidentify', - distinct_id: 'user01', - properties: { - $group_type: 'company', - $group_key: 'group123', - $group_set: { - name: 'Group', - }, - }, - } - - const response = await engagePlugin.onEvent(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth, + mockFetch.mockClear() + }) + + test('onEvent to send the correct data for $identify event (user)', async () => { + const meta = getMeta() + const auth = 'Basic ' + Buffer.from(`${meta.config.publicKey}:${meta.config.secret}`).toString('base64') + + const event = { + event: '$identify', + distinct_id: 'user01', + properties: { + $set: { + first_name: 'User', + plan: 'Pro', + }, + $set_once: { + last_name: '01', + }, + token: '[some token]', + distinct_id: '[distinct_id]', }, - method: 'POST', - }) - ) -}) + } -test('composeWebhook to send the correct data to track user event', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + await engagePlugin.onEvent(event, meta) + expect(mockFetch.mock.calls.length).toEqual(1) + expect(mockFetch.mock.calls[0][1]).toEqual( + expect.objectContaining({ + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) + }) + + test('onEvent to send the correct data for $identify event (group)', async () => { + const meta = getMeta() + const auth = 'Basic ' + Buffer.from(`${meta.config.publicKey}:${meta.config.secret}`).toString('base64') - const event = { - event: 'newEvent', - distinct_id: 'user01', - properties: { - $set: { - number: '08012345678', - currency: 'NG', + const event = { + event: '$groupidentify', + distinct_id: 'user01', + properties: { + $group_type: 'company', + $group_key: 'group123', + $group_set: { + name: 'Group', + }, }, - prop1: 'val1', - prop2: 'val2', - }, - } - - const response = await engagePlugin.onEvent(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth, + } + + await engagePlugin.onEvent(event, meta) + expect(mockFetch.mock.calls.length).toEqual(1) + expect(mockFetch.mock.calls[0][1]).toEqual( + expect.objectContaining({ + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) + }) + + test('onEvent to send the correct data to track user event', async () => { + const meta = getMeta() + const auth = 'Basic ' + Buffer.from(`${meta.config.publicKey}:${meta.config.secret}`).toString('base64') + + const event = { + event: 'newEvent', + distinct_id: 'user01', + properties: { + $set: { + number: '08012345678', + currency: 'NG', + }, + prop1: 'val1', + prop2: 'val2', }, - method: 'POST', - }) - ) -}) + } + + await engagePlugin.onEvent(event, meta) + expect(mockFetch.mock.calls.length).toEqual(1) + expect(mockFetch.mock.calls[0][1]).toEqual( + expect.objectContaining({ + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) + }) -test('composeWebhook to send the correct data to track group event', async () => { - const auth = 'Basic ' + Buffer.from(`${config.publicKey}:${config.secret}`).toString('base64') + test('onEvent to send the correct data to track group event', async () => { + const meta = getMeta() + const auth = 'Basic ' + Buffer.from(`${meta.config.publicKey}:${meta.config.secret}`).toString('base64') - const event = { - event: 'Played movie', - distinct_id: 'user01', - properties: { - $groups: { - company: 'group123', + const event = { + event: 'Played movie', + distinct_id: 'user01', + properties: { + $groups: { + company: 'group123', + }, + prop1: 'val1', + prop2: 'val2', }, - prop1: 'val1', - prop2: 'val2', - }, - } - - const response = await engagePlugin.onEvent(event, getMeta()) - expect(response).toEqual( - expect.objectContaining({ - url: 'https://api.engage.so/posthog', - body: JSON.stringify(event), - headers: { - 'Content-Type': 'application/json', - Authorization: auth, + } + + await engagePlugin.onEvent(event, meta) + expect(mockFetch.mock.calls.length).toEqual(1) + expect(mockFetch.mock.calls[0][1]).toEqual( + expect.objectContaining({ + body: JSON.stringify(event), + headers: { + 'Content-Type': 'application/json', + Authorization: auth, + }, + method: 'POST', + }) + ) + }) + + test('onEvent should not track non-custom events besides $identify and $groupidentify', async () => { + const event = { + event: '$pageview', + properties: { + $os: 'Mac OS X', + $lib: 'web', + $host: 'localhost:8000', + $time: 1606383312.494, + token: 'mre13a_SMBv9EwHAtdtTyutyy6AfO00OTPwaalaHPGgKLS', + $browser: 'Chrome', + $user_id: '3erf45reXthrGser675waeHFAsbv4AsadfR', + $pathname: '/instance/status', + $device_id: '17554768afe5cb-0fc915d2a583cf-166f6152-1ea000-175543686ffdc5', + $insert_id: 'hgu2p36uvlc1b9dg', + distinct_id: 'scbbAqF7uyrMmamV4QBzcA1rrm9wHNISdFweZz-mQ0', + $current_url: 'http://localhost:8000/instance/status', + $lib_version: '1.7.0-beta.1', + $screen_width: 1790, + $screen_height: 1120, + posthog_version: '1.17.0', + $browser_version: 86, + $initial_referrer: '$direct', + has_slack_webhook: false, + $active_feature_flags: ['navigation-1775', 'session-recording-player'], + $initial_referring_domain: '$direct', }, - method: 'POST', - }) - ) -}) + } -test('composeWebhook should not track non-custom events besides $identify and $groupidentify', async () => { - const event = { - event: '$pageview', - properties: { - $os: 'Mac OS X', - $lib: 'web', - $host: 'localhost:8000', - $time: 1606383312.494, - token: 'mre13a_SMBv9EwHAtdtTyutyy6AfO00OTPwaalaHPGgKLS', - $browser: 'Chrome', - $user_id: '3erf45reXthrGser675waeHFAsbv4AsadfR', - $pathname: '/instance/status', - $device_id: '17554768afe5cb-0fc915d2a583cf-166f6152-1ea000-175543686ffdc5', - $insert_id: 'hgu2p36uvlc1b9dg', - distinct_id: 'scbbAqF7uyrMmamV4QBzcA1rrm9wHNISdFweZz-mQ0', - $current_url: 'http://localhost:8000/instance/status', - $lib_version: '1.7.0-beta.1', - $screen_width: 1790, - $screen_height: 1120, - posthog_version: '1.17.0', - $browser_version: 86, - $initial_referrer: '$direct', - has_slack_webhook: false, - $active_feature_flags: ['navigation-1775', 'session-recording-player'], - $initial_referring_domain: '$direct', - }, - } - - const response = await engagePlugin.onEvent(event, getMeta()) - expect(response).toBe(null) + await engagePlugin.onEvent(event, getMeta()) + expect(mockFetch.mock.calls.length).toEqual(0) + }) }) From 36b96a5ce1482a1fbd89d8b1a395aa7f9762d4f2 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Mon, 3 Feb 2025 13:25:16 +0100 Subject: [PATCH 72/76] fix merge conflict --- plugin-server/pnpm-lock.yaml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/plugin-server/pnpm-lock.yaml b/plugin-server/pnpm-lock.yaml index 3fe330908d628..3bf218b363efd 100644 --- a/plugin-server/pnpm-lock.yaml +++ b/plugin-server/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -47,8 +47,8 @@ dependencies: specifier: file:../rust/cyclotron-node version: file:../rust/cyclotron-node '@posthog/hogvm': - specifier: ^1.0.66 - version: 1.0.66(luxon@3.4.4) + specifier: ^1.0.67 + version: 1.0.67(luxon@3.4.4) '@posthog/plugin-scaffold': specifier: 1.4.4 version: 1.4.4 @@ -3096,8 +3096,8 @@ packages: engines: {node: '>=12'} dev: false - /@posthog/hogvm@1.0.66(luxon@3.4.4): - resolution: {integrity: sha512-bczn4tB2rXRJVXihkRHGiNT+6ruYRLRtGRf9xhGlZmdFBL/QSJa5/gQqflp5de+N6UMofkyjdX8yvBwiTt3VHw==} + /@posthog/hogvm@1.0.67(luxon@3.4.4): + resolution: {integrity: sha512-kSAtW2rN8z16SOS7PvCfqOBFpg9E+aeuKlkLHaDbUSAG5Rf34n9Nq7t4d4iyfn9YHVTCzFvDGDPvKbbOXg5HBA==} peerDependencies: luxon: ^3.4.4 dependencies: @@ -11337,5 +11337,4 @@ packages: file:../rust/cyclotron-node: resolution: {directory: ../rust/cyclotron-node, type: directory} name: '@posthog/cyclotron' - version: 0.1.7 - dev: false \ No newline at end of file + dev: false From dc81220f62773d882b9912dcd40e1c1f9d0f20d1 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Mon, 3 Feb 2025 13:56:23 +0100 Subject: [PATCH 73/76] fix test --- .../cdp-cyclotron-plugins-worker.test.ts | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts index 4c66d3766f872..17ac9503cd1b5 100644 --- a/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts +++ b/plugin-server/src/cdp/consumers/cdp-cyclotron-plugins-worker.test.ts @@ -105,43 +105,6 @@ describe('CdpCyclotronWorkerPlugins', () => { jest.useRealTimers() }) - describe('setupPlugin', () => { - it('should setup a plugin on first call', async () => { - jest.spyOn(intercomPlugin, 'setupPlugin') - - const results = processor.processBatch([ - createInvocation(fn, globals), - createInvocation(fn, globals), - createInvocation(fn, globals), - ]) - - expect(await results).toMatchObject([{ finished: true }, { finished: true }, { finished: true }]) - - expect(intercomPlugin.setupPlugin).toHaveBeenCalledTimes(1) - expect(jest.mocked(intercomPlugin.setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` - { - "config": { - "ignoredEmailDomains": "dev.posthog.com", - "intercomApiKey": "1234567890", - "triggeringEvents": "$identify,mycustomevent", - "useEuropeanDataStorage": "No", - }, - "fetch": [Function], - "geoip": { - "locate": [Function], - }, - "global": {}, - "logger": { - "debug": [Function], - "error": [Function], - "log": [Function], - "warn": [Function], - }, - } - `) - }) - }) - describe('onEvent', () => { it('should call the plugin onEvent method', async () => { jest.spyOn(intercomPlugin as any, 'onEvent') From d52c9d34b2988431bdfec77c061417c8cefeb0cc Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Mon, 3 Feb 2025 14:56:48 +0100 Subject: [PATCH 74/76] update snapshots --- .../legacy-plugin-executor.test.ts.snap | 2 - .../services/legacy-plugin-executor.test.ts | 157 +++++++++++++++++- 2 files changed, 155 insertions(+), 4 deletions(-) diff --git a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap index 137b77f421fef..92f566a8a5e70 100644 --- a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap +++ b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap @@ -14,7 +14,6 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'hubspot-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin hubspot-plugin", - "Created Hubspot Contact for test@posthog.com", "Execution successful", ] `; @@ -50,7 +49,6 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-intercom-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin posthog-intercom-plugin", - "Contact test@posthog.com in Intercom not found", "Execution successful", ] `; diff --git a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts index 3191e2f3da0f5..e3e40b130efed 100644 --- a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts +++ b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts @@ -114,11 +114,164 @@ describe('LegacyPluginExecutorService', () => { "customerioToken": "cio-token", "email": "test@posthog.com", }, - "fetch": [Function], + "fetch": [MockFunction] { + "calls": [ + [ + "https://api.customer.io/v1/api/info/ip_addresses", + { + "body": undefined, + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "User-Agent": "PostHog Customer.io App", + }, + "method": "GET", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id", + { + "body": "{"email":"test@posthog.com","identifier":"distinct_id"}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "PUT", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id/events", + { + "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "POST", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id", + { + "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "PUT", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id", + { + "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "PUT", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id", + { + "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "PUT", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id/events", + { + "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "POST", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id/events", + { + "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "POST", + }, + ], + [ + "https://track.customer.io/api/v1/customers/distinct_id/events", + { + "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", + "headers": { + "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "Content-Type": "application/json", + "User-Agent": "PostHog Customer.io App", + }, + "method": "POST", + }, + ], + ], + "results": [ + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + { + "type": "return", + "value": Promise {}, + }, + ], + }, "geoip": { "locate": [Function], }, - "global": {}, + "global": { + "authorizationHeader": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", + "eventNames": [], + "eventsConfig": "1", + "identifyByEmail": false, + }, "logger": { "debug": [Function], "error": [Function], From 7a3925cf01d968e64ad9d3cdb4d0b891f7bc34a8 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Mon, 3 Feb 2025 15:22:46 +0100 Subject: [PATCH 75/76] Revert "update snapshots" This reverts commit d52c9d34b2988431bdfec77c061417c8cefeb0cc. --- .../legacy-plugin-executor.test.ts.snap | 2 + .../services/legacy-plugin-executor.test.ts | 157 +----------------- 2 files changed, 4 insertions(+), 155 deletions(-) diff --git a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap index 92f566a8a5e70..137b77f421fef 100644 --- a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap +++ b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap @@ -14,6 +14,7 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'hubspot-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin hubspot-plugin", + "Created Hubspot Contact for test@posthog.com", "Execution successful", ] `; @@ -49,6 +50,7 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-intercom-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin posthog-intercom-plugin", + "Contact test@posthog.com in Intercom not found", "Execution successful", ] `; diff --git a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts index e3e40b130efed..3191e2f3da0f5 100644 --- a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts +++ b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts @@ -114,164 +114,11 @@ describe('LegacyPluginExecutorService', () => { "customerioToken": "cio-token", "email": "test@posthog.com", }, - "fetch": [MockFunction] { - "calls": [ - [ - "https://api.customer.io/v1/api/info/ip_addresses", - { - "body": undefined, - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "User-Agent": "PostHog Customer.io App", - }, - "method": "GET", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id", - { - "body": "{"email":"test@posthog.com","identifier":"distinct_id"}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "PUT", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id/events", - { - "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "POST", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id", - { - "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "PUT", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id", - { - "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "PUT", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id", - { - "body": "{"identifier":"distinct_id","email":"test@posthog.com"}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "PUT", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id/events", - { - "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "POST", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id/events", - { - "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "POST", - }, - ], - [ - "https://track.customer.io/api/v1/customers/distinct_id/events", - { - "body": "{"name":"$pageview","type":"page","timestamp":1735689600,"data":{"$current_url":"https://posthog.com","$lib_version":"1.0.0"}}", - "headers": { - "Authorization": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "Content-Type": "application/json", - "User-Agent": "PostHog Customer.io App", - }, - "method": "POST", - }, - ], - ], - "results": [ - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - { - "type": "return", - "value": Promise {}, - }, - ], - }, + "fetch": [Function], "geoip": { "locate": [Function], }, - "global": { - "authorizationHeader": "Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=", - "eventNames": [], - "eventsConfig": "1", - "identifyByEmail": false, - }, + "global": {}, "logger": { "debug": [Function], "error": [Function], From 6f525a4dd2f759a9c13e67e7f8b776efc12cbc95 Mon Sep 17 00:00:00 2001 From: Ben White Date: Tue, 4 Feb 2025 09:36:09 +0100 Subject: [PATCH 76/76] Fix --- .../legacy-plugin-executor.test.ts.snap | 10 ++--- .../services/legacy-plugin-executor.test.ts | 45 ++++++++++--------- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap index 137b77f421fef..1ec6a97a778b4 100644 --- a/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap +++ b/plugin-server/src/cdp/services/__snapshots__/legacy-plugin-executor.test.ts.snap @@ -4,9 +4,6 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug [ "Executing plugin customerio-plugin", "Successfully authenticated with Customer.io. Completing setupPlugin.", - "Detected email:, test@posthog.com", - "{"status":{},"email":"test@posthog.com"}", - "Should customer be tracked:, true", "Execution successful", ] `; @@ -72,7 +69,8 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'posthog-plugin-replicator', plugin: [Object] } 1`] = ` [ "Executing plugin posthog-plugin-replicator", - "Plugin execution failed: Cannot read properties of undefined (reading 'replace')", + "Skipping 1 event, rejected by test: 200 undefined", + "Execution successful", ] `; @@ -93,14 +91,14 @@ exports[`LegacyPluginExecutorService smoke tests should run the destination plug exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'salesforce-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin salesforce-plugin", - "Plugin execution failed: Plugin salesforce-plugin setup failed: If you are not providing an eventEndpointMapping then you must provide events to include.", + "Plugin execution failed: Plugin salesforce-plugin setup failed: host not a valid URL!", ] `; exports[`LegacyPluginExecutorService smoke tests should run the destination plugin: { name: 'sendgrid-plugin', plugin: [Object] } 1`] = ` [ "Executing plugin sendgrid-plugin", - "Execution successful", + "Plugin execution failed: Plugin sendgrid-plugin setup failed: Custom field with name test is not defined in Sendgrid", ] `; diff --git a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts index 3191e2f3da0f5..c1e379d4b58dd 100644 --- a/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts +++ b/plugin-server/src/cdp/services/legacy-plugin-executor.test.ts @@ -107,26 +107,28 @@ describe('LegacyPluginExecutorService', () => { expect(await results).toMatchObject([{ finished: true }, { finished: true }, { finished: true }]) expect(customerIoPlugin.setupPlugin).toHaveBeenCalledTimes(1) - expect(jest.mocked(customerIoPlugin.setupPlugin!).mock.calls[0][0]).toMatchInlineSnapshot(` - { - "config": { - "customerioSiteId": "1234567890", - "customerioToken": "cio-token", - "email": "test@posthog.com", - }, - "fetch": [Function], - "geoip": { - "locate": [Function], - }, - "global": {}, - "logger": { - "debug": [Function], - "error": [Function], - "log": [Function], - "warn": [Function], - }, - } - `) + expect(jest.mocked(customerIoPlugin.setupPlugin!).mock.calls[0][0]).toMatchObject({ + config: { + customerioSiteId: '1234567890', + customerioToken: 'cio-token', + email: 'test@posthog.com', + }, + geoip: { + locate: expect.any(Function), + }, + global: { + authorizationHeader: 'Basic MTIzNDU2Nzg5MDpjaW8tdG9rZW4=', + eventNames: [], + eventsConfig: '1', + identifyByEmail: false, + }, + logger: { + debug: expect.any(Function), + error: expect.any(Function), + log: expect.any(Function), + warn: expect.any(Function), + }, + }) }) }) @@ -408,6 +410,7 @@ describe('LegacyPluginExecutorService', () => { it.each(testCasesDestination)('should run the destination plugin: %s', async ({ name, plugin }) => { globals.event.event = '$identify' // Many plugins filter for this const invocation = createInvocation(fn, globals) + invocation.globals.inputs = {} invocation.hogFunction.template_id = `plugin-${plugin.id}` @@ -430,7 +433,9 @@ describe('LegacyPluginExecutorService', () => { } } + invocation.globals.inputs = inputs invocation.hogFunction.name = name + const res = await service.execute(invocation) expect(res.logs.map((l) => l.message)).toMatchSnapshot()